藤本健のDigital Audio Laboratory

第879回

ゲームのCRIWAREが作った、超高速な耳コピ製品「BEATWIZ」が面白い

BEATWIZ

コンシューマゲーム機・PCを含め、さまざまなゲームソフトのエンジン部分を開発するCRI・ミドルウェアという企業をご存知だろうか? 音をコントロールするためのサウンドミドルウェア「ADX2」や、動画をコントロールするためのムービーミドルウェア「Sofdec2」、音と映像を同期させるためのリップシンクミドルウェア「ADX LipSync」など、ゲームソフト開発メーカーに提供する裏方のテクノロジー企業だが、そこが「BEATWIZ」という興味深いツールをリリースしているのだ。

現時点においては、開発メーカー向けに提供するツールという位置づけのソフトだが、超高速で超高精度に楽曲を解析するというユニークなものになっている。従来のFFT方式ではない、音声解析技術“Constant-Q変換”なるものを使っているとのことだが、開発者であるエンターテインメント事業開発室長の増野宏之氏にお話しを伺うとともに、実際に最新版のBEATWIZを触ってみたので、少し紹介してみよう。

CRI・ミドルウェア エンターテインメント事業開発室長 増野宏之氏

音声解析技術“Constant-Q変換”とは

音楽ソフトにおける永遠のテーマともいえるものの一つが、「完璧な耳コピソフト」の誕生だろう。

これは演奏された楽曲を入力すると、各パートごとに分かれた譜面を作成してくれるソフトを開発すること。ある意味、DAWやシーケンサの逆アプローチであり、CDを聴かせると、各パートがどのように構成され、どのように演奏されているのかを解析するソフトだ。“自動採譜”などともいわれ、昔から多方面の技術を用いて開発されてはきているものの、なかなか理想的なものができていないのが実態だ。

そうした中、CRI・ミドルウェアがBEATWIZなる“楽曲解析ミドルウェア”を開発し、ゲームソフト開発メーカーなどへの提供をスタートさせている。なぜ、ゲームソフト開発メーカーが、耳コピソフトを必要とするのか? と、ちょっと不思議にも思うが、“音ゲー”を開発するにあたり、楽曲をゲームに組み込むには、テンポ(BPM)やビート(拍子)、サビ(盛り上がり)などの情報を正確にアナライズしないとゲームと同期できないため、それを効率化するべく開発されたツールとなっている。

さまざまな技術を組み合わせて開発されたBEATWIZは、突然誕生したというわけではない。開発者である増野氏は、ぷよぷよのメーカーであるコンパイルをはじめとするさまざまなゲームメーカーを経て、2013年にCRI・ミドルウェアに入社してるが、BEATWIZの開発はその入社のはるか以前からライフワークのように取り組んできたものという。BEATWIZのリリース自体は、2015年9月に行なっているが、その後も進化を続け、取材時のバージョンはBeta46.5になっていた。

ちなみに増野氏は、数多くのゲーム作品の作曲者としても名前を連ねる、ゲーム音楽作曲家の一人でもある。「昔は、ゲームの音楽を作るのと、それを鳴らすためにプログラムをすることの境目がなかったので、何でもやったんです」と増野氏。

もっとも増野氏は単に音楽が分かる技術者といったレベルの人ではない。筆者もこれまで数多くの人たちに取材をしてきた中、何人かの天才には出合ってきたが、増野氏もそのうちの一人。量子力学的アプローチでサウンド系のプログラミングを行なうという、一般の人間では理解不能な開発に取り組んでおり、その成果がBEATWIZに盛り込まれている。

昨年オンラインで行なわれたゲーム開発者のためのイベント「CEDEC2020」において、増野氏は「フーリエ変換は2のべき乗が速いといったな、あれは嘘だ。 -Constant-Q変換を用いた楽譜情報の抽出とゲームへの応用法について-」と題した講演を行なっている。誰もが知っているFFTは、音楽解析という面では使い物にならないので、まったく別の方法を使ったというのだが、これはどういうことなのだろう。

「CEDEC2020」で行なわれた増野氏の講演

「フーリエ変換を1,024の窓幅で行なうと、43Hzくらいの解像度になってしまいます。でも、C2~F2の音階での周波数を見ると下の表のようになる。C2で65.707Hz、C#2で69.611Hzなので、半音の違いを判別する周波数の差は3.904Hzしかありません。これを43Hzの解像度で解析するというのは無理がありすぎるのです。そのため、これを判別可能な、そして必要十分な窓幅は? と求めた結果16,384となってしまうのです」と増野氏。

しかし、16,384の窓幅にすると、FFTにかかるCPU負荷が莫大になってしまい、372msもの遅延が起きる。「10msでも遅い」といわれるゲームの世界で、372msなどというレイテンシーは致命的だ。そこで増野氏はフーリエ変換(DFT)の原理に立ち返ったという。

「たとえば44.1kHzの波形を1,024の窓幅でフーリエ変換すると512個の実数部(Re)と512個の虚数部(Im)が出てきます。このReとImを用いて、利得と位相を導き出すことができるのですが、カーナビなどに搭載されているスペクトラムアナライザーは利得部分のみをグラフ化したものであり、位相部分はまったく使われていません」(増野氏)。1,024個のデータのうち、音の強度を求めるのに必要な周波数ビンの数は約100個なので、効率は10%未満ということになり、FFTは効率が悪いという。

「周波数分解能はサンプリング周波数を窓幅で割ったものであり、スペクトラムアナライザーは、周波数分解能の整数倍の倍音成分の強さが表示されるわけですが、ここで逆転の発想をしてみたのです。つまり音階=MIDIのキー番号に対応する中央周波数から窓幅を逆算して、各周波数ごとに異なる窓幅で利得を計算すると、半音ごとの成分が出力されるのではないかと」。

増野氏は、これを「Constant-Q Transform」と名付けた。Constant-Qの“Q”は、Q-rate(Q値)のこと。Q値とは、各周波数ビンに設定する窓幅に、基準周波数のサイン波がどの程度含まれるか、ということだが……。この辺から、筆者も理解が追い付かなくなり、詳細の理論については完全にギブアップとなった。

ただ、音程に適合する周波数の分析だけに特化することで、計算量を大幅に減らすことができると同時に、処理にともなうレイテンシーも大幅に縮められたということのようだ。詳細のプレゼンテーション資料は、ユーザー登録さえすれば「CEDEC2020」のページから誰でもダウンロードして読むことがができるので、興味のある方はご覧になってほしい。

4分の楽曲を2秒ほどで和音解析。CRIWAREならではのゲーム機能も

ではBEATWIZとはどんなものなのか、実際に触ってみたので、簡単にレポートしてみよう。

まず、BEATWIZはWindowsベースのアプリケーションとなっており、インストールも不要でプログラムを叩けば即起動する。その起動画面では、光が放射線状に飛んでくるアニメーションが展開されており「これはゲームなの?」という雰囲気になっている。

BEATWIZの起動画面

クリックするとゲームのスコア表示のような画面に進むが、実はこの時点でAudioフォルダに入っているWAVファイルが読み込まれると同時に、すでにBPM解析もされている。

WAVファイルを読み込むとBPM解析がされている

さらにもう一度クリックすると、これまたゲームのような画面が出てくるが、これがBEATWIZのメイン画面だ。PLAYボタンを押すと1トラック目の楽曲が再生され、左右に分かれたスペクトラムアナライザーが動き出すとともに、レベルメーターも触れる。ここにおいても相変わらず、ビームのアニメーションが放射されている。

メイン画面
左右に分かれたスペアナ。レベルメーターも

いかにもゲーム風な画面だが、ここにいろいろな機能が仕込まれている。

たとえばBPMのボタンを押すと波形表示された画面に切り替わる。さらに画面モードを切り替えていくと、Constant-Qを用いたコード解析画面になるが、ここで「Run Chroma Chord Tracker」というボタンをクリックすると、4分の楽曲が2秒ほどで和音解析が行なわれ、画面の五線譜に音符が表示されるとともに、そのコードが表記される。

波形表示
コード解析の画面
4分の楽曲が2秒ほどで和音解析完了。コードが表記された

一般的に単音での音程解析が行なえるツールは存在し、たとえばカラオケでのメロディー認識などもこうした技術が使われているが、複数人が同時に歌うと、とたんにうまくいかなくなる。ましてや、さまざまなパートの音が入った楽曲となると、そこから音を取り出すのは至難の業だ。

しかしこのBEATWIZは、最初にさまざまなパートの中からボーカルを抽出することが可能で、それがソロボーカルでなく、複数ボーカルであっても検出し、メロディーとして譜面化することができるようになっている。

さらに、この和音解析を行なったタイミングで、曲の構造解析も行なわれており、別画面に切り替えるとイントロ、Aメロ、Bメロ、サビ……といった表示がされる。必要に応じて、フレーズの長さや最初に始まるフレーズの小節位置のヒントなどを手動で設定してやることで、より正確な解析ができるようになる。また盛り上がり度といったものも数値化することができ、グラフで表示することも可能となっている。

イントロ、Aメロなどの構造解析も可能
盛り上がり度を数値化できる

こうした機能を見ると、以前に紹介した産業技術総合研究所の能動的音楽鑑賞ツール「Songle」(第501回参照)などとも近いコンセプトであるが、増野氏によれば、Songleとはまったくエンジンも異なるオリジナルのものであり、またサーバーを介して音楽データを扱うことなく、すべてローカル処理できる事など、使い方においても大きな違いがあるという。

さて、ここで改めて波形ウィンドウの拡大率を調整すると2段楽譜画面が表示され、再生ボタンを押すと元の楽曲の進行に伴い、楽譜画面も進んでいき、現在演奏中のコードが表示される。

解析により生成された楽譜画面

では、このコードのどの程度正しく判別されているのだろうか。

「2,000曲ほど試してみたところ、現在の性能だと8割で正しく解析できています。やはり得意な曲、不得意な曲があり、ベースがない曲だとうまくいかない傾向にあります。またアカペラも苦手です。意外だったのは、BPMが正しく解析されていなくても調号は分かるし、コードも分かるんですね。また現在のところ、3度の和音は行けるのですが7度が入ると苦手で長7度、短9度においては対応させていません」。

実際画面での解析結果を見ても、メジャーコード、マイナーコードは表示され、それで完全な間違いにはなっていないけれど、本来は7thだったりAdd9だったりするコードは表示されないので、コード分析としてはまだまだ、という印象は否めない。しかし一方で、ほぼ一瞬の解析でここまでを把握できるのなら、いろいろな使い道はありそうに思える。

実は、今見たのはBEATWIZの基本的な解析機能部分であり、ほかにもゲーム的ないろいろな要素が備わっているのが、やはりCRI・ミドルウェアのソフトというところ。

たとえば、バックに表示されるグラフィックのアニメーションを変更させることもできるし、さまざまなオーディオエフェクトをかけていくこともでき、いずれもゲーム的なUIになっているのが楽しい。

アニメーションの変更が可能
オーディオエフェクトをかけることもできる

さらには、ゲーム機能も4種類搭載されており、いずれも楽曲を解析したテンポに合わせて遊べるようになっているのだ。まさに音ゲーでのBEATWIZの活用例を示した格好である。

楽曲解析を活かしたゲーム機能も搭載する

細かく見ていくと膨大なパラメーターがあり、短時間では理解しきれなかったが、音楽をコンピュータに解析させることの面白さを改めて感じた次第。

ただし、現時点でこのBEATWIZは市販されているものではなく、あくまでもゲームメーカーなどに向けたBtoBのビジネスとなっている。一般のユーザーに向けての販売の可能性について増野氏に伺ってみた。

「すぐに一般に向けて公開する予定はありませんが、もし要望が多くあれば検討してみたいとは思っています。もちろん、その場合、どの機能を出していくのか、Mac用やコンシューマゲーム機用に対応させるのか、いくらにするのがいいのか……などなど検討すべきことはいろいろありそうですが、ご希望があれば、ぜひ当社のBEATWIZの製品紹介ページの下に試用申し込み・お問い合わせのフォームがあるのでご連絡ください」とのこと。

興味のある方は問い合わせてみてはいかがだろうか?

藤本健

 リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。  著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。Twitterは@kenfujimoto