ShawzinBot 快速上手:3 步把 MIDI 文件变成游戏内沙温琴演奏
【免费下载链接】ShawzinBotConvert a MIDI input to a series of key presses for the Shawzin项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot
ShawzinBot 是一款把 MIDI 文件或 MIDI 键盘实时信号转换成《Warframe》沙温琴按键的自由工具,适合不会乐器却想在游戏中表演的玩家。你不用背任何键位,加载 .mid 文件后,它会逐音替你按出对应的游戏按键。
🎸 它到底能做什么
沙温琴是《Warframe》里的弦乐器,弹一个音要同时处理音阶、弦位、琴弦三组按键组合。ShawzinBot 拦截 MIDI 流里的每个音符事件,替你自动敲出这套按键。它接收两种来源:本地 .mid / .midi 文件,以及实时 MIDI 输入(MIDI 键盘、虚拟 MIDI 通道均可)。可演奏音域覆盖 C3 到 D5 共 27 个音,底层基于开源的 DryWetMIDI 库读取乐谱。
📋 开始前的准备清单
- 系统:Windows,且已安装 .NET Framework 4.7.2 或更高版本
- 安装:无需安装程序,拿到预编译版本后把文件放在任意目录即可
- 源码获取:克隆仓库(自行编译需要 Visual Studio 与 NuGet 依赖包)
- 一台能启动《Warframe》的电脑:程序只在游戏窗口处于激活状态时才发送按键
git clone https://gitcode.com/gh_mirrors/sh/ShawzinBot第一次使用:三步跑起来
第一步:导入 MIDI 文件
双击 ShawzinBot.exe 启动,点击窗口左上角的文件夹图标,选中一个 .mid 文件。加载成功后,窗口中部显示歌曲名,进度条右侧出现总时长。
第二步:检查设置
底部设置区有颤音、音符转调、扬声器播放三个开关,外加一个速度下拉框(0.25 倍到 2 倍)。默认值即可直接播放。注意:程序显示的音阶必须与你在游戏里用的音阶一致,不一致会导致所有音都跑调。
第三步:播放并验证
点击中央的播放按钮,再切回《Warframe》窗口。游戏窗口聚焦后程序开始发键,进度条随音乐推进,你在游戏里能听到沙温琴奏出旋律。若切出游戏,播放会自动暂停,避免音阶状态漂移。
关键功能与适用场景
多轨道勾选:多轨道文件会在 MIDI Tracks 区域以复选框逐条列出,默认只选第一条。你可以只勾主旋律,游戏里单线条的演奏比整首伴奏更清晰,适合直播展示。
实时设备演奏:在 MIDI Input Device 下拉框选 MIDI 键盘,旁边有刷新按钮。插上设备实时弹奏,游戏内同步发声,适合主播即兴环节。
越界音符转调:Transpose notes 开启时,超出 C3–D5 的音会被自动挪进可演奏范围,网上找到的多数曲目因此能直接播放。
速度调节:0.25、0.5、0.75、1、1.25、1.5、1.75、2 共 8 档。降低速度方便练习难点片段,相关模型见 MidiSpeedModel.cs。
常见问题
点了播放游戏却没声?先确认《Warframe》窗口是否处于激活状态,程序只在游戏窗口聚焦时发键,这是设计行为而非故障。
两个音同时弹出怪怪的?这是沙温琴键位机制的限制,在编曲软件里把这两个音错开几十毫秒即可缓解。
找不到我的 MIDI 键盘?先确认系统能识别设备,再点下拉框旁的刷新按钮。系统层面没枚举到的设备,ShawzinBot 也看不到。
这算作弊吗?它只模拟标准键盘输入,不注入代码、不改内存,窗口不激活时完全不工作,音符到按键的映射逻辑写在 ActionManager.cs 里,可以自行核对。
接下来可以这样玩
ShawzinBot 把"背键位"这道门槛直接绕掉了,剩下的功课主要是准备适合沙温琴的 MIDI:音域窄一些、和弦别太密,效果会更干净。配合转调和速度档位,试错成本很低。
- 找一首音域落在 C3–D5 之间的曲子,用 1 倍速完整跑通一遍
- 接上 MIDI 键盘,在游戏里手动弹一段,感受实时延迟
- 遇到节奏对不上的段落,降到 0.75 倍速,或在编辑器里错开重叠音符
【免费下载链接】ShawzinBotConvert a MIDI input to a series of key presses for the Shawzin项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考