用途:将音频文件转写为 MIDI(.mid)与 MusicXML(.musicxml),并生成音乐分析,便于导入 DAW、打谱软件或做进一步分析。
主要能力:脚本 scripts/transcribe.py 封装 Basic Pitch、Demucs、librosa 与 music21,首次运行自动安装依赖;支持多声部识别;可输出分析 JSON,含 tempo_bpm、key、key_confidence、chords、unique_chords、dynamics、spectral、instrument_hints;使用 --stems 时先用 Demucs 分离人声、鼓、贝斯与其他声部,每轨各生成 MIDI 与 MusicXML。
引擎:--engine basic-pitch(默认,适合混合/复调音乐);--engine piano 适合钢琴或键盘,资料称 F1 达 96.7%,能更好处理延音/踏板并减少幽灵音。钢琴曲建议始终用 --engine piano。
用法示例:py -3.12 scripts/transcribe.py "song.mp3";加 --engine piano、--stems、-o ./output、--no-musicxml、--no-analysis,或用 --onset-threshold、--frame-threshold、--min-note-length 调节灵敏度。
输出:song.mid、song.musicxml、song_analysis.json;分轨时为 vocals/drums/bass/other 各自生成 .mid 与 .musicxml。
限制与要求:需 Python 3.12(用 py -3.12 而非 python,Python 3.14 与 ML 包存在兼容问题)与 ffmpeg(用于 MP3 解码);支持 MP3、WAV、FLAC、OGG、M4A、AAC、WMA。默认参数适合干净录音;复杂混音建议 --stems;打击乐可把 onset 阈值降到 0.3–0.4。收费、价格与平台信息资料未提供。