如果我知道MIDI到音频轨道所使用的SoundFont,理论上我能将音频反转回它(很可能是) MIDI组件吗?如果是这样的话,做这件事的最佳方法是什么?
最终目标是尝试将音频(甚至语音样本)编码到MIDI中,这样我就可以比BearFileConverter更好地以MIDI格式再现原始音频。希望有更好的结果比仅仅带通滤波器或FFT。
不,这不是任何有损音频压缩或单张转录,这主要是为了我的好奇心。
发布于 2017-10-07 23:16:21
对于单声道音乐,没有背景声音,如果你的SoundFont合成引擎和你的录音样本率完全匹配(同步到1 1ppm或更高,没有额外的影响,也使用已知的A440参考频率、已知语调等),那么您可以尝试使用一组录音音频的交叉相关性,以及在每个MIDI音高上从你的先验已知字体中合成的波形样本,为每个中间音创建一个统计概率的时间线。在你的音高范围、阈值和峰值选择上找出局部极大值,以找出最有可能出现MIDI音符的时间。
另一种可能是滑动声音指纹,但计算成本更高。
这在现实生活中失败,因为不完全匹配的采样率,加上额外的噪音,扬声器和房间的声学效果,多路径混响,等等。你也可能得到假阳性的音符波形,是非常类似于他们自己的色调。声音样本与任何模板的差别都更大。
忘记带通滤波器或寻找FFT的幅度峰值,因为这是可靠的工作,只有接近纯粹的正弦波,很少有乐器或有趣的字体听起来像(或一样无聊)。
https://stackoverflow.com/questions/46619126
复制相似问题