2017-10-07 62 views
1

如果我知道MIDI到音频轨道使用的SoundFont,理论上可以将音频转换回它的(最有可能的)MIDI组件吗?如果是这样,那么做什么是最好的方法之一?鉴于使用的SoundFont,是否可以尽可能准确地将音频分解为MIDI?

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

不,这不适用于任何有损音频压缩或表单转录,这主要是为了我的好奇心。

+2

(1)这可能是在dsp.stackexchange.com站点更好的问题。 (2)这是一个部分未解决的研究课题。对于大量的研究论文,请参阅:http://www.music-ir.org/mirex/wiki/MIREX_HOME – hotpaw2

回答

3

仅适用于单声道音乐,没有背景声音,并且如果SoundFont合成引擎和您的记录采样率完全匹配(同步到1ppm或更高,没有附加效果,并且都使用已知A440参考频率,已知语调等),那么您可以尝试使用您的录音音频的一组交叉相关性与您的先验已知字体的每个MIDI音高的一组合成波形样本进行比较,以创建每个MIDI音符的统计可能性的时间线。查找跨越音高范围,阈值和峰值拾取的局部最大值,以查找最可能的MIDI音符起始时间。

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

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

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

+0

对于最终目标位,只要重新创建原始声音,误报不会成为问题。所以匹配它的泛音可能是件好事? – Sonny6155

+0

误报可能会给你很多可能隐藏原始曲调的注释。 – hotpaw2

相关问题