再谈音频到MIDI的转换

Author: 张戈 Date: 1997-01-01

  自从笔者介绍Cakewalk Pro Audio 6.0的文章在《电脑报》发表之后,我的Email信箱就每天爆一次,有大量的Email询问Cakewalk 6.0中音频到MIDI转换的问题。而且我主持的音乐天堂讨论组http:∥www.srsnet.com/richtalk/music也是热闹非凡,很多人认为有了Cakewalk 6.0就可以把现成的很多唱片直接记谱成为MIDI文件,其实这是一种误解。音频到MIDI的转换一直是MIDI技术中的一个难题,现在这个技术已经有了很大的突破,但是距离大家所期盼的要求还有些距离。
  在Cakewalk软件中,音频制MIDI转换功能的英文名叫做Pitch Detector,也就是音高检测。它可以把音频(WAVE)数据中的频率(音高)检测出来,转换为MIDI数据。但是,现在这种技术只能识别单音,也就是独唱或者独奏。如果是复音,如合唱或者和弦就无法正确检测出来。譬如,你在吉它上只弹一根弦是可以识别的,如果你同时弹两根弦以上,或者在弹第二根弦的时候没有将第一根弦制音,Cakewalk 6.0就无法识别。一件乐器尚且如此,那么一个多声部的乐队演出就更无法转换了。所以,直接把CD唱片录成WAVE文件,然后使用Cakewalk一转换就把总谱记录出来的愿望目前还是无法实现的。
  目前比较可行的是转换人声,你可以把你的歌声录制成为WAVE,然后转换为MIDI。但是经过我们多次试验,Cakewalk 6.0的这种转换不如很多人所想象的那么出色,其识别正确率不是特别高。而且,由于软件都是后期处理,无法实时识别,演唱者不能像正常录音时听见实时效果,所以基本上不可能唱出绝对准确的音高,而软件检测出来的音高往往带有很多本来不存在的弯音信息(Pitch Bend),有时候听起来甚至很可笑。
  除了使用软件来完成音频到MIDI转换外,目前新开发出的一些硬件设备在这方面要出色得多。我最新得到的一台吉它MIDI转换器Roland GI-10就很不错。和它配套的一个特制的吉它拾音器GK2A,有六个拾音头装在电吉它的弦下方,可以分别实时地拾取每根弦的震动并加以识别。这样,就可以轻易解决刚才提到的同时弹吉它和弦的问题了。GI-10还可以识别揉弦、推弦和力度的变化,由于它是实时识别音频信号并实时传输MIDI,把它和电脑音乐系统结合起来,就可以代替MIDI键盘输入MIDI信号,这对于从事MIDI创作的吉它手来说简直再方便不过了,因为他没有必要再学弹键盘了。更有趣的是,它还有一个麦克风插座,你可以把麦克风接上,然后对着唱,它可以实时的把你唱的旋律转换成为MIDI信号,然后你可以记录在电脑中或者直接换成一种乐器演奏出来。我不会吹萨克斯,但是使用GI-10,我可以对着麦克风“哼”出《回家》的旋律,但是从扬声器中发出的却是几乎可以乱真的萨克斯声,真是好玩至极!