だんだんやることがなくなってきたのですが、久しぶりに新機能追加です。Ver.1.50では自動採譜によるMIDIファイル出力機能が実装されました。
これはどういうものかと言いますと、ボーカル抽出機能を利用して取り出したボーカルパートを元にして音高を推定し、MIDIのデータとして出力するものです。いわゆる自動採譜というやつですね。
なぜこれを思いついたのかと言いますと、サイトのアクセス解析から検索キーワードを見ていると「ボーカル除去」よりも「ボーカル抽出」の方が圧倒的に多いことに気づきました。普通の使い方としてはCDからボーカルを消してカラオケとして利用することが思い浮かびますが、これは結構不思議な気がします。ボーカルだけ取り出していったい何をするのだろう?・・と。
長い間その理由がわからなかったのですが、最近になってあることに思い当たりました。それは「ボーカロイド」じゃないか?ということです。いわゆるボカロですね。僕自身はまったく詳しくないのですが、初音ミクなどのソフト音源を使ってかなりリアルに歌わせられるらしいです。今はそういうのがとても流行ってるんですね・・
ボーカロイドに歌わせるためにはMIDIデータを作る必要がありますが、それを作るために市販のCDなどからボーカルだけを取り出し、自動採譜ソフトを使ってMIDIデータに変換する・・・どうやらそういう使い方が浮かび上がってきました。ある程度楽器のできる人なら自分で耳コピした方が早いと思うので、なかなかそういう使い方は思いつかなかったのですが、耳コピの苦手な人は多いらしいので、そういう使い方はむしろ普通のようです。
そこで自動採譜機能を内蔵させれば利用価値が高まるのではないかと考えたわけですが、実際これをやるのはかなり難しいです。自動採譜というのは古くから研究されている分野ですが、未だに完璧な方法というものは確立されておらず、単音ならまだしも複数の音が同時に鳴っている状態はまず不可能に近いです。一応和音まで取れるソフトが市販されたりもしていますが、やはり完全というわけには行かないようで、結局は後から修正が不可欠になります。耳コピというのは人間には簡単にできてもコンピュータにはできない作業の最たるものなんですね・・
ですから完璧を目指すのは初めからあきらめました(笑)。ボーカロイドの場合、要はボーカルパートが取れればいいわけですから、とりあえず単音で音高推定ができれば十分です。そしてボーカル抽出機能でできるだけ余分な音を取り除いてやればある程度使えるのではないかと思ったわけです。
理論的には難しいのでいちいち説明しませんが、文献を読み漁ってとりあえず実装はできました。そして自分で歌ったりして(笑)実験してみましたが、確かに人の声だけだとほぼ正確に取れることはわかりました。ただボーカル抽出機能で取り出した場合は余分な音がかなり混じっているので、やはりうまく行きません。比較的きれいにボーカルが抽出できている場合は何とかメロディーラインが聞き取れますが、少しでも余計な音が混じっているとかなりメチャクチャになってしまいます。まるで前衛音楽を聴いているようですね(苦笑)。特にドラムがガチャガチャと鳴っているような曲はどんなソフトを使っても無理なので、あきらめて耳コピの技術を身に付けた方が早いと思います。(笑)
というわけで、正直言って実用性はほとんどない?と思われますが(苦笑)、これを利用して新たなメロディーを生み出すなどの作曲用途には使えるかも?しれません。(笑)
コメント