Linux中的音高识别
时间:2020-03-06 14:59:36 来源:igfitidea点击:
是否有任何免费软件工具或者组合可以让我识别录制的演唱声调?
想法是在时间线上显示带有当前音高的某种图形以及标准音符(C3,C#3,D等)的标记。我不需要音高校正,也不需要实时进行。
我知道曾经有一个Rosegarden插件可以做到这一点,但是它却不见了。
解决方案
不完全是我们要寻找的东西,但是Singstar看起来像Ultrastar-NG至少可以做到这一点。
http://ultrastar-ng.sourceforge.net/
结帐Audacity。它来自一个进行音高分析的项目。
我不知道有内置的任何软件包。如果我们有兴趣编写类似这样的东西,则需要查看离散傅立叶变换。这会将时间序列样本转换为频率集合。但是,这使我们不知道何时出现各种频率,因此我们必须使用所需时间分辨率的窗口进行窗口傅里叶变换。但是,增加时间分辨率会降低频率分辨率。
最简单的方法是找出任何窗口中最大的频率分量,并将其称为频率。但是真实的音乐(a)有和弦,(b)有泛音和暗调。另外,唱歌经常带有" tremolo",在该位置歌手会改变实际的音高,围绕着音乐所标记的理论音高进行调整。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Praat至少会自动进行复杂声音的音高估计。虽然我不知道它是否可以按照要求标记标准注释。
抢