news 2026/9/12 11:01:51

ShawzinBot 快速上手:3 步把 MIDI 文件变成游戏内沙温琴演奏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ShawzinBot 快速上手:3 步把 MIDI 文件变成游戏内沙温琴演奏

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:音域窄一些、和弦别太密,效果会更干净。配合转调和速度档位,试错成本很低。

  1. 找一首音域落在 C3–D5 之间的曲子,用 1 倍速完整跑通一遍
  2. 接上 MIDI 键盘,在游戏里手动弹一段,感受实时延迟
  3. 遇到节奏对不上的段落,降到 0.75 倍速,或在编辑器里错开重叠音符

【免费下载链接】ShawzinBotConvert a MIDI input to a series of key presses for the Shawzin项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 11:33:10

Java实现哈密顿路径搜索与正则表达式筛选的算法实践

1. 项目概述:当“玩具蛇”遇上正则表达式最近在整理一些编程练习题时,遇到了一个挺有意思的题目,题目名字就叫“玩具蛇正则问题”。乍一看,这组合有点跨界——“玩具蛇”听起来像是个图形化或者路径搜索的问题,而“正则…

作者头像 李华
网站建设 2026/8/30 8:05:23

低功耗蓝牙MCU与BLE Mesh组网实战:从芯片选型到功耗调优

1. 为什么低功耗和Mesh必须一起谈:BLE Mesh的底层设计逻辑先说一个我两年前遇到的真实项目。某个智能照明方案要覆盖一整层办公楼,大约两百个灯控节点,每个节点靠两节AA电池供电,甲方要求至少撑一年不换电池。当时团队里有人提议用…

作者头像 李华
网站建设 2026/9/2 4:33:33

基于Python与深度学习的滚动轴承智能故障诊断实战指南

简介:在工业预测性维护领域,从设备振动信号中自动识别故障是核心技术挑战。其原理在于,故障会引发特定的振动模式,传统方法依赖专家经验分析频谱图,效率低下且难以应对早期微弱故障。深度学习技术,特别是卷…

作者头像 李华
网站建设 2026/8/31 9:10:51

C#与ONNX Runtime实战:智能素描画生成全流程解析

简介:图像风格转换是计算机视觉领域的重要分支,其核心原理是通过深度学习模型学习从源图像到目标风格的映射关系。编码器-解码器结构常被用于提取高级特征并重建细节,而跳跃连接则能有效保留轮廓信息。ONNX作为开放的模型交换格式&#xff0c…

作者头像 李华
网站建设 2026/8/29 14:17:25

5分钟搭建复杂3D场景:资产库+程序化散布+Python脚本实战

最近在赶一个项目,需要在短时间内搭出好几个完整场景。一开始老老实实手动摆放模型,一个稍微复杂点的场景就耗掉大半天,效率完全跟不上。后来尝试把“资产库 程序化散布 Python 脚本批处理”这套流程串起来,基本上五分钟左右就能…

作者头像 李华
网站建设 2026/9/2 16:24:49

STM32 DAC实战指南:从原理到应用,解决输出振荡与精度问题

1. 从数字到模拟:DAC的核心价值与无处不在的应用 当我们谈论嵌入式系统,尤其是像STM32这样的微控制器时,ADC(模数转换器)常常是讨论的焦点,因为它让我们能“感知”模拟世界。但反过来,如何让数字…

作者头像 李华