domino/要望003/197

Last-modified: 2009-09-04 (金) 00:20:43

定義ファイルの変動する値の追加

  • ページ: domino/要望
  • 投稿者: イノウエ?
  • 優先順位: 低
  • 状態: 完了
  • 投稿日: 2009-07-25 (土) 02:47:03

メッセージ

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)

参考.P253
http://www.roland.co.jp/support/manual/index.cfm?ln=jp&SearchBy=RcId&dst=P&RcId=1809749&dsp=1&PRODUCT=SONIC%20CELL

チャンネルとキー(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値を組み合わせて生成する。

chvalue
0111 10 00
0211 30 00
0311 50 00
0411 70 00
0512 10 00
0612 30 00
0712 50 00
0812 70 00
0913 10 00
1013 30 00
1113 50 00
1213 70 00
1314 10 00
1414 30 00
1514 50 00
1614 70 00


gate(=key)value
2100 00 10
2200 00 12
2300 00 14
7600 00 7E
7700 01 00
10800 01 3E


gateが21~108じゃなかった場合は範囲内に収まるようにクリッピングして送信する。