哪种音频格式在JAVA中更容易使用?MIDI还是MP3?如何从java中的音频文件中提取音符频率?如何能够显示与导入到应用程序的音频音轨有关的吉他选项卡?我可以使用好的java API吗?
在此基础上,提出了一种将信号从原域转换的FFT算法。
发布于 2015-11-01 19:08:58
使用MIDI文件要比使用MP3文件容易得多。Java公开MIDI,MIDI直接将标准键盘音符编码为整数。使用MIDI文件时,不需要对原始音频数据进行任何频率分析。此外,解码MP3需要使用外部库(就JavaFX而言,我可能错了)和音频数据的解压缩,以及是否需要向MP3专利所有者支付许可费的问题。
如果你使用MIDI,转换到吉他标签是相当容易的。例如,MIDI音符值69是A-440,这是第四个字符串,第二个fret。减去12,对于57,你有A-220,这是第二个字符串,是吗?(我可能是倒计时,或者是以八度音阶结束!我不知道吉他的细节。)无论如何,很容易在网上找到图表:注:名称、MIDI号码和频率
有关使用MIDI的更多信息,请参见Java教程:MIDI包概述 --我认为您希望在阅读注释值时注意到ShortMessage.NOTE_ON。
另一方面,加载和回放声音文件比MIDI文件更容易。然而,提取特定乐器的音高所需的分析(尤其是如果有其他乐器也在演奏)远远超出了我所知道的范围。
https://stackoverflow.com/questions/33459795
复制相似问题