先日のアルトクラリネットの件で思い出して、吹奏楽曲の DTM 打ち込みを再開してみた。まずは、3年前に買って、少しだけ使って放置していた「Garritan Concert and Marching Band 2」を引っ張り出して、研究してみた。
前に少し使ってみた時に、気づいたこと。
- ヴェロシティが効かない。音量はすべて expression で調整する。
- レガートってどうやってやるの?
- カットオフで音色の微調整をやる方法ある?
マニュアルとかチュートリアルがついてくるわけじゃないので、自力でなんとかしないといけない。どうしたものか、と思案していたのだが、音色データを見ると、基本的には sfz フォーマットであることに気づいた。
sfz フォーマットは、音色のすべての設定がテキストで記述されている。このテキストを編集すれば、音色のプレイバック方法を指定することができる。上の3つの問題点も、次のように解決することができる。
ヴェロシティは、amp_veltrack
というパラメータを指定すればよい。
// amp_veltrack=0 // これだとヴェロシティが効かない
amp_veltrack=85 // ヴェロシティが効く
レガートは、sfz ファイルを見ていて、指定方法を発見した。音声ファイルを指定する <region>
の中に、次のような記述がある。これは、$legato_cc
の値によって、offset
(サンプルプレイバックの開始位置)を変更するものである。
<region> lovel=1 hivel=127 lokey=51 hikey=51
pitch_keycenter=52 amplitude=100 tune=0 loop_mode=loop_continuous
loop_start=73763 loop_end=169823
offset_oncc$legato_cc=48194
sample=03ClarScnE3_0002102C.audio
$legato_cc
については、音色バンクを記述するファイル (CMB_STD.bank.xml
) に次の記述があるので、コントロールチェンジ 64 (cc64) であることがわかる。
<Define name="$legato_cc" value="64" />
さらに、音色ファイルの中には以下の記述もある。cc64 の値によって、アタックタイムが変化する。
ampeg_attack_oncc64=0.0667787 ampeg_attack_curvecc64=8
実験してみると、cc64 の値が 64 以上だと、アタックのない音になることがわかった。値を 64 より大きくすると、音の立ち上がりがさらに遅くなる。cc64 を 0 にすると、通常のアタック付きの音になる。この場合は、値を 1 以上にすると、アタックの最初が削られて変な音になる。(slap tongue みたいな音が欲しい時には使えるかもしれないけど、かなり不自然)
カットオフは、だいぶ苦戦した。最終的には、次のように指定することにした。cc74 とヴェロシティでカットオフ周波数が変化する。ヴェロシティによる違いは、「強く吹いた時と弱く吹いた時」の音色の変化に対応する。どのぐらい変化するかは、楽器の種類によって異なる。本当は各楽器ごとに微調整した方がいいのだろうけど、とりあえずこれで作ってみる。
// クラリネット系
cutoff=90
cutoff_cc74=5400
fil_veltrack=2400
// フルート、オーボエ、バスーン
cutoff=90
cutoff_cc74=5400
fil_veltrack=2400
// サキソフォン系
cutoff=45
cutoff_cc74=5400
fil_veltrack=3000
// 金管
cutoff=22
cutoff_cc74=5400
fil_veltrack=4800
こんな風になりました。
以前のバージョンはこれです。少しは良くなったかな。