SAAT 是一个用于在星露谷物语中添加、管理和修改音频轨道的框架,无需使用 HarmonyLib。此外,它旨在改进音频引擎,因为 XNA / MonoGame 的音频引擎在内存管理和支持方面表现不佳。它力求无需 Harmony。你可以从 Github 上的文档中查看如何添加自定义音频轨道的示例。请注意,由于需求较大,我提前发布了这个模组,因此存在“尚未实现”的列表。
当前功能:
[*]允许向星露谷物语添加全新的音乐和音效。
[*]允许将音乐添加到点唱机中。
尚未实现 / 即将推出的功能:
[*]音频信号处理(APS 或 DPS):即将推出的功能,允许音频进行低通、高通、变调、特效等处理,而无需创建另一个轨道。
[*]适当的内存管理:这将是 API 的主要功能。目前,星露谷物语依赖 XNA / MonoGame 来处理音频的内存管理。这种内存管理设计不佳,因为它要么全部加载,要么全部不加载。通常,音频应该分块加载到内存中,而不是一次性全部保留。这会导致非常大的内存消耗。例如,冬季音乐轨道在游戏开始时就被加载到内存中,即使现在是春季。你在游戏的 3/4 时间里都不会听到这些音频轨道,但它们仍然占用内存。注意:此 API / 模组的这一部分将用 C 语言编写。需要原生代码以确保性能。
[*]打包音频格式:结合适当的内存管理,音频将按模组压缩为二进制文件。这样可以实现更快的加载 / 卸载 / 重新加载操作。这不是必需的,但会优化性能,尤其是对于较大的音频文件。
[*]打包音频格式工具包:为了帮助和鼓励内容创作者优化音频性能,将提供一个工具来创建上述打包音频格式。
源代码和文档
当前功能:
[*]允许向星露谷物语添加全新的音乐和音效。
[*]允许将音乐添加到点唱机中。
尚未实现 / 即将推出的功能:
[*]音频信号处理(APS 或 DPS):即将推出的功能,允许音频进行低通、高通、变调、特效等处理,而无需创建另一个轨道。
[*]适当的内存管理:这将是 API 的主要功能。目前,星露谷物语依赖 XNA / MonoGame 来处理音频的内存管理。这种内存管理设计不佳,因为它要么全部加载,要么全部不加载。通常,音频应该分块加载到内存中,而不是一次性全部保留。这会导致非常大的内存消耗。例如,冬季音乐轨道在游戏开始时就被加载到内存中,即使现在是春季。你在游戏的 3/4 时间里都不会听到这些音频轨道,但它们仍然占用内存。注意:此 API / 模组的这一部分将用 C 语言编写。需要原生代码以确保性能。
[*]打包音频格式:结合适当的内存管理,音频将按模组压缩为二进制文件。这样可以实现更快的加载 / 卸载 / 重新加载操作。这不是必需的,但会优化性能,尤其是对于较大的音频文件。
[*]打包音频格式工具包:为了帮助和鼓励内容创作者优化音频性能,将提供一个工具来创建上述打包音频格式。
源代码和文档