定義ファイルの変動する値の追加
メッセージ
SonicCellの定義ファイルを作っています。
エクスクルーシブでリズムトラックをいじくる際に、チャンネルとキーを指定する必要があるのですが、それらが以下のように24bit中の真ん中8bitを共有してしまっています。
例
11 7* ** チャンネル指定(CH04)
** *1 3E キー指定(C8,KEY=108)
アドレスマップ
11h 10h 10h //CH01,KEY21(A0)
11h 10h 12h //CH01,KEY22(A#0)
(中略)
11h 11h 3Eh //CH01,KEY108(C8)
11h 30h 10h //CH02,KEY21(A0)
(中略)
11h 71h 3Eh //CH04,KEY108(C8)
12h 10h 10h //CH05,KEY21(A0)
(中略)
14h 71h 3Eh //CH16,KEY108(C8)
チャンネルとキー(Gateで指定、<Gate Type="Key" />でキーボード入力できると嬉しい)で上記のような24bitを生成する定義ファイルの変動する値の機能を追加していただけますでしょうか。
定義ファイルは↓で公開しています。
http://sikpon.6.ql.bz/SonicCell/
追記
説明書P253の左上のTemporary Patch/Rhythm (Performance Mode Part 1)あたりでチャンネル指定をし、
左下の* Temporary Patch/RhythmのTemporary Rhythmで普通のパッチかリズムかを指定、
右上の* RhythmのRhythm Tone (Key # 21)あたりでキーを指定します。
例としてチャンネル2、リズム、キー108(C8)の要素にアクセスするには、
11 20 00 00 + 10 00 00 + 01 3E 00 = 11 31 3E 00
となります。この上位24bitが必要になっているわけです。
- 了解です、また後日時間とれたときに試作してみますので、もうちょっとまってくださいね。 -- たかぼー? 2009-07-25 (土) 22:26:11
- 取説チラ見しただけだと判らなかったのですが(P253に書いてあるんですよね?)、SC-88ProとかはドラムパラメータはRPNだかNRPNだかで変えられたと思うのですが、sonic cellではそれは出来ないんですよね? -- たかぼー? 2009-07-28 (火) 09:38:42
- P245に受信するRPNメッセージが書かれていますが、リズムトラックに関する機能は無いようです。また、P273でNRPNの受信の欄が×になっているのでNRPNは受けつけないようです。試しにSC-8850の定義ファイルのDrumEdit_Dr:Pitch Coarseをコピペして持ってきても機能しませんでした。 -- イノウエ? 2009-07-28 (火) 16:31:16
- 了解です。その、上で例として出していただいた24bit値の書き方の説明は、説明書のどこに載っていますか?(P253見てもよく分からないのですが) -- たかぼー? 2009-07-28 (火) 17:28:21
- 追記しました。まだわかりづらいかもしれません -- イノウエ? 2009-07-28 (火) 21:29:04
- 追記ありがとうございます、一応下に仕様をまとめてみましたので、ご確認をお願いいたします。 -- たかぼー? 2009-07-29 (水) 10:08:17
- 確認しました。ばっちりです。 -- イノウエ? 2009-07-29 (水) 20:37:06
- 実装してみました→http://takabosoft.com/beta/Domino137_dev000.ZIP 定義ファイルで「#RSCTRT3 #RSCTRT2 #RSCTRT1」の順で記述してみてください。 一応いろんな値を入れてみてもらって、不具合が無いか確認してもらえますか? -- たかぼー? 2009-07-29 (水) 22:44:00
- いろいろ試してみましたが、問題なさそうです。実装していただき、ありがとうございました。 -- イノウエ? 2009-07-30 (木) 00:20:17
メモ
パラメータ名 | 意味 |
#RSCTRT3 | (SonicCell専用)ch値とgate値を使って24bit値を生成し、17~24bit目の値を作ります。 |
#RSCTRT2 | (SonicCell専用)ch値とgate値を使って24bit値を生成し、9~16bit目の値を作ります。 |
#RSCTRT1 | (SonicCell専用)ch値とgate値を使って24bit値を生成し、1~8bit目の値を作ります。 |
※RSCTRT = Roland Sonic Cell Temporary Rhythm Tone (ながい
24bit値はch値とgate値を組み合わせて生成する。
ch | value |
01 | 11 10 00 |
02 | 11 30 00 |
03 | 11 50 00 |
04 | 11 70 00 |
05 | 12 10 00 |
06 | 12 30 00 |
07 | 12 50 00 |
08 | 12 70 00 |
09 | 13 10 00 |
10 | 13 30 00 |
11 | 13 50 00 |
12 | 13 70 00 |
13 | 14 10 00 |
14 | 14 30 00 |
15 | 14 50 00 |
16 | 14 70 00 |
gate(=key) | value |
21 | 00 00 10 |
22 | 00 00 12 |
23 | 00 00 14 |
~ | ~ |
76 | 00 00 7E |
77 | 00 01 00 |
~ | ~ |
108 | 00 01 3E |
gateが21~108じゃなかった場合は範囲内に収まるようにクリッピングして送信する。