用途:用代码算法化地创作音乐,输出可下载的 .mp3 文件(而非 HTML 播放器),根据用户请求动态作曲,而非调用预置旋律。
主要能力:提供两条渲染管线。电子管线使用实时合成(DSP)生成鼓、贝斯、Pad、主音,含 deep_house、techno、trance、ambient、acid_house 等风格预设与频率感知混音;传统管线使用 FluidR3_GM.sf2 音色库(141MB,General MIDI)渲染管弦与声学乐器。脚本位于 ./scripts,包括 midi_inventory.py(提取 MIDI 结构为 JSON)、midi_render.py(渲染 JSON 为 MP3)、midi_utils.py、audio_validate.py。
使用方式:运行 install.sh 完成安装(末尾出现 externally-managed-environment 提示属正常,可忽略)。用 music21 作曲,务必用 .insert(offset, note) 而非 .append;导出 MIDI 后必须用 mido 手动插入 program_change 设置音色,否则轨道默认钢琴(program 0);鼓轨需将消息 channel 设为 9(即第 10 通道)。再用 FluidSynth 渲染为 WAV,经 pydub 导出 192k MP3。
适用场景:电子舞曲、House、Techno、古典、管弦、爵士、摇滚、雷鬼等;请求不明确时默认传统管线或向用户确认。
限制:不要使用 TimGM6mb.sf2(音质差);music21 的 instrument 类不能可靠导出音色变更;资料未提供收费、价格与平台信息。