SONARとピッチベンドとビブラートと

打ち込みで色々なビブラートをシュミレートしたい、というのはよくある話。SONARで行う場合は次の方法が考えられる。

  1. 手書き
  2. あらかじめよくあるパターンを作っておいて貼る
  3. CALで頑張ってみる
  4. オートメーションの利用
  5. 補助的なアプリケーションの利用

手書き

説明するまでもなく、ピアノロールのコントローラーパネルを開いてピッチベンドを手書き。フリーハンドや直線ツールを駆使。ただし、SONARには曲線ツールがない。必要な人は困るかもしれない。手書きする時は、スナップをオンにしたりオフにしたりが面倒。押している間だけスナップがオンになる、あるいはスナップのオン・オフが反転するような機能があると便利なのに。

パターンを作っておく

いくつかピッチベンドのビブラートパターンを作っておき、MIDIループにして保存。ループエクスプローラーからその都度貼るという手法。微妙な長さ違いはLengthを使うなどして調整。ビューの切り替えが多いせいか、あまり効率は良くない気がする。

CALを使う

sin波を書かせるCALはすでにいくつかあるが、1回で元に戻せない、周期を柔軟に変更できない、などの理由で実用に欠ける。しかもCALにはsin関数が無く、小数の計算をするのも大変なので、あらかじめ数値テーブルを作っておいてそれを参照したり、外部で計算したり(ただし現行SONARではバグのため利用できない)という方法をとる。自分で書くのはかなり大変。ビットシフトが無いのに固定小数点数計算にする必要があるなんてイヤすぎる。

オートメーションを使う

SONARはピアノロール上からはフリーハンド以外で曲線を書くことができない。しかし、オートメーションではマウスを横方向にドラッグしてSin、Triangle、Square、Saw、Randomの波を書ける。周期はスナップに従い、振幅はマウスの上下移動によって変更できる。
しかし、

  • 位置調整がわずらわしい
  • 値をぴったり0にできないことがある
  • ピアノロールビューから確認できない(インラインピアノロールビューを使えということなのかも)
  • オートメーションのままだと数値の加減乗除ができない
  • MIDIのピッチベンド値に置きなおすには、一度MIDIとして保存して開きなおす必要がある
  • 波の周期が一定(一応少し変更できないこともない)
  • 所々書き直すのが難しい
  • たまにバグる

などの理由からかなり使いにくいと感じる。
フリーハンドでもかけるが、細かい動きには反応しないのでノードを打っていく必要がある。

補助的なアプリケーションを使う

CakeDDEのようなアプリケーションを使って、ピッチベンドを作っておきDAWに転送する方法。CakeDDEは私には使いづらかった。今のところ他にこういうツールを公開している人はいないのでは。自分で作って私的に使っている人は結構居そう。

結論

シーケンサー → MIDIYOKE → DAWにして、打ち込み入力だけ他のシーケンサーを使う方法もある。しかし、最大の問題点は、所詮は機械的にピッチを変更しているということだ。どうしても音質変化が存在する。オートチューンでボーカルにビブラートを加える修正と同じ感覚がある。色々な方法を挙げてみたけど、結局、手書きに戻ってくるような。それにしても時間がかかってしまう。

DTMと音律とよもやま話

音源で音律変更

最近では音源に色々な音律がプリセットされている。こういう場合は、簡単に既存のMIDIファイルを使って音律の違いを体験できる。プリセットされていない場合でも、

  • NRPNで変更
  • 音源のGUI上から操作して変更(ソフトサンプラーに多い)
  • システムエクスクルーシブで変更(ハードウェアMIDI音源

などの方法でスケールチューンを変更できるものがある。SONAR付属のTTS-1の場合はNRPNで変更できるが、Truepianoは変更できない(たぶん)など、音源によって差がある。

ピッチベンドで純正律

音源がスケールチューンに対応していなくてもピッチベンドを使う方法がある。しかしこの場合は大変だ。C major scaleで主和音(CEG)を純正律で鳴らす場合を考えても、ドミソを鳴らすだけなのに3トラック必要になる。PBSを2半音にして、主音であるCに合わせてみる。12平均律に比べて3度が低く、5度が少し高いから、ドのトラックはそのまま、ミのトラックは-561、ソのトラックは+80にピッチベンドを設定。(Aを基準に考えるなら、C +15cent、E +1cent、G +17cent)。
16トラックある既存MIDIファイルをピッチベンドだけで純正律発音させようとしたら、16 * 12 = 192 トラック必要になるのでは。こういう場合、CALを使うなら次の手順だろう。

  • 12音それぞれのピッチベンド変更値を指定
  • 既存トラックの12音を12トラックに分割する
  • 指定したピッチベンド値をトラック冒頭に挿入

できなくはないが、純正律で発音するためだけの192トラックがあるプロジェクトファイルなんて、さわりたくない。異名異音にもこだわったとすれば、192トラックでも済まない。・・・関係ないが、考えてみれば『異名異音』とはおかしな表現だ。

話は変わってCubase6

Cubase6からVSTがVer3.5となった。この規格では、トラックごとではなく、ノートごとにCCやピッチベンドを設定できるノートエクスプレッションという機能がついた。このVST3.5対応音源を利用すれば、前述の純正律でトラック分けする必要がない。
そして、これとは別に単音のオーディオ素材からピッチとボリュームをMIDIパラメータとして抜き出せる機能が本体についたらしい(追記 Cubase5のVariAudio搭載時点でついていた)(これはもうかなり前からやっている人が多いから、ピッチ編集につづいてDAWの標準機能になりつつあるんだなという感じ)。ソロバイオリンのオーディオ素材からビブラートを抜き出してMIDIで鳴らす、ということがDAW単体で出来る。ただし、抜き出したパラメータでまともに鳴らすには人力補正が必要そう。そして実用レベルの精度かどうかは知らない。

SONARのCALを使うには

デフォルトのショートカットキーはCTRL+F1。
もしもメニューバーに存在しないようなら、メニューエディターから表示する設定にできる。さすがの遺物扱い。
各CALファイルをショートカットに登録して使うこともできる。ただし、あらかじめCAL用に設定してあるフォルダに置かないと、キーバインド設定にCALファイルが現れない。

ピッチベンド表

単純に8192を等分して四捨五入した値。
PBS=12の時の一般的なピッチベンドの表の値と異なるので注意。
あちらは1半音を682として掛け算しているが、この表の数値は一度小数まで計算している。
値が10くらい違っても違いはまったくわからない(もちろん値が0の時を除く)ので気にする必要はない。

PitchBendSensitivity 12ST(1536)

半音 Cubase
12 8191 16383
11 7509 15700
10 6827 15018
9 6144 14335
8 5461 13653
7 4779 12970
6 4096 12287
5 3413 11605
4 2731 10922
3 2048 10239
2 1365 9557
1 683 8874
0 0 8192
-1 -683 7509
-2 -1365 6826
-3 -2048 6144
-4 -2731 5461
-5 -3413 4778
-6 -4096 4096
-7 -4779 3413
-8 -5461 2731
-9 -6144 2048
-10 -6827 1365
-11 -7509 683
-12 -8192 0

PitchBendSensitivity 24ST(3072)

半音 Cubase
24 8191 16383
23 7851 16042
22 7509 15700
21 7168 15359
20 6827 15018
19 6485 14676
18 6144 14335
17 5803 13994
16 5461 13653
15 5120 13311
14 4779 12970
13 4437 12629
12 4096 12287
11 3755 11946
10 3413 11605
9 3072 11263
8 2731 10922
7 2389 10581
6 2048 10239
5 1707 9898
4 1365 9557
3 1024 9215
2 683 8874
1 341 8533
0 0 8192
-1 -341 7850
-2 -683 7509
-3 -1024 7168
-4 -1365 6826
-5 -1707 6485
-6 -2048 6144
-7 -2389 5802
-8 -2731 5461
-9 -3072 5120
-10 -3413 4778
-11 -3755 4437
-12 -4096 4096
-13 -4437 3754
-14 -4779 3413
-15 -5120 3072
-16 -5461 2731
-17 -5803 2389
-18 -6144 2048
-19 -6485 1707
-20 -6827 1365
-21 -7168 1024
-22 -7509 683
-23 -7851 341
-24 -8192 0

SONARのセレクトツールとペンツール

セレクトツールのショートカットはS、ペンツールはD。だからSとDを多用して切り替えて使う。SONARは標準設定だと、Altキー押下時にセレクトツールとペンツールの機能が入れ替わるように配置されている。だから、ちょっと切り替えたいときにはAltキーを使うと便利・・・のはず。X1ではどうなったのだろう。

SONARでMIDIファイルのテンポも読み込む

ちょっとしたこと。
SONARMIDIファイルを読み込むときにテンポ情報がなくなってしまって困ることがある。これはMIDIファイルをインポートするか、ファイルをプロジェクトのトラックへドラッグして読み込んだ場合に起こる。
テンポも読み込みたい場合は、「メニュー」-「ファイル」-「開く」でMIDIファイルを読み込めばいい。

SONARで連符を打ち込む

例えば、SONARで3連符を打ち込む場合、ピアノロールでペンツールを選択したのち

  1. 音符長さを決め
  2. さらに音符長さ3連符状態オン
  3. スナップを3連符にして
  4. マウスをクリックしてノートを配置

特に問題なのは、スナップの幅設定はショートカットキーだけで変更できないこと。3連符を打ち込んだあとで、スナップ設定を元に戻す必要もあるため煩わしい。(ただし、設定のダイアログはSHIFT+Nで出る。SONAR X1ではここが改善され、スナップ幅をショートカットキーで変更できるらしい)
そこでノートを分割するCALをショートカットに登録して使うと、わずかに効率があがる。

ActiveSONAR
http://sonar.web.infoseek.co.jp/tools/tools.htm
上記サイトから「xPLETer」をダウンロードして、SONARに設定してあるCAL用フォルダに置く。キーバインド設定から「xPLETer.cal」にショートカットキーを設定する。

分割したいノートをセレクトツールで選択。


xPLETer.calをショートカットキーで実行。
分割数を入力してOKを押す。


ノートを分割したら、必要に応じてノートピッチを変更。


注意だが、スナップを3連符に変更していないので、セレクトツールを使ってノートを動かすと連符の位置にスナップされない。セレクトツールを使ってピッチだけ変更する場合は、Altを押しながらノート中央をクリックしてドラッグする。不慣れなら、ペンツールに変更してもいいかもしれない。あるいはセレクトツールでノートだけ選択して上下にナッジするのもアリ。