我有关于使用Java进行音乐转录的项目,事情是,我创建了一个记录声音并将其保存到WAV文件的applet,播放器应该只播放他/她想要转录的片段,之后我被卡住了在这一点上,我必须从保存的WAV文件中获取信息并使用此信息创建一个MIDI文件,并在创建MIDI文件后,我必须为它生成一个乐谱(乐谱),所有这些必须完成在Java中.
我到处寻找关于如何完成这些工作的明确解释,但我没有找到任何直接的东西:(因为我是Java的新手,我希望有人能帮我解决这个问题,我在编程时遇到的问题是:
在对正在读取的数据执行分段后,我也尝试过快速傅立叶变换,但我认为这绝对是在错误的方向:(
如果有人可以帮助我完成上面指定的主题,以及如何只用Java编程,那将非常感激:)
顺便说一句,该项目是:
玩家在钢琴上弹奏音符>>记录他的演奏>>玩家获得他演奏的分数.
我最近一直致力于一个程序,该程序可以转录具有单一和单声道乐器的WAV文件,更有可能这个乐器是Vocal.
该程序将给定的WAV文件转换为乐谱或"SCORE".
事情是:
我想在WAV文件中绘制每个音符的乐谱,例如:
WAV文件包含以下注释:
E既不是自然的也不是尖锐的也不是扁平的,它是半平的.
这样的音符可以使用PITCH BEND在MIDI中表示如下:
MIDI表示
NOTE_ON 60 PITCHBEND 25
这意味着按下弯音值为25的有效"C4"的音符编号60使其为C Half-Sharp或C Half-Flat.
使用jMusic,我能够绘制除Half-Flat和Half-Sharp音符之外的所有内容的乐谱.
我使用jMusic以下列模式获取乐谱:
第一阶段:
录音>>样本>>分段>> FFT >> MIDI
第二阶段(使用JMUSIC):
MIDI-TO-SMF >> SMF-TO-SCORE >> NOTATE(SCORE)
我弄清楚jMusic是如何工作的,我发现它在以下目录中使用大小为"18 x 56"的以"GIF格式"保存的图像:"jm.gui.cpn.graphics"
我的问题:如何让jMusic检测到"弯道弯曲值"并绘制相应的半平或半锐的意外?
谢谢大家:)