用途:midi-synth 用于把 MIDI(.mid)或 MusicXML(.musicxml)转换为音频或 Strudel 实时代码,适合音乐创作与编辑。
主要能力:提供两个脚本——scripts/to_strudel.py 生成带时值标记(如 c3@4)的 Strudel 图案,可直接在 strudel.cc 打开;scripts/render.py 输出 WAV,并可加 --mp3 同时生成 MP3。两者会自动探测同目录下由 audio-to-midi 生成的 *_analysis.json,以获取速度、调性和力度信息。
幽灵音清理:按速度(默认阈 40)、时值(默认 0.05 秒)和调性三层过滤;调性过滤仅移除既偏离调性且力度低于 60 的音符,保留有意的半音段落。可用 --no-clean 关闭,或用 --min-velocity、--min-duration 调整。
常用命令:py -3.12 scripts/to_strudel.py "song.mid" --open;py -3.12 scripts/render.py "song.mid" --soundfont "GeneralUser_GS.sf2" --mp3。渲染支持 --tempo 缩放、--transpose 移调、--instrument 覆盖 GM 音色。
依赖:自动安装 pretty_midi、numpy、soundfile;MusicXML 需 music21。高质量渲染可选 pyfluidsynth 与 .sf2 SoundFont。运行环境为 Python 3.12。限制:仅两种输入格式,具体音质与效果取决于音源;其他平台与收费信息暂未提供。