bonar note

京都のエンジニア bonar の技術的なことや技術的でない日常のブログです。

電子ピアノにおける演奏の自動補正

ピアノ(を含む多くのMIDI楽器)を「なんとなくで」弾けるような仕組みを作っています。三流エンジニアなのでなかなか思うように実装できないのですが、原理としては

  1. 鍵盤(MIDIコントローラ)からの NOTE_ON メッセージをみる
  2. 今押されている音とその音との不協和度を計算する(ここがキモ)
  3. 現在のコード進行を加味して、不協和にならないような音まで勝手にずらす
  4. ずらされた音を鳴らす

ということでPCを媒介して「へたくそさ」を解決しよう、という試みです。演奏の自由度を奪い取って、その代わりに「音楽の補助輪」を提供しようとするものです。これを使うと、

こんな素人の演奏が、

同じキータッチでこう変わります

音と音の協和感はその音(およびその音が引き連れている倍音)同士の周波数の間隔で求めることが出来ます。この辺についてまとめたものを書きたいのですが、完全に理解しきれてない部分があって勉強中です。音響の世界は本当にエキサイティングですね。もう一度大学に戻って勉強したいです。

コード進行をどう遷移させるのかが悩みどころで、現在は「Tonic -> Sub Dominant -> Dominant -> Tonic」と順方向に遷移するコマンドと、現在の雰囲気を保ったまま代理コードに遷移するコマンドを電子ピアノのペダルに割り振って演奏しています。この辺の操作体系はまだ暫定的なものですが、これでもなんとなく弾けた感じになります。

あとは二人で演奏したりしても、お互いに同じ雰囲気の中で協調することが出来ます。

これを見せると割と音楽をちゃんとやられている方には「音楽を馬鹿にしてる」といった感じのおしかりを受けることが多く、、でもそれは非常にもっともだとも思っています。ピアノを自由自在に弾ける人にとってはそこに無限の広がりがあって、自分の感情を自由自在に表現できるんだと思うのですが、そのあまりにも高すぎるハードルを前にやめてしまう人の多さはとても悲しいと思います。

まずは楽しいと思ってもらえるおもちゃが必要なのかもしれないです。携帯のカメラでランチを撮影するような感じでみんなが音楽を楽しむようになったら、音楽にとってすごく大きな変革なんじゃないか!とか思ったりもします。そういうときに、自動作曲やタイミング音ゲームじゃなくて、補助輪、っていうバランスがいいのかなと。。今のところ考えています。

過去最大級のまとまりのなさになってしまった。。。