这个项目能做什么
Basic Pitch是Spotify音频智能实验室开发的自动音乐转录(AMT)Python库。它使用轻量级神经网络将音频文件转换为MIDI,包括音高弯曲信息。该项目与乐器无关,支持复音转录,但最适合一次处理单一乐器。
该库可通过pip安装(`pip install basic-pitch`),并有一个配套的TypeScript仓库用于npm安装。它支持macOS、Windows和Ubuntu,Python版本为3.7至3.11。在Mac M1硬件上,目前仅支持Python 3.10。
Basic Pitch附带多种模型运行时选项:原始TensorFlow模型以及转换为CoreML、TensorFlowLite和ONNX的版本。默认情况下,它根据平台选择运行时——macOS上使用CoreML,Linux上使用TensorFlowLite,Windows上使用ONNX——除非使用Python 3.11+,否则不安装TensorFlow。用户可以通过`pip install basic-pitch[tf]`显式安装TensorFlow。
该库提供命令行界面和编程API。CLI接受输出目录和一个或多个输入音频路径,并可选择将MIDI的音频化版本保存为WAV、原始模型输出保存为NPZ、音符事件保存为CSV。编程API包括`predict()`用于返回模型输出、MIDI数据和音符事件,以及`predict_and_save()`用于协调输出生成。对于重复预测,用户可以加载模型一次并传递给`predict()`,以避免重复加载。
支持的音频格式包括mp3、ogg、wav、flac和m4a。立体声输入会下混为单声道,所有音频会重采样至22050 Hz。模型可以处理任意长度的音频,但非常大的文件可能受可用磁盘空间限制。
Basic Pitch随一篇研究论文发布,该论文在ICASSP 2022上展示,题为“A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation”。演示可在basicpitch.io获取,社区成员开发了名为NeuralNote的VST版本。该项目采用Apache 2.0许可证,欢迎贡献。
评论
0 评分人数达到10人后显示
登录后参与讨论。