Releases: lxl66566/AudioSpeedHack
Releases · lxl66566/AudioSpeedHack
v1.1.0: Critical bug fix on MMDevAPI
v1.0.0 算法大革新
v1 版本并不代表稳定,而是算法的革新。现在不再需要 vb cable 虚拟设备,只需要将 dll 解压到游戏文件夹即可自动实现 SPEEDUP,并且有音质提升。
tested on: (可用版本 V0 代表无法用 V1 加速。MMDevAPI 仍有 bug。)
| DLL | 架构 | 引擎 | 游戏名 | 可用版本 |
|---|---|---|---|---|
| dsound.dll | x86 | BGI | ジュエリー・ハーツ・アカデミア -We will wing wonder world- | ALL |
| dsound.dll | x86 | Kirikiri | 春音 Alice*Gram,白恋 Sakura*Gram | ALL |
| dsound.dll | x86 | Kirikiri | Deep One -ディープワン | ALL |
| dsound.dll | x86 | YU-RIS | 猫忍之心 全系列 | ALL |
| MMDevAPI.dll | x64 | TyranoScript (electron) | 传述之魔女 | V0 |
| MMDevAPI.dll | x64 | Unity | 魔法少女的魔女审判 | ALL |
| MMDevAPI.dll | x64 | LucaSystem | 恋狱~月狂病~ FHD | V0 |
| MMDevAPI.dll | x86 | QLIE | 美少女万華鏡異聞 雪おんな | V0 |
| MMDevAPI.dll | x86 | Silky Engine | ふゆから、くるる。 | V0 |
v0.2.1: fix MMDevAPI x86
V0 README 备份
AudioSpeedHack
背景:SPEED UP!
一个 galgame 小工具,基于 dll 注入 加速 galgame 音频。
基本用法
- 安装 VB-CABLE:下载并解压,执行 VBCABLE_Setup_x64.exe,并点击
Install Driver。 - 从 Github Releases 下载最新的压缩包,解压后放到游戏所在目录。
- 选择 Windows 系统音频输出设备为 CABLE Input (VB-Audio Virtual Cable)。
- 双击执行进入 TUI 模式,选择 解压并启动:
- 解压的 DLL 选择
ALL即可。 - 游戏架构选择
Auto/x64即可,程序会自动检测 exe 文件架构。(fallback x64) - 输入设备选择 CABLE Output (VB-Audio Virtual Cable)。
- 输出设备选择你的实际音频输出设备。
- 速度设为你想要的加速倍率。
- 执行程序选择你的游戏 exe 文件。
- 点击 确认! 启动。
- 解压的 DLL 选择
或者在命令行中执行 AudioSpeedHack -h 查看命令行用法。
原理
本项目的音频加速本质上是让程序加载修改后的 DLL,对音频先加速升调,再降调得到的。
- 音频拦截与加速:本工具内置了一批修改后的 DLL 文件。启动时,工具根据选择的加速倍率,将这些 DLL 释放到游戏根目录,可能还会修改注册表。当游戏运行时,游戏优先加载修改后的 DLL 而非系统默认 DLL。此 DLL 会强制加速音频缓冲区处理,从而提高音频播放速度,但副作用是音调也会随之升高。目前注入了这些 DLL:
dsound.dll,MMDevAPI.dll。 - 音高实时校正:为了解决音调升高的问题,游戏的高音调音频会通过 VB-CABLE Virtual Audio Device 输出。AudioSpeedHack 主程序会捕获来自虚拟声卡的音频流,对其进行实时的音高修正(降调),最后将正常音高、加速后的音频输出到播放设备上。
dll 来源:lxl66566/dsoal, lxl66566/SPEEDUP-dlls
成功实现加速的游戏
于 Windows 11 系统上测试
| DLL | 架构 | 引擎 | 游戏名 |
|---|---|---|---|
| dsound.dll | x86 | Kirikiri | 春音 Alice*Gram,白恋 Sakura*Gram |
| dsound.dll | x86 | Kirikiri | Deep One -ディープワン |
| dsound.dll | x86 | YU-RIS | 猫忍之心 全系列 |
| MMDevAPI.dll | x64 | TyranoScript (electron) | 传述之魔女 |
| MMDevAPI.dll | x64 | Unity | 魔法少女的魔女审判 |
| MMDevAPI.dll | x86 | Silky Engine | ふゆから、くるる。 |
问题排查
如何判断当前游戏是否使用支持的 dll?
可以使用微软官方的 Process Monitor 工具来检查。
- 运行
Procmon64.exe。 - 启动您的游戏,并确保游戏已经播放了一段音频。
- 切换到 Process Monitor 窗口,点击工具栏上的“漏斗”图标 (Filter) 打开筛选器。
- 添加筛选规则:
Process Nameis你的游戏 exePathcontainsdsoundPathcontainsmmdevapi
- 查看结果列表。如果能找到匹配的条目,则说明此工具很可能适用。
我使用特定 speed 时遇到一些问题
并非所有速度都能够正常工作,有可能是 dll 内部限制(dsound 无法在 2.0 倍速以上工作 #2 ),或者是 dll wrapper 的 bug(MMDevAPI 2.3 倍速无声 #5 )。请优先尝试 2.0 倍速以确认加速是否有效。若 2.0 倍速有效而某些其他倍速有问题,请提出 issue。
TODO
本工具还处于极为原始的阶段,欢迎任何形式的贡献(Issue/PR)。
- 支持其他音频 API
- MMDevAPI
- xaudio2
- winmm
- 音质改善
- dsound.dll:注入而非预编译,或者减小 dll 体积
- 更好的 TUI 界面,或 GUI
v0.2.0: mmdevapi
This version adds the MMDevAPI.dll based speedup support; with a series of enhancement such as cache, reg edit and cleaner.
v0.1.0: First usable version
AudioSpeedHack 的首个版本,通过概念验证,可以通过注入基于 dsoal 修改的 dsound.dll 实现一批游戏的音频加速。