Yggdrasil Seeds : Software Works : DualMusik : セッティングレジスタ
PV[987942]

= コマンドでこれらのレジスタを設定し、動作を変化させることができます。
レジスタ#256以降はコンパイル時のみ有効で、DUMには反映されません。

0:補間ウェイト
1:補間ウェイトランダム加算値
(トラック毎に設定可)
補間処理の再計算間隔をステップ単位で指定する。
この間隔は補間処理の更新毎に、レジスタ#0 ~ (レジスタ#0+(レジスタ#1)-1)の間でランダムに決定される。
処理を軽くできる他、エクスポートするSMFのサイズを小さくできる。
また、ランダマイズすることで、複数トラックで同時に補間処理を実行する際に負荷を分散させることができる。

関連MML: KPVXYZ

2:テンポ補間ウェイト
3:テンポ補間ウェイトランダム加算値
(シーケンス全体に設定)
テンポ補間処理の再計算間隔を1/1000秒単位で指定する。
エクスポートするSMFのサイズを小さくするために使う。

関連MML: T

4:トランスポーズ
(トラック毎に設定可)
以後のノートオンやキープレッシャで指定されるノート番号に自動加算する値。
レジスタ#12と合わせて使うことにより、波形切替による音色化けを回避することもできる。

関連MML: ABCDEFGZ

5:相対トランスポーズ
(擬似レジスタ)
ここに書き込まれた値は、レジスタ#4に加算される。

関連MML: ABCDEFGZ

6:ホールド
(トラック毎に設定可)
コントロールチェンジ#64の代用品。0でoff,1でonにする。
onである間はノートオフの処理を保留する。CC#64と違いトラック毎に設定できるほか、SC-8850のホールドバグ回避などに使える。
ただし、SMFにエクスポートするときはノートオフの位置をいじるので、それを譜面出力すると表示が乱れる。
7:ソステヌート
(トラック毎に設定可)
コントロールチェンジ#66の代用品。0でoff,1でonにする。
onにしたときにノートオン状態にあるものだけを対象に、onである間はノートオフの処理を保留する。CC#66と違いトラック毎に設定できるほか、SC-8850のホールドバグ回避などに使える。
ただし、SMFにエクスポートするときはノートオフの位置をいじるので、それを譜面出力すると表示が乱れる。
8:SysEx用メーカID
9:SysEx用ディヴァイスID
10:SysEx用モデルID
11:SysEx用コマンドID
(トラック毎に設定可)
$ コマンドでシステムエクスクルーシヴを送信する際に必要となる設定。
初期値として、GSのディフォルト値である&41,&10,&42,&12がそれぞれ設定されている。

関連MML: $

12:ディチューン
(MIDIチャネル毎に設定可)
ピッチベンドに対して常に加算される値。
コマンド実行時、すぐにピッチベンドが更新される。

関連MML: K

13:相対ディチューン
(擬似レジスタ)
ここに書き込まれた値は、レジスタ#12に加算される。
このとき、ピッチベンドも更新される。

関連MML: K

14:データリラティヴ標準化
(MIDIチャネル毎に設定可)
CC#96(データインクリメント),CC#97(データデクリメント)の動作をCC#6(データエントリ)に置き換える。

関連MML: NY

15:ピッチベンド倍率
(トラック毎に設定可)
ピッチベンドを送信する際、ここで設定した数/8192を乗算してから送信する。

関連MML: K

16~23:コントロールチェンジ抑制フラグ
(シーケンス全体に設定)
コントロールチェンジ0~127についてのフラグが16個ずつ8つのレジスタに分けられている。
対象のビットが1になっているものは、コントロールチェンジの送信を省略する。ただし、送信前の処理はダミーで行われる。
また、CC#98~101は例外で、対象のビットが1になっている場合は127(null)が代わりに送信される(送信自体を省略するとCC#6,38が誤動作を引き起こす惧れがあるため)

関連MML: PVXY

24:プログラムチェンジ抑制フラグ
(トラック毎に設定可)
0~7までの値が有効で、この3ビットが下位からプログラムチェンジ,CC#0,CC#32に割り当てられている。
対象のビットが1になっているものは、送信を省略する。ただし、送信前の処理はダミーで行われる。CC#0,CC#32についてはレジスタ#16,#18と内容がかぶるが、どちらかが1になっていれば送信されない。

関連MML: IY@

25:ステップカウンタ制禦シグナル
(シーケンス全体に設定)(V0.24以降)
0~7までの値が有効で、設定時にステップカウンタの動作を制禦する。
0: 通常動作
1: 停止
2: 小節数カウント保留(再開時に余りステップ数があれば破棄して小節数をカウントアップ)
3: 余りステップ数破棄
4: 小節数強制カウント
5:リセット
6:現在値記憶(以前に記憶した値は破棄される)
7: 記憶した値に戻す
26:ステップカウンタ加算
(シーケンス全体に設定)(V0.24以降)
0~65535までの値が有効で、ステップカウンタに余りステップ扱いで加算する。
弱起な曲なんかで初期値を変えたいときとかに。
27:ヴェロシティカーヴ情報
(MIDIディヴァイス毎に設定可)(V0.25以降)
ヴェロシティ補正時に参照するヴェロシティカーヴ情報を設定する。よくわからなかったら0(ディフォルト)のままで。
0: 不明(補正されない)
1: 波形レヴェルはヴェロシティに比例
2: 波形レヴェルはヴェロシティの2乗に比例
[補足]
このレジスタは制作環境と再生環境の違いで生ずるヴェロシティカーヴの差異による音量バランスの変質を改善するためにある。制作環境と再生環境とでそれぞれヴェロシティカーヴ情報を設定し、両者に違いがあり且つどちらも0でないときにヴェロシティの補正が行われる。
MIDI規格の推奨ということで大抵の音源では2だが、Creative SW Synthのように1を採用している音源もある。

関連MML: U

28:オンヴェロシティ倍率
(トラック毎に設定可)(V0.25以降)
0~65535までの値が有効で、オンヴェロシティに乗算する倍率。256が1.0倍に相当する。

関連MML: U

29:オフヴェロシティ倍率
(トラック毎に設定可)(V0.25以降)
0~65535までの値が有効で、オフヴェロシティに乗算する倍率。256が1.0倍に相当する。

関連MML: U

30~39:拡張コントロール処理スウィッチング
(拡張コントロールと同じ)(V0.22以降)
-6~127までの値が有効で、対象とする拡張コントロールのチャネル番号を表す。
処理内容はレジスタ番号に依る。
30: 位相初期化処理改善パッチ;off
31: 位相初期化処理改善パッチ;on
32: エンヴェロープ;time
33: エンヴェロープ;step
34: キーモジュレーション;time
35: キーモジュレーション;step
36: フェード;time
37: フェード;step
38: オートモジュレーション;time
39: オートモジュレーション;step

関連MML: JM

40:ゲートタイムレート変化長
(トラック毎に設定可)(V0.26以降)
Q コマンド(*なし)で影響を受ける音長を固定する。
例えば %192 =40,48 とすると、音長の長さに関係なく4分音符長がQ コマンドの影響範囲となり、Q512を指定すると必ず8分音符ぶん短く再生される。
0を指定した場合は、この機能を解除する。

関連MML: Q

41:ゲートタイム動作フラグ
(トラック毎に設定可)(V0.26以降)
ゲートタイムの動作を変更する。
0~1までの値が有効で、この1ビットが下位から割り当てられている。
bit0: ゲートタイムモード混在不可(値を設定したらもう片方のモードはディフォルトに戻る。ただし、既に設定済みの値や拡張コントロールの動作には影響しない)

関連MML: Q

42:ゲートタイム基準値
(トラック毎に設定可)(V0.40以降)
Q コマンド(*なし)の指定で100%となる値(初期値=1024)を変更する。
昔のMML処理系では Q8 を100%としているものが多く、これらを移植するときはこのレジスタに 8 を設定しておくと便利。

関連MML: Q

100:ディヴァイス動作
(MIDIディヴァイス毎に設定可)(V0.26以降)
ディヴァイスの動作を変更する。
0: MIDI
1:DS WAVE
2:WRD(予定)←やる気なくなった(ぉ
[補足]
ディヴァイスの動作ををDS WAVEにすると、一部のMIDIメッセージをPCMに反映させることができる。WAVEディヴァイスへの関連付けは仮想的なもので、複数のディヴァイスをDS WAVEに割り当てることもできる。
レジスタ#103,#104を使ってPCMを制禦する場合はMIDIメッセージとは無関係なので、ディヴァイスの動作を変えるまでもない。
101:DS WAVE初期設定
(シーケンス全体に設定)(V0.26以降)
0以外が設定された場合はDS WAVE用ワークエリアを確保して初期化する。設定値は同時に扱える波形数となる。最大65535まで指定できるが、あまり大きすぎてメモリが確保できなかった場合は処理に失敗し、DS WAVEは扱えない。
また、既にワークエリアが確保されている場合も処理に失敗する。この場合、前回の設定は依然として有効となる。
(V0.30以降)
0を設定するとDS WAVEの再生を停止し、ワークエリアを解放する。この機能はリアルタイム性が維持できなくなる場合があるので使用は推奨しない。
102:DS WAVE音色設定対象
(トラック毎に設定可)(V0.26以降)
DS WAVE音色設定関連のコマンドにおいて、設定対象をプログラム番号*128+ノート番号で設定する。
103~104:DS WAVEキーオン
(擬似レジスタ)(V0.30以降)
プログラム番号*128+ノート番号の音を鳴らす。
レジスタ#103がワンショット,#104がループ再生となる。
当該リソースが全て使用中である場合、FIFOで強制解放したものを使う。
105:DS WAVEキーオフ
(擬似レジスタ)(V0.30以降)
プログラム番号*128+ノート番号の音を1つ消す。
当該リソースが複数使用中である場合、解放するリソースはLIFOで選ばれる。

(V0.47以降)
同一MIDIチャネル内において、音符を介して再生されたものが混在する場合は正常動作しない。

106~114:DS WAVE音色設定
(シーケンス全体に設定/ノート毎に設定可)(V0.30以降)
レジスタの内訳は以下の通り。
106: 全体音量
107: 全体定位
108: 全体音程
109: ノート別音量
110: ノート別定位
111: ノート別音程
112: 次回再生のみの音量
113: 次回再生のみの定位
114: 次回再生のみの音程
音量は0(消音)~16384(最大)、定位は-16384(左)~0(中)~+13684(右)、音程は(-32768~-256(半音下)~0(原音)~+256(半音上)~+32767)が有効範囲。
音色別設定はレジスタ#102で設定された音色だけが対象となる。
次回再生のみの設定は、次にDS WAVEキーオンが起こった時点で初期値に戻る。
115:PCMファイルチャネル
(トラック毎に設定可)(V0.40以降)
次回のPCMファイルロード(拡張コマンド#130)に対するチャネル番号を指定する。この値は関連PCMファイルロード後0に戻る。
116~117:PCM制禦フラグ
(トラック毎に設定可)(V0.40以降)
次回のPCMファイルロード(拡張コマンド#130)に対するPCM制禦フラグ(レジスタ#116がbit0~15,レジスタ#117がbit16~31に相当)を指定する。これらの値はPCMファイルロード後0に戻る。
118:DS WAVE音色設定コピー
(擬似レジスタ)(V0.41以降)
レジスタ#102で設定された対象の音色設定を同プログラムの別ノート(始端ノート番号*256+終端ノート番号で指定)に複製する。以後複製先のノートで発音がある場合、自動的に複製元のリソースが共用されるようになる。

[補足]
コピー対象となるパラメータは、レジスタ#109~111,121拡張コマンド#144~146

119:DS WAVE音色設定コピー(自動音程変化)
(擬似レジスタ)(V0.41以降)
レジスタ#102で設定された対象の音色設定を同プログラムの別ノート(始端ノート番号*256+終端ノート番号で指定)に複製する。このとき、ノート別音程だけはノート番号の差をみて元の設定に加算される。以後複製先のノートで発音がある場合、自動的に複製元のリソースが共用されるようになる。
120:DS WAVE音色設定コピー(別プログラム対応)
(擬似レジスタ)(V0.41以降)
レジスタ#102で設定された対象の音色設定を別ノート(プログラム番号*128+ノート番号で指定)に複製する。以後複製先のノートで発音がある場合、自動的に複製元のリソースが共用されるようになる。
121:DS WAVE音色フラグ設定
(擬似レジスタ)(V0.47 Rel.3以降)
レジスタ#102で設定された対象の音色フラグを設定する。
0~15までの値が有効で、この4ビットが下位から割り当てられている。
bit0~1: 予約(0固定)
bit2: 波形のループ再生
bit3: エンヴェロープ有効
130:ストリームコンテクスト
(トラック毎に設定可)(V0.40以降)
PCMストリーム関連のコマンド(レジスタ#131,#132,#133拡張コマンド#132~,#133,#134,#135,#137,#138,#139,#140,#141,#142)の実行対象とするコンテクストを切り替える。これを別の値に設定しておけば、複数のストリームを並行して扱うことができる。
有効範囲は0~15だが、プレイヤの仕様により同時に再生できるストリームの数が少ないこともあるので、若い番号から順に使っていくことが望ましい。
131:ストリームファイルチャネル
(ストリームコンテクスト毎に設定可)(V0.40以降)
次回のストリーム開始(拡張コマンド#132)に対するチャネル番号を指定する。この値はストリーム開始後0に戻る。
132~133:ストリーム制禦フラグ
(ストリームコンテクスト毎に設定可)(V0.40以降)
次回のストリーム開始(拡張コマンド#132)に対するPCM制禦フラグ(レジスタ#116がbit0~15,レジスタ#117がbit16~31に相当)を指定する。これらの値はストリーム開始後0に戻る。
252:スキップ解除ウェイト
(シーケンス全体に設定)(V0.45以降)
スキップ解除時に入れるウェイト量をステップ単位で設定する。
外部音源等でスキップ解除直後のシーケンスが正常に再生されない場合、この値を増やしておくとある程度安定化が図れる。
253~254:スキップ最適化設定
(MIDIディヴァイス毎に設定可)(V0.30以降)
レジスタ#253に書き込むとスキップ時の最適化を有効に、レジスタ#254に書き込むと無効にする。
設定値は、0~127が各コントロールチェンジ, -1がピッチベンド, -2がプログラムチェンジ, -3がチャネルプレッシャ, -4がキープレッシャを意味する。
255:スキップ
(シーケンス全体に設定)
0でoff,1~2でonにする。
onの間、ウェイトやノートオン処理が省略される。厳密には次のステップから有効となるため、offにした直後のノートオンも省略されてしまう。
また、ウェイトを挟まず他の処理を一度に実行するため、この間は特に負荷が高くなる。デバッグ目的で用意したものであるため、公表対象のデータはonにしないこと。

(V0.30以降)
2を書き込んだ場合は最適化モードとなり、ある種のMIDIメッセージは送信が保留される。ここで保留された内容は各種最後のMIDIメッセージのみ保持され、1以下が書き込まれたときに送信される。つまり、スキップ中に同種のMIDIメッセージが複数回呼ばれた場合は最後のものだけが送信されることになる。
ディフォルトで保留されるMIDIメッセージは以下の通り。この内訳はレジスタ#253,#254でMIDIディヴァイス毎に変更できる。
・コントロールチェンジ#1,#5,#7,#10,#11,#33,#37,#39,#42,#43,#64~78,#84,#91~95
・ピッチベンド
・チャネルプレッシャ
・キープレッシャ

256~267:ピッチベンド音律
(トラック毎に設定可)
スラーやポルタメントで音程を決める際に参照する音律テーブル。12のレジスタが C~B に対応しており、初期値として12平均律の値がセットしてある。
` コマンドの設定に関わらず、0=原音 ~ 8192=1オクターヴ上とする。

関連MML: ()

268:スウィッチングフラグ
(シーケンス全体に設定)
0~65535で表される16ビット値の各ビットが16個のフラグに対応しており、\ コマンドのスウィッチングに使う。
初期値は dumc のオプションで設定可能。
269:ピッチベンドレンジ
(トラック毎に設定可)(V0.21 Rel.3以降)
初期値は2。スラーやポルタメントで参照するためのピッチベンドレンジを設定する。音源の設定は行わないので、これらを正常に動作させるには別途RPNで設定しておく必要がある。
上限は特に定めていないが、音源や規格による上限(GMやXGは12,GSは24,FeelSoundは2)が存在することに注意。

関連MML: ()

270:和音制禦フラグ
(トラック毎に設定可)(V0.26以降)
0~31までの値が有効で、この5ビットが下位から割り当てられている。
bit0: ヴェロシティ制禦
bit1: アルペジオ制御
bit2: ヴェロシティスプライン補間
bit3: アルペジオスプライン補間
bit4: アルペジオのディレイ指定を和音全体のディレイとする。

関連MML: '

271~273:ヴェロシティ和音制禦パラメータ
(トラック毎に設定可)(V0.26以降)
和音を構成する音符にオンヴェロシティの変化をつける。パラメータは直前に設定されたオンヴェロシティからの相対変化値となる。和音中にオンヴェロシティを変化させた場合は正常動作しないが、これはこれで使えるかもしれないので正式な仕様とする。
271: 始点(始めの音符にかける変化量)
272: 中間値(スプライン補間を行う場合のみ有効)
273: 終点(最後の音符にかける変化量)

関連MML: '

274~276:アルペジオ和音制禦パラメータ
(トラック毎に設定可)(V0.26以降)
アルペジオ付きの和音中、それぞれの音符間にあるウェイトを偏らせる。パラメータは0~1024が有効だが、中間点の値によってはこの範囲内にあってもエラーが起こり得る。
274: 始点(初期値は0, 大きくすると、最初のウェイトが長くなる)
275: 中間値(初期値は512, 大きくするとウェイトが後半に偏る)
276: 終点(初期値は1024, 小さくすると、最後のウェイトが長くなる)

関連MML: '


[表紙] [前] [次]