前回のV0.2から約1か月、だいぶ機能追加したので、Ver0.5としました。
今回の目玉はエンベロープ・ジェネレーターとエレメントレベルに踏み込んだ部分です。ヤマハの従来型MOXFでの音作りレベル程度までは網羅出来たと思います。
では順を追って・・・
◎全般
・ツマミ型インターフェースの改良
V0.2で作った時は、円弧を描くようにコントロールするように作ったのですが、世の中のVSTiなどの実装を見てみると、クリック後、単純にドラッグのY値(上下方向)のみに反応しているようなので、それに倣いました。そういう事だったのね。三角関数とか使う必要なかった。
・範囲指定インターフェースの新設
2つ目のオリジナルなインターフェースとして、範囲指定バーを作りました。鍵盤やベロシティの範囲を指定するツマミです。
・設定値のData値→Hz、dBなどの表現形式への翻訳対応
パラメータは0~127の値をコントロールするものが多いのですが、表示上は○○HzだったりdBだったりすることがあります。値をいろいろな形式に変換して表示する必要があるのですが、そのバリエーションの数のツマミを作るのは大変なので、表示変換部分を別関数にして上記ののインターフェースに組み込めるようにしました。
まぁこれ、プログラミングの内部的な話なので、殊更書く必要もないんですが、Delegate Functionとか初めて使ったので・・・
◎メインウィンドウ
・アルペジオスイッチ
各パートのEQを詳細ウィンドウに移動したので、ここにアルペジオ関係のスイッチを置きました。
MONTAGE/MODXでは、パフォーマンスを選んでみたものの、あるパートの音がでない、と悩んだ経験があると思います。主な原因は2つあります。
1)Volumeがアサイナブルノブやスーパーノブに関連付けられている
2)そのパートがアルペジオ専用設定になっている
1)に関しては、SuperKnob画面で確認できます。2)について今回の追加で確認しやすくなりました。
◎スーパーノブ設定ウィンドウ
・ここにもソフトキーボードを追加しました。スーパーノブ値を変えながら、適宜音色変化を確認できます。
◎詳細・ウィンドウ
今回、多数の画面・機能追加を行いました。
○General
・Volume、Pan、Velocity範囲、Note範囲を追加しました。
・クイックエディットのFEGオフセット値、AEGオフセット値を追加しました。
・3-band EQ、2-band EQを追加しました。なお、3-bandのLow Gain、Mid Gain、High Gainが今までメイン画面にあったものです。
○InsEffect、Reverb、Variation
・部分的にパラメータ表示形式を分かりやすくしています(赤いツマミ)。が、種類が多すぎて全部を網羅出来ていません。
○MasterEfeect
・MasterEQを追加しました。
○PartLFO
・LFO設定機能を追加しました。
LFOはAWMとFM音源では仕様が違います。
1)AWM音源の場合
パート全体のLFOで最大3つのパラメータを変調することができます。またそれぞれについて、エレメント毎にそのかかり具合や位相を設定します。
これとは別系統で、エレメント毎にスピードを変えられるElementLFOがあり、ピッチ、フィルター、レベル(Amplitude)を変調することができます。こちらは後述のAWMEdit画面に含まれています。
2)FM音源の場合
パート全体のLFOで最大3つのパラメータを変調することができます。FM音源の場合はこのLFOではオペレーター毎の設定はできません。
これとは別系統で、2ndLFOというものがあり、オペレータ毎にスピードを変えることはできませんが、ピッチ、フィルター、レベル(Amplitude)を変調することができ、ピッチとレベルはオペレーター毎にかかり具合を設定することができます。
3)Drum音源の場合
LFOによる変調はできません。
ということで、いよいよ今回の目玉です。
○AWMEdit
かなり複雑な画面です。
・画面上、水色のエリア
8つのエレメントについて、On/Off(チェックボックス)、XAControl、ElementGroup、波形ファイル、Velocity範囲、Note範囲、Insエフェクトどちらに接続するか、エレメントレベルを設定します。この例だと、ピアノの音を打鍵の強さで6段階の波形を使い分けています。
XAControlって普段あまり意識していないですが、このXAControl機能こそが歴代のYAMAHAのAWMシンセサイザーの特徴です。レガートで弾いた時に別のWaveformで発音したり、モジュレーションホイール近くにあるA.Switch1、2(アサイナブルスイッチ、これアサイナブルノブとは無関係です。分かりにくいね。)のOn/Offの組み合わせで音色を使い分けたりできるのです。例えば、SaxのGrowlのOn/Offとか、ギターで瞬間スライド音を出したりとか、一瞬だけ特殊奏法を行う際のスイッチとして使われることが多いです。
・画面左下、エンベロープジェネレーターエリア
水色エリアのラジオボタンで選択されたエレメントについて表示します。
緑エリアのラジオボタンでPEG(Pitch Envelope Generator)、FEG(Filter Envelope Generator)、AEG(Amplitude Envelope Generator)の切替になります。
FEGが選択された時は右の黄色エリアにフィルタータイプなどのパラメータが表示されます。
・画面右下、紫エリア
ElementごとのLFOの設定エリアです。水色エリアのラジオボタンで選択されたエレメントについて、それぞれスピードの違うLFOにてピッチ、フィルター、レベル(Amplitude)を変調することができます。
○DrumEdit
Drum音源は通常のAWM音源パートとは異なり、音階という概念がない代わりに72個の鍵盤それぞれに別のエレメントが割り当てられているという音源です。なので、キー毎に設定値が切り変わります。
○FMEdit
FM音源は最も難解な音源で、1冊丸ごとその原理の解説をした本があるくらいです。でも35年前にDX7が発売された時、それまで基本的にはMoog方式しかなかったシンセサイザー業界はあっと驚き、初めて聴くFM音源の音色に魅了されました。かくいう僕もその一人です。
原理は難解であれど、こうすればこんな音がでるのだという解説記事がキーボード雑誌に載り、ご丁寧に音色設定サンプルも多数紹介されたため、DX7を手に入れた先駆者たちは夢中で音作りに励んだものです。
DX7はFM音源を素朴に出すだけが精いっぱいで、DSPなぞあるはずもありません。みんな外付けでギター用のエコーとか、かけてたんじゃないかなぁ。
それも今は昔、DX7よりリッチな音がわずか1パートで作れるようになってしまいました。
というわけで、詳しい事を書き始めるときりがないので、エディタの構成のみ説明。
・ほとんどはAWMEditと同様です。
・DX7当時のFMから進化していて、源波形にサインカーブ以外のものも選べます。どんな音になっちゃうんだろう? FM変調しないオペレータに使うんだろうか?
・PEGは全体(CommonPEG)とオペレーター毎(PEG)と2種類あります。
・FEGは全体(CommonFEG)のみです。
・AEGはオペレータレベルのみです。
・アルゴリズム番号をクリックするとアルゴリズム選択ウィンドウが現れます。
DX7当時はオペレータ数が6個でしたが、MONTAGEでは8個に増えていて、順列組み合わせでアルゴリズム数も増えていますが、DX7から変換した音色の設定を見るに、新たに増えたのはオペレータ番号1、2で、番号3~8が旧1~6に対応している風ですね。なんで増えた2つを7、8にしなかったんだろう。分かりにくいこと、この上ない。
◎インストーラ
Ver0.1をインストールした後、Ver0.2をインストールしていない方は、ご面倒ですが、Ver0.1をアンインストール後、Ver0.5をインストールしてください。
すでにVer0.2までインストールしている方は上書きインストールが可能です。
◎雑感
上の方にも書きましたが、今回のリリース段階で、自分が必要とした機能はほぼ実装できたかなという感覚はあります。
アルペジオ機能を多用する人(結構多いのかも)にとっては、まだそこが足りないと思われるかもしれません。
そして、それより先は、MONTAGE/MODXの新規開発部分 = モーションシーケンサー、エンベロープフォロワー、シーン等々に踏み込んでいくことになってしまいます。
ここまで、力任せに開発してしまったのですが、なんか、当初は「目的別エディター」と言っていたくせに、どんどん網羅型一般エディターになってしまったキライがあるような気がしてなりません。
というのも、作り込めば作り込むほど、底なし沼のようにパラメータが多いのです。ここまででも、いくつかのパラメータは触らないだろうと切り捨てています。が、それでも多すぎて訳がわからない。エディタを作るため、僕はやむを得ず理解する必要がありましたが、これをMONTAGEを使う全ての人が理解するとは到底思えません。
当のオーナーであるカミさんなどは、「どうせ音色を選ぶだけだから編集ソフトは要らない」とさえ言います。それでも時々「なんで音が鳴らないんだろう」とか言いますが。
YAMAHAの開発者たちの想いとユーザーの感覚にはかなりの隔たりがあるなぁ。たぶん両者をつなぐための音色開発者が必要なんだろうなぁ。
僕の立場でそこを追求するなら、複数のパラメータを直感的にぱぱーっと触れてしまうようなマクロ機能的なエディターとかね。
あ、それを追求したのがスーパーノブなのか?
うーん、話が一周回ってしまいました。