2017-01-23

テクスチュアルMIDIシーケンサーT3 チュートリアル

もくじ
  1. T3を起動する
    1. 動作確認する
  2. メロディーを入力する
  3. 伴奏をつける
    1. 楽譜通りに入力する
    2. コードネームで和音を入力する
    3. コード進行をまとめて入力する
  4. マルチチャンネルとランダムを使う
    1. さらにランダム命令を使う
  5. 保存する
T3tutorial8_2.mp3 ←作例完成品

※画像は開発中のものです

1. T3を起動する

T3のjarファイルをダブルクリックして立ち上げると、ステータスバーの左端に現在のMIDI出力先が表示されています。デフォルトでJAVA組み込みのソフトウェアシンセサイザー「Gervill」が選ばれていますが、仮想MIDIケーブルを通じて音源を鳴らすには、「ファイル」・「設定...」・「MIDI」タブで適切な出力先を選んでください。

動作確認する

上側のテキストエリアをクリックしてアクティブにし、半角英数字で「 0.」(ゼロ・ピリオド)と打ち込みましょう。 それからツールバーの「 MIDI Play 」ボタンをクリックしてみましょう。MIDIチャンネル1、中央ドを一拍鳴らす1秒ほどのMIDIデータが生成され演奏が出力されました。演奏中スライダーが動いたはずです。鳴らしたい音源の音は鳴ったでしょうか。うまくいかないときは、仮想MIDIケーブルや音源の設定を見直してください。

次に、キーボード入力時リアルタイムにMIDI信号を発してみましょう。
MIDI出力先が「Gervill」だとして、ASIOを利用するアプリが他に立ち上がっていないことを確認してください(ASIOはパソコンのオーディオ機能を排他利用するので、ASIO以外の出力先を利用しようとするとエラーを起こすようです)。ステータスバーの「 MIDI ShortMessage 」チェックボックスをチェックしてください。テキストエリアに「 0 」と打ち込むとドの音が出力され、「 ch10@ 0 」などと打ち込むと、GMドラムセットの何かの音が鳴るはずです。うまくいったら、この動作はちょっと重いので、「 MIDI ShortMessage 」のチェックをはずしておきましょう。

2. メロディーを入力する

「はじめに」でお話ししましたように、T3による音楽記法の基本は、音の高さを示す0から9、A、Bの12個の音符と休符r、タイ-の長さが、直後につけたドット.(拍をあらわす)によって決定されるというものでした。このT3記法を使って、近年パブリックドメインになった山田耕筰作品より『ペチカ』を入力してみましょう(ヤマハミュージックメディア『ピアノ・ソロ 日本の抒情歌大全集』より)。

以下の文をT3の上側のテキストエリアに打ち込むか、コピペしましょう。命令類は、綴りがあっていればハイライトされるようになっています。ステータスバーの「MIDI ShortMessage」をチェックしておくと、音符をタイプするごとに発音するので、入力間違いがないか確認しやすいでしょう。Javaの問題だと(勝手に)思うのですが、MIDI環境が不安定になる場合はこのチェックを外しておいてください。
tempo80@ ch1@
r447....9777....r9.^0^09...^2^07-....
r954....0247....0247....024-....
r477....8^2..^09.9. 0247....977-....
T3のリズムは(音符の数 / ドットの数)で決まるので、いろいろな書き方ができます。上の例では、見やすさ重視でだいたい4拍ごとにまとめて書こうとしていますね。でも例えばメロディーの一行目部分は以下のように書いてもいいわけです。
r.4.4.7. 9.7.7.7. r9.^0.^0.9. ^2.^0.7..
三小節目の部分は、波カッコを使うと次のようにも書けます。
r447....9777....{r9}^0^09....^2^07-....
入力もしくはコピペが終わったら、ツールバーの「MIDI」ボタンをクリックしてみましょう。次のように鳴ったでしょうか。ちなみにピアノ音色はフリーのサウンドフォントSalamander Grand Pianoです。

T3tutorial1.mp3

「tempo80@」はテンポを拍あたり80に設定(楽譜では60でした)。指定がなければ120になります。
「ch1@」はMIDIチャンネルの出力先を1に設定。出力先の鳴らしたい音源に合わせてください。指定がなければMIDIチャンネル1として送信されます。
組み込みのソフトウェアシンセサイザーをつかっている場合、tone@命令によって音色を選択できます。VST音源などを使っている場合はVSTホスト側で音色を選ぶことになるでしょうから、混乱を避けるためtone@命令は使わないほうがいいでしょう。

誤った文法で入力するとどうなる?
想定していない入力には弱く、慣れないうちはフリーズ頻発かもしれません。フリーズまでいかなくても、解釈に失敗して直前のMIDIデータを演奏してしまうとか。もし固まってしまってウィンドウも閉じられないというような場合があったら、タスクマネージャー等から何食わぬ顔でどしどし閉じてください。他の何に影響があるというわけでもないだろうと思いますので…

3. 伴奏をつける

上のメロディーに段をつけて伴奏をつけましょう。「T3文法について」の「5.演奏順序のコントロール」をちらっと見ておいていただくといいんですが、段とは、スラッシュ/とセミコロン;に区切られた部分が先頭または直前のセミコロンの位置に返って演奏されるというものです。何段でも重ねられます。また、コロン:は曲の先頭に返ります

楽譜どおりに入力する

まずは楽譜どおりに入力することを考えて、『ピアノ・ソロ 日本の抒情歌大全集』から最初の4小節を引用させていただきますと(編曲 岩間稔)、
tempo60@ ch1@
r447....9777....r9.^0^09...^2^07-....
/ v@ v0r04....543-....(259)....(258)..(47)..;
と四小節まとめて段を作ってもいいですし、
tempo60@ ch1@
r447..../v@ v0r04....;
9777..../v@ 543-....;
r9.^0^09.../v@ (259)....;
^2^07-..../v@ (258)..(47)..;
のように一小節ごとに段を作ってももちろんかまいません。
(v@は段の持続する間オクターブ下げる命令。丸カッコ( )に入れた部分は和音として同時に発音されます。)

T3tutorial2.mp3

コードネームで和音を入力する

手っ取り早くコード進行を耳で確かめたいという場合には、コードネーム入力が使えます(「T3文法について」12.コードネーム入力)。コードネームの部分が丸カッコにはいった和音に変換されるというものです。
tempo60@ ch1@
r447....9777....r9.^0^09...^2^07-....
/ v@p@ C@....F@..Cm@..Dm7@....Ddim@..C@..;
T3tutorial3.mp3

(p@は段の持続する間ヴェロシティを10下げる命令。Ddimは楽譜の表記上Dm-5)
フェルマータを表現する
『ペチカ』には終盤にフェルマータ記号(音を充分に伸ばす)を使った特徴的な部分がありますね。あれがないとペチカじゃないという感じ。段にテンポを変化させる記号Tとtを使って(「T3文法について」9.単文字命令)、あの感じを出してみましょう。
tempo70@ ch1@
r477..../v@p@ C@....;
8^2..^09.9./v@p@ Fm6@..../r...tttttrrrrrrrrrrrTTTTT.;
0247..../v@p@ Am@..C@..;
977-..../v@p@ Gaug@..C@../r..ttttt.rrrrrrrTTTTT.;
T3tutorial4.mp3

こんな感じでしょうか?(…無音部分がカットされてるのをあげてしまいました…)

コード進行をまとめて入力する

伴奏パターンは同じリズムの繰り返しでいいという場合、コードが変わるたびいちいち書き直すのは面倒です。コード先行入力(「T3文法について」13.コード先行入力)を使いましょう。T3文の先頭でコード進行の情報をまとめて記述しておいて(「コードブロック」)、本文から変数のような働きをする記号を使って呼び出すというものです。簡単な伴奏つきの演奏として1コーラス完成させてみましょう。
 // chord@からコロン:までがコードブロック
chord@
C@.... F@..Cm@.. Dm7@.... Ddim@..C@..
Am@.... ..C@.. Am@.... ..C@.. ....
Fm6@.... Am@..C@.. Gaug@..C@.. :
 // 以下本文
tempo70@ ch1@ transpose12@
r447....9777....r9.^0^09...^2^07-....
r954....0247....0247....024-....
r477....;8^2..^09.9./r..tt.tttrrrrrrrrrrrTTTTT.; 0247....;977-..../r..tttt.rrrrTTTT.;
: // コロンで先頭位置に返る 伴奏の繰り返しパターン
transpose-12@
[ p@ vvc0.vc2.(c1c3)p../h....; ]*12@
 // hはホールド(サスティンペダル)記号 pは強弱記号のピアノ
T3tutorial5.mp3

最後の行の繰り返し命令[ ]*12@によって、カッコの中身を12回繰り返し、伴奏部分を作成しています。中身のc0(ルートの)、c1(三度の音)、c2(五度の音)、c3(七度、またはルートの音))という記号によってコードブロックの情報からその時点でのコード構成音を取ってきているわけです。伴奏パートが増えても、このようにして少ない文で手間を省くことができます。

ペダル踏んだままだと音が濁ってしまうところがあるので、繰り返し命令を一部変更して伴奏パターンにバリエーションをつけましょう(「T3文法について」11.角カッコ命令)。
chord@
C@.... F@..Cm@.. Dm7@.... Ddim@..C@..
Am@.... ..C@.. Am@.... ..C@.. ....
Fm6@.... Am@..C@.. Gaug@..C@.. :
 // 以下本文 velocityrandom20@は各音のベロシティをランダムに増減
tempo70@ ch1@ transpose12@ velocityrandom20@
r447....9777....r9.^0^09...^2^07-....
r954....0247....0247....024-....
r477....;8^2..^09.9./r..tt.tttrrrrrrrrrrrTTTTT.; 0247....;977-..../r..tttt.rrrrTTTT.;
: transpose-12@
[ p@ vvc0.vc2.(c1c3)p../h....; ]*1< v@pp@ cd..cd..; >1*1<>1*6<>2@
T3tutorial6,mp3

繰り返し命令に山かっこ<>を使って、二拍でコードチェンジする小節にcd(コードブロックの和音を鳴らす記号)を使っています。このように繰り返しパターンの変化をシンプルな表記で表現することができます。

4. マルチチャンネルとランダムを使う

MIDIチャンネルを加え、のんびりアコースティックなバンドサウンドにしてみましょう。繰り返しの命令にランダム命令を加えて適当に変化させることにします。伴奏をあまり動かしても『ペチカ』に合わないでしょうけれども、説明のため無理やりです。山田耕筰先生の威霊に寛恕を請うのみでございます。
先ほどのピアノの伴奏部分を削り、リズム音とアコースティックギター(といってボイシングがギターのものではないので低いウクレレのようです)、ベース音を足しましょう。
chord@
C@.... F@..Cm@.. Dm7@.... Ddim@..C@..
Am@.... ..C@.. Am@.... ..C@.. ....
Fm6@.... Am@..C@.. Gaug@..C@.. :
 //以下本文
tempo85@ ch1@ velocityrandom15@ transpose12@
r447....9777....r9.^0^09...^2^07-....
r954....0247....0247....024-....
r477....;8^2f..^09.-./r..tt.tttrrrrrrrrrrrrrrrrTTTTT.; 0247....;977-..../r..tttttrrrrrrrrTTTTT..;
 //以下伴奏
: ch2@ [ vc0..vc0.-[-vc2p,1]@.; ]*4<vc0..vc1.-[-vc2p,1]@.;>4<vc0..vc0..;>4@
: ch3@ range7@ lagrandom20@ [ sscd.-SScd.rsscd.-. [rsscd,1]@.SScd.-sscd.-.; ]*6@
: ch10@ [v@ 3.[3-[--3pp,1]@.]*3@/vv@r...1.;]*12@
T3tutorial7.mp3

最後の三行が新たに加えられた三トラックです。

ch2はベース音(Independence Free)で、四拍目のウラにc2(コードの五度音)が入るかどうかを一小節ごとにランダム命令[ ,n]@でランダムに決めています。[ ,n]@で、カンマの前の部分からn個選び出すという操作をやっているわけです。「[-vc2p,1]@」だと「-」か「vc2p」のうちどちらかが1/2の確率で1個選ばれるということ。「,n」がなければ[ ]@の中身を並べ替えます。

ch3は2小節パターンのボサノバ風ギター音(Independence Free)で、2小節目の1拍めにストロークが入るかどうかをランダムに決めています。和音の発音をストローク記号S、sで少しずらし、さらにlagrandom@でランダムに発音タイミングをずらしています。ユルい感じが出て好きです。

ch10はライドシンバルとリムショット(Mulab Free GMDrumSet)。1拍め以外でハネたシンバルが入るかどうかをランダムに決めています。

さらにランダム命令を使う

テンポ他を少し修正して簡単に序間奏をつけます。加えてランダム命令でメロディーを8分音符の譜割りで崩しスイングさせましょう。山田先生ごめんなさい。

 //コード先行入力
chord@
[C@.... F@..Cm@.. Dm7@.... Ddim@..C@..
Am@.... ..C@.. Am@.... ..C@.. ....
Fm6@.... Am@..C@.. Gaug@..C@..]*0<C9@.... >2*1<>4*1@ :
 //以下本文 メロディーをmelo@に代入
[r-4-4-7-....;9-7-..7-7-..;r9^0-..^0-9-..;^2-^0-7---....;
r-9-5-4-....;0-2-4-7-....;0-2-4-7-....;0-2-4---....;
r-4-7-7-....;8-^2-..^09.9-.; 0-2-..4-7-..;9-7-..7-..;]=melo@
 //ピアノメロディー
tempo90@ ch1@ velocityrandom20@ swing40@
transpose12@ [r....]*2@ [melo@,d]@ [r....]*4@ [melo@,e]updown@ -..;
 //ピアノ左手
:transpose-12@ [v@pp@[[c0c1c2(c1c3)(c0c2),2]@rrr---]@....; ]*2*12*3r1*11@
 //テンポのコントロール
:[r....]*29@ r.t.tttt.rrrrrrrrrTTTTTT.;
 //ベース
: ch2@ [ [v@ c0..c0.-[-c2p,1]@.; ]*4<v@ c0..c1.-[-c2p,1]@.;>4<v@ c0..c0..;>4@ ]*0<vc0....;>2*1<>4*1@ -..;
 //ギター
: ch3@ range7@ lagrandom20@ [ sscd.[-SScd]@.rsscd.-. [rsscd,1]@.SScd.-sscd.-.; ]*0r1*6r2*6@
 //パーカッション
: ch10@ [v@ 3.[3-[--3pp,1]@.]*3@/vv@r...1.;]*2*12*4*12@
T3tutorial8_1.mp3 完成品 テイク1

ch1のメロディーにタイを足し(8分音符の譜割りにする)区切り;(ランダムで入れ替える範囲を制限している)を入れ、melo@に代入し、
1コーラスめにランダム命令dタイプ[ ,d]@(タイ休符の位置を入れ替えるが数字音符の順番は変えない)、
2コーラスめにランダム命令eタイプ[ ,e]@(タイ休符の位置と数字音符の順番を変えるデフォルトなので、記号,eは必要ないんですけども)
2コーラスめにはランダム命令のupdownオプションをつけていて、セミコロンで区切られた部分ごとに上昇音形か下降音形かランダムに決めるようになっています。ややもするととっちらかったランダム臭さが整理されます。ただ、updownオプションは数字の大小で並べ替えているだけなので、ハ調以外をきれいに並べ替えるには工夫が必要でしょう。

あと、全体の裏拍の音がピアノのところのswing40@命令によってはねています。アットマーク命令は大体チャンネルごとに効かせることができますが、文の前で使われたアットマーク命令は上書きしない限りその後の文でもずっと効いています(命令によって違う場合があり、その辺まだ整理しきれてないんですけども(汗))。

5. 保存する

上側のテキストエリアに入力された内容は「ファイル」・「保存...」でテキストファイルとして保存できます。
ランダムに生成されたフレーズは下側のテキストエリアに表示されますが、そのままでは保存されませんので、気に入ったものは別タブにコピーするなりして保存してください。
いい感じにできたMIDIデータは「ファイル」・「MIDIファイルを保存...」で保存しましょう。他のシーケンサーやDAWに持っていくときに注意しなければならないのは、T3ではデフォルトでMIDIファイルの先頭に1拍空白が入るようになっていることです(「T3文法について」8.アットマーク命令 marginXX@の項参照)。

0 件のコメント:

コメントを投稿