iPhoneでPdを使う (7) – リズムマシン作成<1>

今回から2回にわたり、Roland TR-808 ような簡単なリズム・マシンをMobMuPlatで作成していきます。

まず、MMPエディターを立ち上げて、「Doc」タブを選び「Orientation」を「Landscape」モードにします。こうするとiPhoneを横に持って操作できるようになり、今回のようなプロジェクトには便利です。次に「Add」タブから「Grid」を選び、「Grid」を画面に足します。

「grid」の追加
「grid」の追加

「Grid」は初期状態でヨコ4xタテ3ですが、これは調整可能です。一般的なリズム・マシンのように16分音符単位で、音の有無を指定できるようにヨコ16xタテ1にマスの数を変更します。変更するには「Prop」タブをクリックし、右のレイアウト画面上の「Grid」をクリックしてください。左側に「Grid Dimensions」という項目が現れますので、ここを「16」「1」にそれぞれ指定します。またメッセージのアドレスを「Address」の項を「/snare」に設定します。

マスの数を調整したGrid
マスの数を調整したGrid

「Lock」タブをクリックし、「Grid」の任意のマスをクリックすると[out]/snare 4 0 1のようなメッセージが出力されます。「/snare」に続く3つの数はそれぞれ「横方向のマスの位置(0からカウント)」「縦方向のマスの位置(0からカウント)」「オン・オフの状態」を意味します。下図の例では、左から5つめのマスをクリックして「オン」の状態にしたので、このようなメッセージが出力されています。もう一度、この赤くなっているボタンをクリックすると[out]/snare 4 0 0が出力され、ボタンのオフ状態を通知しているのがわかります。

Gridからのメッセージ
「Grid」からのメッセージ

では、このメッセージをPdで受け取ってみましょう、MMP用のPdを立ち上げ、以下のようなパッチを作ってみましょう。

GridからのメッセージをPdで受信
GridからのメッセージをPdで受信

「r fromGUI」「list trim」「route /snare」は前回と同じですが、その後にメッセージボックス「$1 $3」使われています。前述のとおり、/snareに続く要素はそれぞれ「横方向のマスの位置」「縦方向のマスの位置」「オン・オフ」となりますが、今回は縦が一列のグリッドなので、縦方向のマスは常に0なので、この情報は必要ありません。必要なのは1番目と3番目だけなので「$1 $3」を使って2番目の情報を切り捨てているのです。この下に「print」が付いているので、MMPエディターで「Lock」モードに入り、PdWrapper.pdを立ち上げて、エディター上で任意のボタンをクリックするとPdウインドウの上に「4 1」「4 0」などというメッセージが表示されるはずです。

次に、Pdパッチ内でどの拍で音を鳴るのか、どの拍で音を鳴らさないのかの情報をlistとして保存できるようにしましょう。やり方は、以下のように「route」と「pack」を組み合わせるだけです。こうすると、packの保持する16個のfloatから成るlistが「0」と「1」のシーケンスの形でリズムパターンの情報を保持する事になります。

「route」「pack」でリズムパターンをlist化
「route」「pack」でリズムパターンをlist化

それでは、MMPエディターで以下のようなリズムを打ち込み、Pd上でbangを「f」に送ってみましょう、

MMPエディター上のリズムパターン
MMPエディター上のリズムパターン

以下のように、0と1のシーケンスで、エディターで打ち込んだリズムパターンがPdウインドウに表示されるはずです。

listとしてのリズムパターン
listとしてのリズムパターン

では今度はこの「pack」に保存されているlistから任意の拍の情報を得る仕組みを「lists split」等を使い以下のように作ります。このパッチ左上のナンバーボックスに、数値nを入力すると、listのn番目の要素が1か0かが下のナンバーボックスに出力されます。

listのn番目の要素を抽出
listのn番目の要素を抽出

これの下に、「sel 1」「tabplay~」「Array」を組み合わせて、1の場合にスネアの音を鳴らす、0ならば鳴らさない仕組みを以下のように作ります。

スネアの音を関連付ける
スネアの音を関連付ける

次に、カウンターを作りlistの要素を最初から順番に100ミリ秒ごとに参照するようにします。さらに、パッチをロードした時に即座に演奏が始まるように、tglボタンの上にメッセージボックスの「1」と「loadbang」をつけておきましょう。

完成したリズムマシン
完成したリズムマシン

これでPdパッチは完成です。

あとはいつものように、mmpの「Doc」タブでMain Pd Fileを指定し、pdの両ファイルをiTunesに転送するのみです。iPhone上でGridのインターフェースでリズムパターンを指定するとその通りのリズムが聞こえてくるはずです。

次回はこのリズムマシンに、テンポ変更、リズムをスタート/ストップするボタン、キック、ハイハットのための「Grid」を加え、さらに本格的なものにしていきます。

この項のパッチをダウンロード

iPhoneでPdを使う (8) – リズムマシン作成<2>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください