北原先生の研究内容についてお聞かせください。
私は音楽情報処理という分野を研究しています。その名の通り、音楽を対象とした情報処理分野です。この分野を平たく言うと、コンピュータで音楽を処理することで、便利なことやものを実現しましょうという感じです。音楽のCDを入力すると自動的に楽譜が出来るという自動採譜は、わかりやすいテーマのひとつだと思います。
最近の私の研究室では、自動作曲といって、条件を入力すると自動的に曲が作れるというシステムの研究をいろいろとやっています。作曲の他にも、編曲や和声付け、つまり、メロディは自分で作成したが、その曲に合う和音をどのように作ったら良いか分からない人のために、メロディに合う和音を自動的に作るというのをやっている学生もいます。
音楽情報処理の分野の中で比較的大きな領域が、音楽情報検索です。例えば、沢山の音楽を音楽プレーヤーに入れて聴くとします。その際、プレーヤーの中に何千曲も入っていますと、何を聞こうか迷ってしまうこともあるのではないでしょうか。例えば、月額で決まった料金を払えば音楽聞き放題のサービスもありますが、その中から自分が気に入る曲を探すのは、結構難しかったりしますよね。そんな時に自分の好きな曲や、アーティストをいくつか入力しておくと、そこから似た曲やアーティストを自動的に探して推薦する、というテーマで研究を行っています。
自動で作曲したものが、人間の作った曲より良い音楽になることはありますか?
現時点の技術では、それは難しいと思います。様々な設定をチューニングして、無難な曲ができる程度ではないでしょうか。人々を驚かせるような曲を作るのは、まだまだ難しいでしょうね。
機械がどう作曲しているかというと、一つは、確率を使った方法です。例えば、ドという音を使うと次にレが来やすい、ミが来やすいなど何百、何千曲という過去の曲を分析します。確率的に一番数値が高い音の選び方というのを統計的に学習し、その通りに曲を作るというシステムです。それだと、多数の曲の平均的な音の選び方を使うわけですから、当然無難な曲が出来やすいわけです。
また、ランダムに作ってそれを評価していくというやり方があります。GA(遺伝的アルゴリズム)ってありますよね。何らかの目的関数(フィットネス関数)を考えてそれが最大になるようにデータ(=遺伝子)を組み替えていくというヤツです。この目的関数を人間(ユーザー)にやってもらいます。つまり、一曲一曲ユーザーに聞かせて、ユーザーに良い悪いを判断してもらいます。そうして、ユーザー評価で良いものが残るように遺伝子を組み替えて…というのを繰り返していきます。こうすれば、統計的に曲を作るよりは、斬新な曲ができやすいでしょうが、良い悪いの評価を何千回もやらなければならない場合もあるので、個人的にはそんなに簡単ではないと思います。いろいろ聴いているうちに何がなんだか分からなくなりそうですしね。
研究室では、どのようなテーマで研究が行われているんですか?
音楽ではなくても良いのですが、基本的には学生本人に研究テーマを考えてもらうようにしています。こういうソフトウェアを作ればこういう人にとって有用性がある、という仮説を立てた上で実際に作って被験者に使用してもらいます。その結果をまとめて論文にするということを行っています。
例えば、音楽を聴きながらジョギングをする時に、走るペースに合わせて音楽の再生速度を変えてみることを行いました。ジョギングというのは同じペースでできるだけ長く走るというのが大事なのですが、疲れてくるとどうしてもペースが落ちてきますよね。ペースが落ちた時に、それを何らかの形で知らせて意識させる必要が出てくるわけですが、バイブレーションとか「ペースが落ちましたよ」のような音声で知らせるのもあまり芸がないので、じゃあどうしようというところで、多くの人がスマートフォンなどで音楽を聴きながらジョギングしているところに注目しました。では、ジョギングのペースが落ちたら音楽の再生速度も落としてみてはどうか。好きな音楽を本来の再生速度で楽しみながら走るには同じペースで走りつづけるしかないわけです。そうすれば、自然とペースが一定化する方向に働くんじゃないかと。実際に作って実験すると、全員ではないですが何人かの人は意図通りの結果を得られました。
研究室に属している3人の学生さんに聞きました。研究概要や、研究の感想、今後これから研究する人へのアドバイスなどをお聞かせください。
大塚匡紀(修士2年)
この研究室では、プログラミングでゲームや自分の好きなものを作ってみて、モノづくりの楽しさを感じています。
小暮 計貴(修士2年)
私は、音声対話システムを研究中です。雑音環境下で対話ができるシステムを作ろうとしています。私は一度就職をしたのですが、モノづくりがやりたくて会社を辞めて大学院に入りなおしました。実際にこの研究室に入ってみて仕事を辞めてきた後悔はないです。さらに、北原先生の研究室では、発表の回数が多いので、社会人の頃よりもプレゼンテーション能力が上がっている感覚があります。
木下尚洋(学部4年生)
大学の中の狭い世界観で終わらずに、インターンに行くことによって、様々な大学の人と交流が出来ますし、自分の立ち位置がわかります。将来の目標も見えてくるので、できるだけ早い段階で外部の人と開発などで、交流していくと良いと思っています。
最後に、ご覧になっている方にコメントをお願いします。
普段授業をしていて思うのは、テスト勉強の一環としてプログラミングをやっている人が多いんですよね。でも、プログラミングというのはコンピュータを自由自在に動かすことができるのです。ある意味、自分が「神」になれるわけです。それって結構すごいことだと思いませんか。
まず、プログラミングの楽しさをわかってほしいと思います。授業だと、どうしても「テスト範囲はここからここまでです。しっかり復習しましょう」みたいな感じになってしまうわけですが、それは表面的な一部でしかありません。こんなものが作れたらこんなにすごいんだ!というワクワク感を味わうための手段として、色々妄想したものを作ってみる、というのを是非やってほしいですね。テスト勉強だけでなく、モノづくりの楽しさのためにプログラミングをしてほしいと思います。エンジニア就活をご覧の皆様も、ワクワク感を味わってみませんか?