考虑到所使用的SoundFont,是否可以尽可能准确地将音频分解为MIDI



如果我知道MIDI到音轨使用的SoundFont,理论上我可以将音频反转为(最可能的)MIDI组件吗?如果是这样的话,最好的方法是什么?

最终目标是尝试将音频(甚至是语音样本)编码到MIDI中,这样我就可以比BearFileConverter更好地再现MIDI格式的原始音频。希望能得到比带通滤波器或FFT更好的结果。

不,这不是为了任何有损的音频压缩或纸张转录,这主要是为了我的好奇心。

仅适用于单声道音乐,没有背景音,并且如果您的SoundFont合成引擎和您的唱片采样率完全匹配(同步到1ppm或更高,没有额外效果,也都使用已知的A440参考频率、已知的语调等),然后,您可以尝试使用一组记录音频的互相关与来自先验已知字体的每个MIDI音高的一组合成波形样本,为每个MIDI音符创建统计可能性的时间线。找到音高范围、阈值和峰值选择的局部最大值,以找到最可能的MIDI音符开始时间。

另一种可能性是滑动声音指纹,但计算成本更高。

这在现实生活中失败的原因是采样率不完全匹配,加上增加的噪音、扬声器和房间的声学效果、多路径混响等。对于与自身泛音非常相似的音符波形,你也可能会得到误报。语音样本与任何模板的差异甚至更大。

忘记带通滤波器或寻找FFT幅度峰值,因为这只适用于接近纯正弦波的情况,很少有乐器或有趣的字体听起来像(或像这样无聊)。

最新更新