littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于Arduino框架的自动音舞节奏校准工具

项目简介

本项目是用于测量在Stepmania或其他类似游戏里音频和输入延迟的工具。借助该工具,能客观确定“全局偏移量”,摆脱对个人输入时间技巧的依赖。工具通过连接电脑音频和USB设备,在检测到声音时发送键盘按键。

项目的主要特性和功能

  1. 运用Arduino的Blackpill微控制器接收和处理音频与USB信号。
  2. 可通过Arduino IDE进行编程和代码上传。
  3. 经音频线连接电脑,接收音频信号并转换为键盘按键。
  4. 提供专用测试歌曲(Gloffometer),用于测量和调整全局偏移量。
  5. 能在Stepmania游戏中使用,以调整游戏内的时间偏移量。

安装使用步骤

确保已下载本项目的源代码文件,并安装好相应的软件和硬件。 1. 安装Arduino IDE,下载地址为:https://www.arduino.cc/en/software。 2. 设置STM32duino环境。 3. 配置Arduino项目,参考img/arduinoconfig.png。 4. 连接Blackpill微控制器到电脑,进入DFU模式,详情见步骤描述。 5. 在Arduino IDE中点击“Upload”按钮上传代码,成功上传后,设备上的LED会快速闪烁四次。 6. 连接音频线到电脑和Blackpill设备,参考img/blackpillmeasure.jpg。 7. 将项目文件夹中的“test pack”复制到Stepmania的Songs/目录下,其中包含测试歌曲Gloffometer。 8. 启动歌曲播放,调整阈值参数(代码中的值)以获得最佳效果,尽量将游戏音量调至最大。 9. 在Stepmania中绑定键盘“a”键为左箭头键。 10. 播放测试歌曲,按下Blackpill设备上的“KEY”按钮开始测量,歌曲结束后再次按下“KEY”按钮停止测量。LED灯会在开启和关闭测量时闪烁不同的次数作为提示。 11. 查看测量结果,调整全局偏移量,更详细指导参照img/measureresults.png。注意,Gloffometer歌曲是以ITG标准9ms偏移量制作的,若需无偏移量图表,要根据测量结果调整偏移值。若听歌环境使用房间内扬声器而非耳机,设置全局偏移量时需考虑声音从扬声器传播到耳朵的时间延迟,该延迟约为每秒1100英尺的速度乘以扬声器到耳朵的距离(减去约1.1ms误差)。至此,完成全局偏移量的校准。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】