红楼梦十二金钗游戏资源分析(八)

最近实在是没什么精力去研究和整理游戏的资源内容了,趁着还记得, 整理下之前提过但后来没有后续的内容吧,今天我们来看看音频文件。

目录

本系列已完结,以下是各章节说明,17 之前是 dos 版相关,之后是 2001 版:

  1. 背景、简单分析
  2. 显存位置
  3. 事件图保存算法: LZW
  4. 调色板
  5. MGP2
  6. 结局图
  7. 事件图中的眼睛
  8. 音频文件
  9. 按位读取
  10. 循环之前
  11. 读取循环
  12. 重现 LZW
  13. PAT 的图形格式
  14. STAFF 调色板
  15. 字体文件
  16. 脚本解密
  17. 版本比较
  18. 第一张图
  19. 调色板1
  20. 第二张图
  21. 调色板2
  22. 调色板处理
  23. 静态事件图、结局图
  24. 动态图、鉴赏模式

游戏中的音频文件

游戏中有两种形式的音频文件,一种是 CD 音轨,另一种是 AUDIO 目录下的 DWD 文件。

CD 音轨

CD 音轨也是那个时候常用的手段之一,因为那时光驱可以直接播放 CD 音乐, 甚至还有耳机插孔,所以使用 CD 音轨来播放背景音乐,把一部分音频播放工作交给光驱, 是一个变相释放 CPU 算力的选择。游戏共 39 首 CD 音轨:

  1. 開場曲(十二金釵)
  2. 主題曲
  3. 林黛玉主題曲
  4. 傷心的迎春(鏡湖)
  5. 薛寶釵主題曲
  6. 李紈主題曲
  7. 惜春、探春主題曲(武陵春、水月空禪心)
  8. 出遊
  9. 結尾曲
  10. 事件發生(一點凝煙、開門看雨)
  11. 傷心的黛玉(野百合的王)
  12. 墜入愛河(十二金釵)
  13. 王熙鳳主題曲(相思、疏梅弄影)
  14. 史湘雲主題曲
  15. 元春主題曲(岩上無心雲相逐)
  16. 尤二姐主題曲(登軒待月)
  17. 妙玉主題曲(靈山咐囑)
  18. 賈迎春主題曲
  19. 初見李紈(談笑無還期)
  20. 警幻仙子(世外桃源)
  21. 鴛鴦主題曲(山月照彈琴)
  22. 襲人主題曲(西江月、山野幽居)
  23. 晴雯主題曲(歡樂連連)
  24. 賈母主題曲
  25. 柳湘蓮主題曲(雲遊四海)
  26. 清晨(浮生半日閒)
  27. 賈寶玉主題曲(行雲流水)
  28. 黃昏(高枕石頭眠)
  29. 夜晚(明日愁來明日愁)
  30. 寶釵彈琴
  31. 賈政主題曲
  32. 高中狀元(普天同慶)
  33. 神秘道人
  34. 秦鐘主題曲
  35. 書房(春山泉湧)
  36. 秘密(空山靈氣)
  37. 地窖
  38. 鍛煉能力(路)
  39. 要一切是能夠重來(墨荷)

当然使用音轨也不是只有好处没有坏处,最大的问题就在于音画不同步, 对于背景音乐来说这可能不算什么问题,但是开场动画可能很多玩家都会注意到。 我们知道游戏的开场动画其实是无声的,音乐其实来自 CD 音轨, 这个就会有显著的音画同步的问题了,基本可以说不同配置下,每个人看到的开场, 甚至每一次,都可能都会有细小的差别。

DWD 文件

DWD 文件是游戏中用到的音效资源,之前我们也提到过, 这种文件的开头会有一串 DiamondWareDigitized 字符来表明身份, 做法类似 creative 的 voc 文件。基本我们可以推断游戏使用了 diamondware 的音频库。

我们从 archive.org 找到了这个音频库,这是一个安装包, 可以在 dosbox 中「解压」一下,从说明文件和 demo 中我们可以知道这个库有两种格式, 一种是 DWM 格式,这种格式应该是对应 midi,用于播放纯音乐, 我们知道游戏中播放背景音乐是用 CD 音轨,所以也就没有用到这种格式, 同时我们也可以推测另一种原因,因为这是一款中国风游戏, 音乐里用到的乐器多是中国乐器,乐器音色素材库中可能没有这些乐器, 所以游戏只能用 CD 的方式还原背景音乐,另一种就是游戏中用到的 DWD 格式了, 我们前面也提过,这个是音效文件,对应 VOC 格式,用于播放较短的更复杂的声音。

这个音频库据说明文档称是直接用汇编写的,所以应该有不错的性能, 原库也提供了将 voc 文件转换成 dwd 文件的工具,但是没有反向的工具, 所以我们目前没有将文件转换为近代或现代格式的方法。 我对音频处理的知识储备也余额不足,也没打算开坑解析音频。 不过音频库有提供播放 dwd 文件的 demo,所以我们可以敲命令听一听声音:

Untitled

虽然 DOSBox 有报错,但是还是能听个响。00 ~ 68 一共 69 个文件, 具体内容就请大家自行探索吧,注意带好耳机啊。

总结

游戏中的音频内容分为两种,音乐部分以 CD 音轨为载体还原, 而音效部分则使用了 DiamondWare 公司的音频库制作。

感觉往后会越来越忙,个人精力有限,十二金钗的资源分析,先告一段落了, 希望对各位看官有所帮助。回顾下来,基本完成了预期的目标,但是还有些不足, 比如有些 LZW 格式的图形解析还是有问题, 还有就是没有最终整理出一个较为完整的提取工具,希望以后会有时间把这些遗憾补完。