ShawzinBot 3 步上手:如何在 Warframe 里用 MIDI 自动演奏沙温琴
【免费下载链接】ShawzinBotConvert a MIDI input to a series of key presses for the Shawzin项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot
ShawzinBot 是一个把 MIDI 输入转换成《星际战甲》(Warframe)沙温琴按键操作的工具,免费开源。你不需要背谱,也不需要会弹游戏乐器,只要有一份 .mid 文件或一个 MIDI 键盘,就能让游戏里的沙温琴完整演奏曲子,省掉了"逐个音符查按键对照"这一步。
🎼 它凭什么好用:映射表就是全部秘密
ShawzinBot 的核心是一张静态映射表:每个 MIDI 音符编号都被预先记成"音阶位置 + 品(方向键)+ 弦(D1–D3 键)+ 颤音"的按键组合。运行时 DryWetMidi 库负责放 MIDI,程序拦截每一个音符事件,查到对应组合后依次按下音阶切换键、方向键和弦键。音域外(C3–D#5 之外)的音符要么被转调搬进范围内,要么直接跳过。
一个让人放心的细节:每次按键前它都会检查 Warframe 窗口是否在前台。你切出去看视频、回消息,它就不碰你的键盘。整个过程只模拟标准键盘输入,不读内存、不注入代码。
⚙️ 三步跑起来:ShawzinBot 安装与首次运行
第 1 步,拿到程序。从项目 Releases 页下载预编译好的 ShawzinBot.exe 即可;想自己看代码就直接克隆仓库:
git clone https://gitcode.com/gh_mirrors/sh/ShawzinBot第 2 步,环境检查。对着下表核对一遍:
| 项目 | 要求 | 说明 |
|---|---|---|
| 操作系统 | Windows | 程序是 .exe 可执行文件 |
| 运行时 | .NET Framework 4.7.2 及以上 | 系统版本太低时先装运行时 |
| 安装方式 | 无 | 程序文件夹保持完整,双击 ShawzinBot.exe 启动 |
第 3 步,首次运行。点左上角打开一个 .mid 文件,按播放,再 Tab 切回游戏窗口,沙温琴就开始响了。
🎹 核心能力拆解:从 MIDI 输入到按键输出
加载 .mid 文件并播放
支持标准 MIDI 文件播放,默认取第一个音轨;在 "MIDI Tracks" 下拉框里可以换轨。前提是游戏内音阶要和 bot 显示的音阶一致。边界:C3–D#5 之外的音符,需要打开转调才能发声。
接 MIDI 设备实时演奏
系统能枚举到的 MIDI 设备都可以用:电子琴、合成器、虚拟 MIDI 通道。设备下拉框里选中它就能弹,bot 跟着设备实时出键,延迟取决于系统,不额外加东西。
转调、颤音与扬声器调试
右侧三个开关各管一件事:"Transpose notes"把音域外音符搬进范围内,默认开;"Whammy"开启颤音,默认关;"Play MIDI through speakers"从主音箱直接放 MIDI,默认关。最后一个用来不进游戏就先试听效果。
🧪 真实玩法示例:三个能照做的场景
在轨道舱里放一首曲子。前置条件:游戏内把沙温琴音阶调成和 bot 显示一致。操作顺序:打开文件 → 选好音轨 → 点播放 → 切回游戏窗口。全程不用你动手指。
先试听再进游戏。打开"扬声器播放 MIDI",不进游戏听完旋律,和弦不对劲就回 MIDI 编辑器改好再进场,比在游戏里反复重开省时间。
MIDI 键盘即兴。插上键盘,在下拉框里选中设备开始弹,你按什么 bot 出什么键,适合拿新编的曲子试手感。
🔍 踩坑与排查:最常见的三种情况
现象:点了播放没反应。原因:程序只在 Warframe 窗口处于前台时才出键,且游戏内音阶必须一致。 解法:先播放再切到游戏窗口;仍无声音就逐项核对两边音阶。
现象:和弦糊成一团。原因:沙温琴本身不支持真正多音同响,属于乐器限制。 解法:在 MIDI 编辑器里把同时发音的音符错开几毫秒,或改用单旋律音轨。
现象:下拉框里没有你的 MIDI 设备。原因:设备枚举有延迟。 解法:点下拉框右侧的刷新按钮;还不行就去系统 MIDI 设置里确认设备已启用。
🧭 进阶入口
- 音符到按键的映射表与出键逻辑:
ShawzinBot/ActionManager.cs - 音轨、设备模型与主窗口逻辑:
ShawzinBot/ViewModels/MainViewModel.cs - 预编译版本与更新记录:项目 Releases 页
ShawzinBot 把"学会弹沙温琴"变成了一道"打开文件"的题。下一步你可以:先用预编译版放一首简单曲子;打开扬声器播放提前试一首曲;翻一遍映射表,弄清每个音符到底落在哪些键上。
【免费下载链接】ShawzinBotConvert a MIDI input to a series of key presses for the Shawzin项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考