月別: 2019年1月

 

Behind The Piano 01

長年構想を練りつつも、なかなか実現できない作品があります。
楽器の王様ピアノへの憧れから、ピアノのような豊富な表現力をもつ音楽にドラムセットの表現力で同様の情報量の音楽を作れないだろうかというものです。88鍵盤/10本の指に対して、8個前後の太鼓・シンバル/4つの手足で奏でるハンデとして、アルゴリズム作曲の手法を使うことを前提とします。
Roland のエレクトリックドラムTD-7を発売時に購入したときに、いろいろと実験したことがありますが、MIDIの遅延が気になったり、音楽理論をMIDIプログラミングに落としこむところに時間がかかり、なかなかつかえるものに発展できませんでした。

しかしこのままではいつまでたってもできないということで、音楽に対してとてもポジティブでいられる今、まずはファーストステップとしてとりあえず形にしてみることにしました。
Mac Book Proにプログラミング環境はMAX、MIDIインターフェイスはUSB、エレドラは TD-7を使います。TD-7がまだ現役で使えることがとても嬉しいです。(MIDIの遅延は気になりますが、もっと制作がすすむころには機材のアップグレードで解消するでしょう)
ピアノ音源はソフトシンセやDTM音源以外にしたかったので、シンセのプリセットにしました。

ピアノ曲もどきに聴こえるでしょうか。

本来は音だけで評価されるべきものと思っていますが、ブログで公開する性格上「これではなんのことかわからない」ということになりますので、記録用として撮った動画もアップしました(遅延補正のため音声トラックを少し前にづらしています。また生音がないと叩いているリアリティがないので、少しミックスしています)

私の(?)髪の毛で、左側がみえなくなってしまいましたm(_ _)m 最近JoJo Mayerが好きなので・・(ここはH太郎ではないっ/)
あと画面上にはクラッシュシンバルに見立てたパッドが見切れています。
簡単に説明ですが、セットとしてはシンバル2、スネア、タム3点セットを想定しています。ライドとハイハットは高音パート、クラッシュは音を重ね、フットハイハットはリリースタイムをコントロールしています。

今回はアルゴリズムがシンブルだったので、より高度にするために次回のプログラム言語はCかなと思っています。

Sonic Pi

ライブコーディングという音楽を再生しながら、リアルタイムでそのプログラムを更新できる環境の一つにSonic Piというものがあります。

https://sonic-pi.net/

以前音楽データのアプリケーション間通信のテストでも取り上げたときがありましたが、プログラマとしてもコンポーサとしてもとても興味深い題材になります。

Max OSC

プログラムというのは基本的に動作中は変更しませんが、この環境ではこれを実現できます。(一部Erlangのようなホットコードローディングまたはホットコードスワッピングというものはありますが・・) またDJのようなプレイをモニタを見ながらキーボードでやるスタイルも新しく感じます。コーディング画面をVJの素材としてみせるものもあります。
以下のような言語とグラフィックもよく使われます。

GLSL Sandbox

このSonic Pi特徴は、前回とりあげたSuper Colliderを内部で使っています。言語は少ないコーディング量で記述できると定評があるRubyです。エディタもキーワードが色わけされており見やすくなっています。プリセット音源を持っているのでシーケンスデータだけですぐに鳴らすことができます。

まずは、プロフェット5が好きなのでこの音色二つとブレイクビーツで曲を作ってみました。
サンプルが豊富なので、そこから膨らますことができます。

コードトーンからランダムに選択した音にフィルタとパンもランダムでちらしました。
真ん中あたりで、コードとリズムのスライスを変更しています。

結構いい音で楽しめます。

Rubyを知らなくても意味がわかりやすいのでコーディングできそうですが、リスト処理などを知っておくと便利だと思います。

もともとRaspberryPiにプリインストールされているもので、以前テストしたもののリンクはっておきます。

Sonic Pi サウンドプログラム