蛞蝓式 CAL programs vol.1 / CakeWalk4.5/5.0 ---------------------------------------------------------------------------- HOWTO.TXT 蛞蝓なめちゃん odasan@ma.catv.ne.jp ---------------------------------------------------------------------------- ● 利用の手順 (1)解凍する。 ・NAMECAL1.LZH を解凍すると、下記の 20 個の file が現れます。 CDown8.CAL 和音 8 音まで対応の ダウンストローク作成。 CUp8.CAL 和音 8 音まで対応の アップストローク作成。 CDown4.CAL 和音 4 音まで対応の ダウンストローク作成。 CUp4.CAL 和音 4 音まで対応の アップストローク作成。 GlissP.CAL 両端の音を指定して、ピアノのグリスを作ります。 GlissG.CAL 同様に、エレキのトレモログリッサンドを作ります。 GlissV.CAL 両端の音と分割数を指定し、pitch bend していきます。 BendAN.CAL ふたつの音の後ろの方を pitch bend します。 BendBN.CAL ふたつの音の前の方を pitch bend します。 Slide.CAL ふたつ以上の音をスラー(pitch bend)でつなぎます。 Choke.CAL 音をちょいと持ち上げ、また元に戻します。 VibArm.CAL 音の高さををちょいと下げて、また元に戻します。 DurLong.CAL (次の音 − n) tick まで音を伸ばします。 DurAdd.CAL duration に一定の値を増減します。 Merihari.CAL 拍位置に応じて velocity を書換えます。 VelAdd.CAL velocity に一定の値を増減します。 VelRange.CAL 指定範囲の velocity 最大/最小値、範囲を調べます。 ChChange.CAL 指定範囲の channel 値をすべて書換えます。 README.TXT 最初に読むべき file です。 HOWTO.TXT 使い方のヒント等です。 (この file ですね) (2) フォルダに入れる。 ・Cakewalk には、"Thin Channel Aftertouch.cal" だの "Major 7th Chord.cal" だのというサンプルの CAL program が添付されています が、上記の file も同じフォルダに入れて下さい。 (3) 編集対象の範囲を指定する。 ・トラック、譜面、ピアノロール、イベントリスト等のウィンドウ上で、 処理したい範囲を指定します。 ・このとき、下記の program では、複数の track にまたがる指定をする と、処理結果が元あったtrack とは別の track に書込まれることがあり ます。 CDown8.CAL CUp8.CAL CDown4.CAL CUp4.CAL Slide.CAL DurLong.CAL (forEachEvent) のloop 外で "insert" を指定しているからです。詳細 はそれぞれの CAL program の冒頭にコメントしてありますが、これらの CAL program を使う場合、ひとつの track にはひとつの channel だけ 使用して、track 毎に処理をしましょう。 念のため、ChChange.CAL でそろえておくとよいです。 ・指定した track はトラックウィンドウで黒くマークされますが、それ以 外の track に ハイライトがあると、その track も選択されているとみ なされ、結果としてそっちの track に書込まれることがあります。 ・もちろん、 (forEachEvent) のloop 外で "insert"を指定していない program は大丈夫です。 (4) 実行する。 ・Cakewalk の「編集」メニューの一番下に「CALプログラム実行」という のがあります。ここを選択すると、file 選択になりますから、実行する program を選び、実行します。 ・CAL を使ったことのない方は、しっかりマニュアルの該当個所を読んで おきましょう。 ・すべて UNDO / REDO が可能です。 ---------------------------------------------------------------------------- ● 以下、各 program の概要と使い方メモを記します。 CAL program は text file ですから、editor で読んだり修正したりできます。 下記 CAL program の使い方、注意点は、それぞれの program の冒頭に注釈行を 入れて説明してあります。詳細はそちらをご覧くだされ。 (1) Cutting Stroke関係 ・ギターのカッティングは、イベントリスト・ウィンドウで、tick を少し ずつずらして表現しますが、ひとつひとつやってると日が暮れてしまい ます。cakewalk では、和音が音の高さの順番に並んでいるわけではない ので、まず SORT (並べ替え) しなければなりません。 ・カッティングには、cutting down (音の低い方から順に発音する)と、 cutting up (音の高い方から順に発音する) の 2 種があります。 CDown8.CAL cutting down (音の低い方から順に発音する) CUp8.CAL cutting up (音の高い方から順に発音する) 上記 2 つの CAL program は、8 音までの和音に対応しています。 ・SORT では 配列が使えないので、とても長い program になりました。 読込みに時間がかかるのと、当然処理時間もかかるので、4 音までの和 音を対象とした CDown4.CAL cutting down CUp4.CAL cutting up --- というのも作りました。ギターは 6 弦ありますが、わしの場合低音 弦は鳴らさず、高い方の 4 弦しか使っていませんが、これで十分だと思 っています。(しかも1拍めと3拍めも鳴らさない) ・わしはこんな手順で使っています。(tick 96 の場合) 1. rhythm guitar の和音データを、1 コーラス分打込む。 2. velocity や duration を調整する。 3. rhythm guitar の track が、同一 channel かどうか確認する。 --- 念のため ChChange.CAL で、channel をそろえます。 4. 和音が 2 拍 とか 4 拍 とか、長く伸びるところは、6 tick くら いずつずらします。 そういう個所を 譜面ウィンドウで、[Ctrl]キーを押しながらすべ て選択し、CDown4.CAL または CDown8.CAL を実行します。 パネルで、shift 値 を 6 tick くらいに設定します。 5. 同じく譜面ウィンドウで、cutting up する和音を、[Ctrl] キーを 押しながら範囲指定します。 CUp4.CAL で shift 値を 1 か 2 に設定して実行します。 6. 残りは cutting down なので、 track 全体を範囲指定して、 CDown4.CAL でshift 値を 1 か 2 に設定して実行します。 既に処理された音は既に「和音」ではない(tick が異なっている) ので、ひとつひとつ指定する必要はありません。 7. これを 2 コーラスめ以降に copy する。 ・guitar だけでなく、ほかの楽器にも利用可能ですが、ukulele のように 弦が 降順になっていない(G4→C4→E4→A4)ものは、かえっておかしくな ります。 ・CDown8.CAL と CUp8.CAL は、処理に時間がかかります。CPU のパワーに よっては、お茶の 1 杯も飲めてしまうかも知れません。 (2) Glissand 関係 ・glissand は、ある音から別の音になめらかにつないでいく奏法です。 楽器に応じて 3 種類作りました。 GlissP.CAL ピアノ等半音単位の楽器用。 GlissV.CAL バイオリン等半音より細かい音程の出る楽器用。 GlissG.CAL エレキのトレモログリッサンド。 ・キーボードは、GlissP.CAL が最適です。 15小節 : 4拍め : 0tick の A3 から 16小節 : 1拍め : 0tick の A4 に駆けのぼる場合、 1. 最初の音と最後の音(つまり上記の2つの音)を打込む。 2. この 2 つの音を編集対象として選択する。 3. GlissP.CAL を実行する。 --- これだけで、間の音を等間隔に半音単位で補完してくれます。 ・GlissV.CAL は、バイオリン用と書きましたが、実際のバイオリンでは、 このような不安定な音ではなく、半音単位あるいは音階にしたがって、 行きつ戻りつしながら上昇したり下降したりしておるようです。 GlissV.CAL は、リズム(分割数)を重視したもので、たとえば 32 分音符 16 個で、1 オクターブ(12半音)均等に変化させたい --- というときに 使います。そんな需要が本当にあるかどうかは知りませんが。 使用法は 両端の音を指定して実行し、分割数をパネルから入力します。 補完される音は pitch bend ですから、音色そのものが伸びる音でない と、途中で聞こえなくなってしまいます。また、pitch bend sensibility で指定した範囲以上に変化はしません。 ・GlissG.CAL は、エレキの「テケテケテケ...」というやつです。 15小節 : 1拍め : 0tick の E3 から 16小節 : 1拍め : 0tick の E2 に 16分音符で下がってくるというのが ありふれたパターンです。 これも両端の音を指定して実行し、分割数を入力します。 pitch bend を使っていますから、pitch bend sensibility で指定した 以上には上下しません。 (3) Hammering / Pulling Off 関係。 ・ふたつの音を対象に、一方を pitch bend して hammering や pulling off の感じにします。 BendAN.CAL 前の音を残して後ろの音を pitch bend にする BendBN.CAL pitch bend した状態で、後ろの音を発音する ・これは、どちらの音を note data として残すかの違いです。装飾音が音 符の前にくっついているなら、BendBN.CAL を使いませう。 また、bend した音は音程が不正確なので、重要な方の音を note data として残すようにしませう。 譜面ウィンドウでは pitch bend が表示されません。note data として 残された音だけが表示されます。 ・もっと多くの音をつなぐときには、こんなのがあります。 Slide.CAL これは、最初の音だけ残して、あとを pitch bend でつなぎます。 あまり長い時間にまたがると、音が消えてしまいます。 ギターの場合、たとえば A4 から C5 に移るとき、いきなり C5 を弾か ずに、A4→A#4→B4→C5 というように 半音ずつ slide する奏法があり ます。こんなとき、とりあえず全部の音を打込んで、A4 から C5 まで を範囲指定して、Slide.CAL を実行します。 ・これら 3 つの CAL program は、いずれも pitch bend を使用していま すので、pitch bend sensibility の設定次第で、変化させ得る音の高さ が変わります。 (4) Choking / Vibrate Arm 関係。 ・choking は、弦をネックと直角の方向にひきずって張力を増し、音の高 さをちょいと上げる奏法です。上がりっぱなしということはなくて、た いてい元に戻します。"choke" には「窒息させる」「むせぶ」という意 味があるそうです。 ・また、かつてのエレキギターには必ずトレモロアームとかビブラートア ームとかトレモロビブラートアームとかいうのがついていて、これを押 すと弦がゆるんで「びよよ〜ん」という音になりました。ひっぱると音 が高くなります。もっとひっぱると弦が切れました。ちなみに tremolo は音量が周期的に変化することで、vibrate は音程が周期的に変化する ことです。 ・これらの効果を簡単に得るために、pitch bend を利用した Choke.CAL VibArm.CAL の 2 つを作りました。実は中身はまったく同じで、初期値として + の bend 値を設定してあるのが Choke.CAL で、 - の値を設定してあるの が VibArm.CAL です。どちらも 171 という値ですが、これは pitch bend sensibility で +8191 を 1 オクターブと設定したときに、半音の 1/4 の変化幅になります。 ・いずれも、CAL program 中の変数を書換えることで、音程変化の程度、 変化させる位置、戻す位置を自由に設定できます。 (5) Duration を変える。 ・譜面ウィンドウで打込んでいく場合、音の長さをそのたびに変えるのが 面倒なので、とりあえず全部 8 分音符とか 16 分音符とかで置いていき ます(わしの場合ね)。で、そのあと DurLong.CAL を実行します。そうすると、音符の長さが次の音まで伸びます。実際に は note off が 次の音の note on に重ならないよう、1 tick くらい短 めにしています。--- そういった用途の CAL program です。 ・CakeWalk は、duration を一定比率で変えることはできるのですが、一 定値増減するというメニューが見あたらなかったので、 DurAdd.CAL を作りました。これはただそれだけの CAL program です。 (6) Velocity をあれこれする。 ・普通に弾いていても、velocity は、拍位置によって変わります。もちろ ん曲の盛り上がり等で細かく変えていくべきなのですが、私は横着なの で、拍位置によって勝手に velocity を設定する CAL program を作りま した。 Merihari.CAL さうです。メリハリをつけるわけですね。 ・たとえば 4 拍子であれば、1拍め、2拍め、3拍め、4拍め、そして time base が 120 なら、 60 の位置にある音、さらにそれ以外と、6種類の velocity を自動設定することができます。 ・メロディパートでは、1拍め、3拍めを強くします。リズムセクションで は、2拍めと4拍めを強くします。いずれにしても、実行後の微調整は必 要です。シンコペーションやクレッシェンド等は手動で設定します。 ・DurAdd.CAL 同様に、velocity 値を増減する CAL programとして、 VelAdd.CAL もございます。 ・ある範囲内で、velocity を全体に上げ下げしたいとき、「書き換え」 メニューを使いますが、現在の velocity の最大値、最小値を目で調べ るのが大変だったので、自動的に調べる CAL program を作りました。 VelRange.CAL --- でございます。実行すると、指定範囲内の velocity の最大値、最 小値、値の範囲が表示されます。 (7) Channel を書換える。 ・今回パッケージした CAL program の中に、1 track に複数の channel data があるとうまく動作しないものがあります。「編集」メニューの 「書き換え」を使ってもよいのですが、パネルを 2 回呼出しているので 手間がかかります。そこで、範囲指定の後、channel 値を指定するだけ で 範囲内のすべての data の channel 値を書換える CAL program を作 りました。 ChChange.CAL --- がそれです。 ---------------------------------------------------------------------------- ● pitch bend sensibility について ・pitch bend で指定できる値は -8192 〜 +8191 です。しかし、+8191 が どの程度の高さ変化に対応するかは、あらかじめ pitch bend sensibility で指定しておかねばなりません。 ・たとえば、+8191 を 1オクターブとして使う場合は、曲 data の前 (Setup Mesure) に、 Controler 101 - RPN MSB 0 Controler 100 - RPN LSB 0 Controler 6 - Data Entry MSB 12 Controler 38 - Data Entry LSB 0 Controler 101 - RPN MSB 127 Controler 100 - RPN LSB 127 --- を加えます。 ・GS音源では、初期値は、+8191 が 2 半音に設定されています。 これは、上記の 3 つめが Controler 6 - Data Entry MSB 2 に設定されている状態です。 ・GS音源では、+8191 を 2 オクターブに設定することもできます。 Controler 6 - Data Entry MSB 24 ただ、音色によっては pitch が上がりきらないものがあるそうで、 1 オクターブの範囲内で設定することが推奨されています。 ● File Name について。 ・Windows95 では、長い file 名が使えますし、space も使えます。 検索しやすいように、適当に名前を変えてお使いください。 ● 改造/転載等について ・著作権を主張するほどたいしたことはしていないので、コピー・改造 は、好きにしてください。 ・転載は自由ですが、Nifty Serve の転載規定にしたがってください。 ・不明な点、お気づきの点がございましたら、mail ください。でも、サ ポートが必要なほど たいそうな program ではないと思います。 ---------------------------------------------------------------------------