[15-1]
ベンドレンジのトラック別設定(暫定策)
がうがう
2003/04/08(火)11:08
|
|
MFi3ではスラーが使えないため、ベンドで代用するわけですが、 現状のMLDCでは、ベンドレンジはトラック別に設定できないので、 不便している人も多いと思います。 NAKAさんがすぐに対応してくれると思いますが、 可及的速やかにトラック別設定したい方に、暫定策をお届けします。
とりあえず、BENDRANGE=2 でMLDを出力して下さい。 そのMLDをバイナリエディタで開き、FF E7 というデータを検索します。 すると、
FF E7 02 00 FF E7 42 00 FF E7 82 00 FF E7 C2 00
というデータ列が見つかると思います。 このデータ列でベンドレンジがトラック別設定されています。
3 byte目(0x02)…トラック1のベンドレンジ+0x00 7 byte目(0x42)…トラック2のベンドレンジ+0x40 11byte目(0x82)…トラック3のベンドレンジ+0x80 15byte目(0xC2)…トラック4のベンドレンジ+0xC0
つまり、トラック2だけをBENDRANGE=12にしたい場合は、 7byte目の0x42を0x4Cにすればいいわけです。
使用トラック数が5以上の場合は、このデータ列以降で FF E7 を再検索します。 すると、また同じデータ列が見つかります(トラック数4以下だと見つかりません)。 これは、トラック5〜8の設定に対応します。 以降、使用トラック数が4増えるたびにこのデータ列が1つ追加され、 それぞれのトラックのベンドレンジを設定できます。
※注意点 MML上の使用トラックがT1,T3,T7,T8,T9の場合、 上記MLDデータ内のトラックとの対応は以下のようになります。 T1=トラック1 T3=トラック2 T7=トラック3 T8=トラック4 T9=トラック5 つまり、MMLのT7のベンドレンジを設定するには、 MLDデータのトラック3のベンドレンジを設定することになります。 対応を間違えないようにして下さい。 |
[15-2]
ベンドの応用
がうがう
2003/04/08(火)11:37
|
|
別スレッドでdigさんが提案されていましたが、 ベンドを使用すると、音域拡張しないモードにおいて、 使用音域を±2オクターブ拡張することが可能です。
ですから、以下の様にすれば、かなりサイズを稼げます(^^)
例)
'音域拡張モード (SETTING) NOTEMODE=1 (T1) o1 v40l4 cdefgab<c
↓
'音域非拡張モード (SETTING) NOTEMODE=0 BENDRANGE=24'ヘルプではmax12ですが実際は24(±2オクターブ)までOK (T1) o3 v40l4 Y0 c Y128 defgab<c
※注意点 音色パラメタでキーに関与するパラメタ KSR,KSL の効果は、 ベンドによる音程変化の影響を受けません。 つまり、キャリアでKSL=1とした音色の場合、 上記「音域拡張モード(o1)」と「音域非拡張モード(o3)」では、 発音する音程は同じですが、音量は「音域非拡張モード」の方が小さくなります。
また、ML=0を多用するベース等の音色は、極低音で発音させると、 音割れしたり、余計な倍音が乗ったりしていたのですが、 ベンドで音程を下げる分には音色に影響がないようです。 このため、o1付近の発音で発生していた上記問題も、 o3で発音+ベンドで2オクターブ下、にすれば発生しないようです(^^)。 |
[15-3]
(*゜∀゜)=3
クーイ
2003/04/08(火)21:14
|
|
この解析、いやはや脱帽です。 軽くアタリとりましたがこれならいけそうです(*゜∀゜)=3 有難うございました(・∀・)ノシ |
[15-4]
tnx!
dig
2003/04/09(水)01:08
|
|
がうがう様、解析有難うございます。 ところで、一般MIDIのRPN入力でBendRange設定できますが、これってトラック別に設定できるものでしたっけ?
ベンドで音域拡張は、オーサリング上で音色作成時に確認できる響きと実機鳴動がかなり違ってしまって、応用は難しいと感じたのですが、がうがう様は上手くこなされているようですね。 容量も20kに増える事ですし、この応用でますます表現幅が広がりますね。 #あとはN音源ドライバの進展に期待・・・ループポイント設定できれば…(ドライバの仕様かは知りませんが) |
[15-5]
ハァハァです(萌)
クイジンヌ
2003/04/09(水)08:22
|
|
NAKAさんを彷彿とさせる解析力!なんでそんな事が出来るんですか〜?!そんながうがうさんにもう萌え萌えです(・∀・) もう16進数とかは見たくはありませんが(笑)、どういう事かは理解しました。 でも暫らくは静観してますぅ(泣) |
[15-6]
ご活用ください(^^)
がうがう
2003/04/09(水)10:33
|
|
>クーイさん あくまで暫定策なのでちょっと面倒ですが、 とりあえず正式対応までのしのぎとしてご活用下さい(^^)
>digさん 私の時代のMIDI機器(SC-88まで)では確か全体で1つのベンドレンジだったと思います。 でも分解能が±8192なので、不便はなかったですね。 ベンド音域拡張は、KSR,KSLを使用しない音色なら(今のところ)違和感ないです。 ドライバレベルのループポイントは是非欲しいところですよね。
>クイジンヌさん MLDCがあるからこそ解析できるわけで、NAKAさんとは全然レベルが違います(汗 ・BENDRANGEのみ変えて、変化するデータを検索 ・v2.08ではトラック1にしか反映されなかったので、v2.09と比較 ・トラック増減 これだけで解析してます。小一時間コースです(^^) |
[15-7]
FMレガートの不都合
dig
2003/04/15(火)00:30
|
|
やっぱり、スラー(レガート)が使えないと不便ですね。 音色変化させつつ、音階移動させるような表現で不便が生じます。 BendRange値で等分計算してやるしかないですが、結構面倒いですよねぇ。 チャンネルリザーブ1で固定にできないものか・・・
MA3(&mldc)で便利になった面もある反面、不便に感じる部分も等しくあったり…。 |
[15-8]
バイナリエディタ
dig
2003/04/18(金)07:46
|
|
バイナリエディタなんですが、何かお薦めのものはありますでしょうか。 レジストリに影響を与えないものが良いんですが。 |
[15-10]
ソフト
しお
2003/04/18(金)11:24
|
|
じつは簡易エディタを作ろうとしているところなんですが、精神力が持続しなくて( ̄_ ̄)ウツダ |
[15-11]
狐'sバイナリエディタ
(・∀・)/
2003/04/18(金)12:09
|
|
というのは如何でしょう?ベクターにありますよ。 以前、興味本意で落としたのが今もそのまま残ってたので、ここに来て役立ちそうですが大丈夫ですよね?がうがうさん(^^; |
[15-12]
狐
がうがう
2003/04/18(金)12:42
|
|
上で紹介しているFoxbinが狐'sバイナリエディタです(^^) |
[15-13]
有難うございます
dig
2003/04/18(金)23:26
|
|
いろいろ落としてみたところ、 Stirling(スターリング)が、インストーラなどもなくて扱いやすそうですね。 早速活用、といきたかったんですが、今回は用途が不適切なようでした。 また別の機会に活用させて頂きます。★ |
[15-14]
バイナリ挿入でベンドレンジ設定
がうがう
2003/04/29(火)22:11
|
|
バイナリエディタで一々編集するのが面倒というあなたに朗報。 MLDCのバイナリ挿入を使ってベンドレンジを設定する方法を紹介します。
【方法】 トラックデータ中に以下のバイナリデータを挿入します。
{00FFE7nn}
nnは以下のように算出します。 設定したいトラックが、 1,5, 9,13→0x00+ベンドレンジ 2,6,10,14→0x40+ベンドレンジ 3,7,11,15→0x80+ベンドレンジ 4,8,12,16→0xC0+ベンドレンジ
(例1) トラック2をベンドレンジ12に設定する。 (T2) {00FFE74C}
(例2) トラック11をベンドレンジ16に設定する。 (T11) {00FFE790}
【注意点】 バイナリの挿入はどこでも構いません。つまり、好きなタイミングでベンドレンジを変更できます。 ただし、トラック1,5,9,13の場合、トラック先頭に入れると反映されません。少なくとも1以上のデルタタイム後に挿入するようにして下さい。トラック先頭から反映させたい場合は、他のトラックを使用して下さい。 また、レンジ変更が実際に演奏に反映されるのは、上記バイナリ後の最初のベンドコマンドからです。 (SETTING)のBENDRANGEは、各トラックのデフォルトレンジとなります。
(例3) (SETTING) BENDRANGE=1 (T1) T120@1v40l4 Y60o4cY128defg'BENDRANGE=1(デフォルト)のY60で演奏 {00FFE710}'BENDRANGE=16に変更 o4cdefg'BENDRAMGE=1のY60で演奏(まだベンドコマンドがないため) Y60o4cY128defg'BENDRANGE=16のY60(半音下)で演奏 |
[15-15]
こういうの待ってました!!(・∀・)
machikun
2003/04/30(水)22:29
|
|
これこれ!!これならMLDC内で事足りますね(´∀` ) ちょっとだけ16進数計算がありますがね(汗)
でもこれ、良く見るとトラック別にベンドレンジ幅を調節出来るに留まらず、同トラック内で更にリアルタイムにベンドレンジ幅を色々変えられるんですね(・∀・)!!
と言うことは、その気になればNAKAさん対応してくれる可能性があると言うことですね。
それと分からないから聞いてしまいますが、デルタタイムって何の事ですか?? |
[15-16]
デルタタイム
がうがう
2003/05/01(木)00:41
|
|
デルタタイム(ΔT)は、直前の演奏情報を実行後どれだけ待機してから次の情報を実行するかを決める値です。
(T1) c*24'→(トラック先頭から)ΔT=0待機してからcを演奏 d*48'→ΔT=24待機してからdを演奏 e*96'→ΔT=48待機してからeを演奏 ……'→ΔT=96待機してから……
v40,%20,@1 といった情報は、後続の情報に対し、ΔT=0として扱われます。
前述したトラック1,5,9,13における注意点を具体的に説明すると、
(トラック先頭からΔT=0の位置にバイナリ挿入の例) (SETTING) BENDRANGE=1 (T1) T120@1%20v40'ΔT=0の情報のみ {00FFE710}'BENDRANGE=16にセット(ΔT=0) Y60o4cY128defg'→レンジ変更は反映されずBENDRANGE=1(デフォルト)のまま演奏
(トラック先頭からΔT=48の位置にバイナリ挿入の例) (SETTING) BENDRANGE=1 (T1) T120@1%20v40c*48'c*48があるので、次の情報はΔT=48となる。 {00FFE710}'BENDRANGE=16にセット(ΔT=48) Y60o4cY128defg'→レンジ変更が反映されてBENDRANGE=16で演奏
となります。 |
[15-17]
なるほど〜!(゜∀゜)
machikun
2003/05/01(木)10:07
|
|
ΔΤ=1以降なら反映されるんですね。 じゃぁ、例えば休符でr*1としてもΔΤ=1になるんですか?
逆に言えば一番先頭のノート情報にはベンドは掛けられないという事なんですね。だからそういった場合は他のトラックを使いなさいねって事なんですねぇ(・Α・) |
[15-18]
えっと
がうがう
2003/05/01(木)13:32
|
|
> じゃぁ、例えば休符でr*1としてもΔΤ=1になるんですか? その通りです(^^)
> 逆に言えば一番先頭のノート情報にはベンドは掛けられないという事なんですね。 ちょっと誤解されているようなので、補足します。 トラック1,5,9,13では、先頭からΔT=0に挿入されたバイナリが無視されますが、(SETTING)のデフォルトベンドレンジはちゃんと反映されています。また、ベンドコマンドは先頭から正常に効きます。 つまり、ベンドレンジの「変更」がΔT=0でできないだけです。 先頭から使いたいベンドレンジは(SETTING)で設定しておけば問題ないです。 |
[15-19]
ノ(*>∀゜ )そっか〜
machikun
2003/05/02(金)02:42
|
|
勘違いしてました。 今度こそOKです。どうもでした。
ちょっと別件で質問なんですが、音域拡張OFFでベンドレンジで制限以下の音程を発音させる時に、例えばベース音色にディチューンを掛けているものに対してディチューンを掛けたままオクターブを下げる事って出来るんですか?
ディチューンとか何もしてないままならそのままBENDRANGE=24とかで下げられると思いますが、BENDRANGE=1で±5掛けてる音色をディチューンを活かしたままBENDRANGE=24分そのまま下げる事は不可能のように思えるんですがどうでしょうか? スラーが使えてれば差して問題ではないと思うんですよね(^^; |
[15-20]
ベンドデチューン
dig
2003/05/02(金)08:42
|
|
約3分の1音階分のデチューンになります。かなりおおざっぱなデチューンです。(^_^; ビブラートか音色パラメータ中のデチューンで代用するのはどうでしょう。 |
[15-21]
ベンドデチューン
dig
2003/05/02(金)08:46
|
|
↑「3分の1音階分」はベンド値=1の場合です。 |
[15-22]
大ザッパー(笑)
machikun
2003/05/04(日)00:55
|
|
そうですか〜。それじゃあ使えないですね(汗)ビブDTで代用するしかないですねぇ。仕方ないかぁ(・Α・) それと新パラメタのDTですが、あまり変化無いように感じるんですが音色にもよるんですかねぇ…もう少し効果がはっきり現れてくれれば良かったのですがねぇ。それよりもOCTシフトパラメタあった方が良かったのですかね(汗) |
[15-23]
バイナリ挿入で…
mrk_dig
2003/05/24(土)01:45
|
|
バイナリ挿入でベンドレンジについてなのですが、
> 2,6,10,14→0x40+ベンドレンジ
例えば上記の例では、トラック2でベンドレンジ24のバイナリを挿入した場合、他の6,10,14もベンドレンジ24で固定となるのでしょうか? |
[15-24]
トラック別です
がうがう
2003/05/24(土)15:09
|
|
トラック別に設定されます。 以下の例ですと、T2はBR=2に、T6はBR=4に、T10,14はそのままのBRになります。
(T2) {00FFE742}'T2がBR=2 (T6) {00FFE744}'T6がBR=4
以下余談です。 MFi3ではトラック1-4,5-8,9-12,13-16がそれぞれ1つのグループとして扱われます。さらにグループ内の4つのトラックがチャンネル1-4に割り振られています。
(例) トラック2…トラック1-4のグループのチャンネル2 トラック8…トラック5-8のグループのチャンネル4
{00FFE7nn}のnnは 8-7bit:チャンネル1-4 4-0bit:ベンドレンジ0-24 となっています。 従いまして、以下の例のように機能します。
(例1) トラック12に{00FFE784}を挿入した場合 トラック9-12のグループのチャンネル3をBR=4に設定することになります。つまり、【トラック11】が変更対象です。 (例2) 例1と同じバイナリ{00FFE784}をトラック16に挿入した場合 トラック13-16のグループのチャンネル3、つまり【トラック15】が変更対象です。 (例3) {00FFE70400FFE74800FFE78C00FFE7D0}をトラック6に挿入した場合 トラック5がBR=4、トラック6がBR=8、トラック7がBR=12、トラック8がBR=16に設定されます。(ただし、各トラックでベンド値が再設定されないと変更の効果は出ません。)
以上のように色々な設定パターンがあるのですが、混乱を来さないように、基本的には変更対象のトラックにバイナリ挿入することをおすすめします。 |
[15-25]
音域拡張Off時のベーススライドダウン
mrk_dig
2003/12/11(木)02:42
|
|
音域拡張しないモードで BendRange=24で Y0でピッチを2オクターブ下げている場合、 ベースのベンドダウンなどで不便する場合があると思います。 例えばO1A#からベンドダウンする場合、 すでにY0になっているのでそれ以上下げられません。 この場合、シーケンスをA#より下にします。 BendRange=24の場合、 Y32=-12key Y0=-24key となりますので、 Y16とすればY0から6key上、 Y24で9key上の発音ができます。 ですので、例えばY24C#とすれば、9key上のA#から発音できます。
こんな感じになります。 L*8Y24C#*8,96Y22rY20rY18rY16rY14r Y12rY10rY8rY5rY3rY0ry128L8 (実鳴動−A#からベンドダウン)
また、音域拡張を外す場合を想定して、 私の場合,音色作成の段階でなるべくキースケール関係の情報は外すようにしています。
以上不要な考察でした。 |
|