七色工房

TiMidity++ システムエクスクルーシブ

この資料は,TiMidity++(TWSYNTH)のソースのSysEx読み取り部分をもとに,まとめたものです. 実際にどのように実装されているかまでは調べていないので,間違っているところや実装されてないものがあるかもしれません. 間違いを見つけたら,E-mailか掲示板に連絡してもらえると助かります.

この文書内では特に断りが無い限り16進数を使用します. ただし,[]左のような,かぎ括弧の中の数字は10進数です. また,この文書内では1byteを8bitとします.

Roland GS-Based Synthesizers

データ形式

F0(またはF7)41 10 42 123byteの数値可変長の数値1byteの数値F7
SysExの始まりメーカー,音源情報などアドレスデータチェックサムSysExの終わり

注意点

アドレスデータ

パラメータアドレス


データ
Rhythm Parts40 1c 15101:ドラム1, 02:ドラム2, 00:通常パート
Key Shift40 1c 16100[-64] - 40[0] - 7F[+63]
Master Tune40 00 0040018[-1000] - 0400[0] - 07E8[+1000]で指定.単位は半音の[1/1000].4ビットずつ,4バイトに分ける.(例: 044F => 00 04 04 0F)
Master Volume40 00 04100 - 7F
Volume on/off40 1c 19140以上ならば真,それ以外は偽
Receive channel on/off40 1c 02140以上ならば真,それ以外は偽
Controller Routing40 20 00
~40 2F 5A
-
Alternate Scale Tunings40 1c 40-
Chorus macro40 01 381リバーブマクロの初期値参照
Chorus PRE-LPF40 01 391
Chorus level40 01 3A1
Chorus feed back40 01 3B1
Chorus delay40 01 3C1
Chorus rate40 01 3D1
Chorus depth40 01 3E1
Chorus send level40 01 3F1
Rc Pitch-Bend40 1c 03-
Voice Reserve40 01 1016GS チャンネル表の順番でずらずら書いていくんだと思う.
GS Reset40 00 7F100
SC-88 Single Module00 00 7F100
Tone Number40 1c 002
Rx. Channel40 1c 022
Rx. Pitch Bend40 1c 031
Rx. Channel Pressure40 1c 041
Rx. Program Change40 1c 051
Rx. Control Change40 1c 061
Rx. Poly Pressure40 1c 071
Rx. Note Message40 1c 081
Rx. RPN40 1c 091
Rx. NRPN40 1c 0A1
Rx. Modulation40 1c 0B1
Rx. Volume40 1c 0C1
Rx. Panpot40 1c 0D1
Rx. Expression40 1c 0E1
Rx. Hold140 1c 0F1
Rx. Portamento40 1c 101
Rx. Sostenuto40 1c 111
Rx. Soft40 1c 121
MONO/POLY Mode40 1c 1310: mono, それ以外: poly
Assign Mode40 1c 141
Pitch Offset Fine40 1c 171
Part Level40 1c 191
Velocity Sense Depth40 1c 1A1
Velocity Sense Offset40 1c 1B1
Part Panpot40 1c 1C10: ランダム
Keyboard Range Low40 1c 1D1
Keyboard Range High40 1c 1E1
CC1 Controller Number40 1c 1F-
CC2 Controller Number40 1c 20-
Chorus Send Level40 1c 211
Reverb Send Level40 1c 221
Rx. Bank Select40 1c 231
Rx. Bank Select LSB40 1c 241
Delay Send Level40 1c 2C1
Pitch Fine Tune40 1c 2A2NRPN MSB=00 LSB=01 = v1 v2 と同じ
TONE MODIFY1: Vibrato Rate40 1c 301NRPN MSB=01 LSB=08 と同じ
TONE MODIFY2: Vibrato Depth40 1c 311NRPN MSB=01 LSB=09 と同じ
TONE MODIFY3: TVF Cutoff Freq40 1c 321NRPN MSB=01 LSB=20 と同じ
TONE MODIFY4: TVF Resonance40 1c 331NRPN MSB=01 LSB=21 と同じ
TONE MODIFY5: TVF&TVA Env.attack40 1c 341NRPN MSB=01 LSB=63 と同じ
TONE MODIFY6: TVF&TVA Env.decay40 1c 351NRPN MSB=01 LSB=64 と同じ
TONE MODIFY7: TVF&TVA Env.release40 1c 361NRPN MSB=01 LSB=66 と同じ
TONE MODIFY8: Vibrato Delay40 1c 371NRPN MSB=01 LSB=0A と同じ
Scale Tuning40 1c 401
MOD Pitch Control40 2c 001
MOD TVF Cutoff Control40 2c 011
MOD Amplitude Control40 2c 021
MOD LFO1 Rate Control40 2c 031
MOD LFO1 Pitch Depth40 2c 041
MOD LFO1 TVF Depth40 2c 051
MOD LFO1 TVA Depth40 2c 061
MOD LFO2 Rate Control40 2c 071
MOD LFO2 Pitch Depth40 2c 081
MOD LFO2 TVF Depth40 2c 091
MOD LFO2 TVA Depth40 2c 0A1
!!!FIXME!!! Bend Pitch Control40 2c 10100[-64] - 40[0] - 80[+63]で指定.RPN MSB=00 LSB=00 と同じ
Bend TVF Cutoff Control40 2c 111
Bend Amplitude Control40 2c 121
Bend LFO1 Rate Control40 2c 131
Bend LFO1 Pitch Depth40 2c 141
Bend LFO1 TVF Depth40 2c 151
Bend LFO1 TVA Depth40 2c 161
Bend LFO2 Rate Control40 2c 171
Bend LFO2 Pitch Depth40 2c 181
Bend LFO2 TVF Depth40 2c 191
Bend LFO2 TVA Depth40 2c 1A1
CAf Pitch Control40 2c 201
CAf TVF Cutoff Control40 2c 211
CAf Amplitude Control40 2c 221
CAf LFO1 Rate Control40 2c 231
CAf LFO1 Pitch Depth40 2c 241
CAf LFO1 TVF Depth40 2c 251
CAf LFO1 TVA Depth40 2c 261
CAf LFO2 Rate Control40 2c 271
CAf LFO2 Pitch Depth40 2c 281
CAf LFO2 TVF Depth40 2c 291
CAf LFO2 TVA Depth40 2c 2A1
PAf Pitch Control40 2c 301
PAf TVF Cutoff Control40 2c 311
PAf Amplitude Control40 2c 321
PAf LFO1 Rate Control40 2c 331
PAf LFO1 Pitch Depth40 2c 341
PAf LFO1 TVF Depth40 2c 351
PAf LFO1 TVA Depth40 2c 361
PAf LFO2 Rate Control40 2c 371
PAf LFO2 Pitch Depth40 2c 381
PAf LFO2 TVF Depth40 2c 391
PAf LFO2 TVA Depth40 2c 3A1
CC1 Pitch Control40 2c 401
CC1 TVF Cutoff Control40 2c 411
CC1 Amplitude Control40 2c 421
CC1 LFO1 Rate Control40 2c 431
CC1 LFO1 Pitch Depth40 2c 441
CC1 LFO1 TVF Depth40 2c 451
CC1 LFO1 TVA Depth40 2c 461
CC1 LFO2 Rate Control40 2c 471
CC1 LFO2 Pitch Depth40 2c 481
CC1 LFO2 TVF Depth40 2c 491
CC1 LFO2 TVA Depth40 2c 4A1
CC2 Pitch Control40 2c 501
CC2 TVF Cutoff Control40 2c 511
CC2 Amplitude Control40 2c 521
CC2 LFO1 Rate Control40 2c 531
CC2 LFO1 Pitch Depth40 2c 541
CC2 LFO1 TVF Depth40 2c 551
CC2 LFO1 TVA Depth40 2c 561
CC2 LFO2 Rate Control40 2c 571
CC2 LFO2 Pitch Depth40 2c 581
CC2 LFO2 TVF Depth40 2c 591
CC2 LFO2 TVA Depth40 2c 5A1
Reverb Macro40 01 301
Reverb Character40 01 311
Reverb Pre-LPF40 01 321
Reverb Level40 01 331
Reverb Time40 01 341
Reverb Delay Feedback40 01 351
Reverb Predelay Time40 01 371
Chorus Macro40 01 381
Chorus Pre-LPF40 01 391
Chorus Level40 01 3A1
Chorus Feedback40 01 3B1
Chorus Delay40 01 3C1
Chorus Rate40 01 3D1
Chorus Depth40 01 3E1
Chorus Send Level to Reverb40 01 3F1
Chorus Send Level to Delay40 01 401
Delay Macro40 01 501
Delay Pre-LPF40 01 511
Delay Time Center40 01 521
Delay Time Ratio Left40 01 531
Delay Time Ratio Right40 01 541
Delay Level Center40 01 551
Delay Level Left40 01 561
Delay Level Right40 01 571
Delay Level40 01 581
Delay Feedback40 01 591
Delay Send Level to Reverb40 01 5A1
EQ LOW FREQ40 02 001
EQ LOW GAIN40 02 011
EQ HIGH FREQ40 02 021
EQ HIGH GAIN40 02 031
Insertion Effect Parameter40 03 002
Insertion Effect Parameter40 03 031
Insertion Effect Parameter40 03 041
Insertion Effect Parameter40 03 051
Insertion Effect Parameter40 03 061
Insertion Effect Parameter40 03 071
Insertion Effect Parameter40 03 081
Insertion Effect Parameter40 03 091
Insertion Effect Parameter40 03 0A1
Insertion Effect Parameter40 03 0B1
Insertion Effect Parameter40 03 0C1
Insertion Effect Parameter40 03 0D1
Insertion Effect Parameter40 03 0E1
Insertion Effect Parameter40 03 0F1
Insertion Effect Parameter40 03 101
Insertion Effect Parameter40 03 111
Insertion Effect Parameter40 03 121
Insertion Effect Parameter40 03 131
Insertion Effect Parameter40 03 141
Insertion Effect Parameter40 03 151
Insertion Effect Parameter40 03 161
Insertion Effect Parameter40 03 171
Insertion Effect Parameter40 03 181
Insertion Effect Parameter40 03 191
Insertion Effect Parameter40 03 1B1
Insertion Effect Parameter40 03 1C1
Insertion Effect Parameter40 03 1D1
Insertion Effect Parameter40 03 1E1
Insertion Effect Parameter40 03 1F1
TONE MAP NUMBER40 4c 001
TONE MAP-0 NUMBER40 4c 011
EQ ON/OFF40 4c 201
EFX ON/OFF40 4c 221
Play Note Number41 d1 nn1
41 d2 nn1NRPN 1A nn = Data
41 d4 nn1NRPN 1C nn = Data
41 d5 nn1NRPN 1D nn = Data
41 d6 nn1NRPN 1E nn = Data
Rx. Note Off41 d7 nn1
Rx. Note On41 d8 nn1
41 d9 nn1NRPN 1F nn = Data
Play Note21 d1 nn1
Level21 d2 nn1NRPN 1A nn = Data
Assign Group21 d3 nn1
Panpot21 d4 nn1NRPN 1C nn = Data
Reverb Send Level21 d5 nn1NRPN 1D nn = Data
Chorus Send Level21 d6 nn1NRPN 1E nn = Data
Rx. Note Off21 d7 nn1
Rx. Note On21 d8 nn1
Delay Send Level21 d9 nn1NRPN 1F nn = Data
Source Map21 dA nn1
Source Prog21 dB nn1
Source Note21 dC nn1
Channel Msg Rx Port (A)00 01 001
Channel Msg Rx Port (B)00 01 101

テキストの挿入

データ形式

F0(またはF7)41 10 45 1210 00 0016進数に変換した文字列00F7
SysExの始まりメーカー,音源情報などアドレスデータチェックサムSysExの終わり

注意点

例) F0 41 10 45 12 10 00 00 96 7B 93 FA 82 CD 0D 0A 90 B0 93 56 82 C8 82 E8 00 F7

Windowsのコマンドラインの場合,「本日は(改行)晴天なり」と表示されます. それ以外の環境だと,文字コードや改行コードが正しく認識されない場合があります.

ドット絵の表示

データ形式

F0(またはF7)41 10 45 1210 01 00[64]byteの数値00F7
SysExの始まりメーカー,音源情報などアドレスデータチェックサムSysExの終わり

注意点

1173349
2183450
3193551
4203652
5213753
6223854
7233955
8244056
9254157
10264258
11274359
12284460
13294561
14304662
15314763
16324864

XG

データ形式

F0(またはF7)43 10 4C3byteの数値可変長の数値F7
SysExの始まりメーカー,音源情報などアドレスデータSysExの終わり

注意点

アドレスデータ

パラメータアドレス


データ
XG SYSTEM ON00 00 7E100
XG Master Tune00 00 0040000[-1024] - 0400[0] - 07FF[+1023]で指定.単位は半音の[1/1000].4ビットずつ,4バイトに分ける.(例: 044F => 00 04 04 0F)
Reverb Type02 01 002XG リバーブタイプ表参照
Reverb Return02 01 0C1
Chorus Type02 01 202XG コーラスタイプ表参照
Chorus Return02 01 2C1
EQ type02 40 001
EQ gain102 40 011
EQ frequency102 40 021
EQ Q102 40 031
EQ shape102 40 041
EQ gain202 40 051
EQ frequency202 40 061
EQ Q202 40 071
EQ gain302 40 091
EQ frequency302 40 0A1
EQ Q302 40 0B1
EQ gain402 40 0D1
EQ frequency402 40 0E1
EQ Q402 40 0F1
EQ gain502 40 111
EQ frequency502 40 121
EQ Q502 40 131
EQ shape502 40 141
Element Reserve08 00 00-
bank select MSB08 ch 011
bank select LSB08 ch 021
program number08 ch 031
Rcv CHANNEL08 ch 041
mono/poly mode08 ch 0510:mono, それ以外:poly
Same Note Number Key On Assign08 ch 061
Part Mode08 ch 07101:ドラム1, 02:ドラム2, 00:通常パート
note shift08 ch 081
Detune 1st bit08 ch 09-
Detune 2nd bit08 ch 0A-
volume08 ch 0B1
Velocity Sense Depth08 ch 0C1
Velocity Sense Offset08 ch 0D1
pan08 ch 0E10:ランダム
Note Limit Low08 ch 0F1
Note Limit High08 ch 101
Dry Level08 ch 111
chorus send08 ch 121
reverb send08 ch 131
Variation Send08 ch 141
Vibrato Rate08 ch 151NRPN MSB=01 LSB=08 と同じ
Vibrato Depth08 ch 161NRPN MSB=01 LSB=09 と同じ
Vibrato Delay08 ch 171NRPN MSB=01 LSB=0A と同じ
Filter Cutoff Frequency08 ch 181NRPN MSB=01 LSB=20 と同じ
Filter Resonance08 ch 191NRPN MSB=01 LSB=21 と同じ
EG Attack Time08 ch 1A1NRPN MSB=01 LSB=63 と同じ
EG Decay Time08 ch 1B1NRPN MSB=01 LSB=64 と同じ
EG Release Time08 ch 1C1NRPN MSB=01 LSB=66 と同じ
MW Pitch Control08 ch 1D1
MW Filter Control08 ch 1E1
MW Amplitude Control08 ch 1F1
MW LFO PMod Depth08 ch 201
MW LFO FMod Depth08 ch 211
MW LFO AMod Depth08 ch 221
bend pitch control08 ch 23100[-64] - 40[0] - 80[+63]で指定.RPN MSB=00 LSB=00 と同じ
Bend Filter Control08 ch 241
Bend Amplitude Control08 ch 251
Bend LFO PMod Depth08 ch 261
Bend LFO FMod Depth08 ch 271
Bend LFO AMod Depth08 ch 281
Rcv Pitch Bend08 ch 301
Rcv Channel Pressure08 ch 311
Rcv Program Change08 ch 321
Rcv Control Change08 ch 331
Rcv Poly Pressure08 ch 341
Rcv Note Message08 ch 351
Rcv RPN08 ch 361
Rcv NRPN08 ch 371
Rcv Modulation08 ch 381
Rcv Volume08 ch 391
Rcv Pan08 ch 3A1
Rcv Expression08 ch 3B1
Rcv Hold108 ch 3C1
Rcv Portamento08 ch 3D1
Rcv Sostenuto08 ch 3E1
Rcv Soft08 ch 3F1
Rcv Bank Select08 ch 401
scale tuning08 ch xx1xx は ch+41 の値
CAT Pitch Control08 ch 4D1
CAT Filter Control08 ch 4E1
CAT Amplitude Control08 ch 4F1
CAT LFO PMod Depth08 ch 501
CAT LFO FMod Depth08 ch 511
CAT LFO AMod Depth08 ch 521
PAT Pitch Control08 ch 531
PAT Filter Control08 ch 541
PAT Amplitude Control08 ch 551
PAT LFO PMod Depth08 ch 561
PAT LFO FMod Depth08 ch 571
PAT LFO AMod Depth08 ch 581
AC1 Controller Number08 ch 59-
AC1 Pitch Control08 ch 5A1
AC1 Filter Control08 ch 5B1
AC1 Amplitude Control08 ch 5C1
AC1 LFO PMod Depth08 ch 5D1
AC1 LFO FMod Depth08 ch 5E1
AC1 LFO AMod Depth08 ch 5F1
AC2 Controller Number08 ch 60-
AC2 Pitch Control08 ch 611
AC2 Filter Control08 ch 621
AC2 Amplitude Control08 ch 631
AC2 LFO PMod Depth08 ch 641
AC2 LFO FMod Depth08 ch 651
AC2 LFO AMod Depth08 ch 661
Portamento Switch08 ch 671
Portamento Time08 ch 681
Pitch EG Initial Level08 ch 69-
Pitch EG Attack Time08 ch 6A-
Pitch EG Release Level08 ch 6B-
Pitch EG Release Time08 ch 6C-
Velocity Limit Low08 ch 6D1
Velocity Limit High08 ch 6E1
Bend Pitch Low Control08 ch 70-
Filter EG Depth08 ch 71-
EQ BASS08 ch 721NRPN MSB=01 LSB=30 と同じ
EQ TREBLE08 ch 731NRPN MSB=01 LSB=31 と同じ
EQ BASS frequency08 ch 761NRPN MSB=01 LSB=34 と同じ
EQ TREBLE frequency08 ch 771NRPN MSB=01 LSB=35 と同じ
Pitch Coarse3d nn 001NRPN MSB=18 LSB=nn と同じ
Pitch Fine3d nn 011NRPN MSB=19 LSB=nn と同じ
Level3d nn 021NRPN MSB=1A LSB=nn と同じ
Alternate Group3d nn 03-
Pan3d nn 041NRPN MSB=1C LSB=nn と同じ
Reverb Send3d nn 051NRPN MSB=1D LSB=nn と同じ
Chorus Send3d nn 061NRPN MSB=1E LSB=nn と同じ
Variation Send3d nn 071NRPN MSB=1F LSB=nn と同じ
Key Assign3d nn 08-
Rcv Note Off3d nn 091
Rcv Note On3d nn 0A1
Filter Cutoff Frequency3d nn 0B1NRPN MSB=14 LSB=nn と同じ
Filter Resonance3d nn 0C1NRPN MSB=15 LSB=nn と同じ
EG Attack3d nn 0D1NRPN MSB=16 LSB=nn と同じ
EG Decay13d 00 0E1
EG Decay23d 00 0F1
EQ BASS3d nn 201NRPN MSB=30 LSB=nn と同じ
EQ TREBLE3d nn 211NRPN MSB=31 LSB=nn と同じ
EQ BASS frequency3d nn 241NRPN MSB=34 LSB=nn と同じ
EQ TREBLE frequency3d nn 251NRPN MSB=35 LSB=nn と同じ
High Pass Filter Cutoff Frequency3d nn 50-
Velocity Pitch Sense3d nn 60-
Velocity LPF Cutoff Sense3d nn 61-

GM2

注意点

アドレスデータ

パラメータアドレスデータ
Master VolumeF0 7F 7F 04 01 dd dd F70000 - 3FFFで指定.下7bitが前,上7bitが後にくるようにする.
VolumeF0 7F 7c 04 01 00 dd F7cチャンネルの音量を,00 - 7Eで指定.2進数の1の位切捨て.
GM2 Master Fine TuneF0 7F 7F 04 03 dd dd F70000[-8192] - 2000[0] - 3FC0[+8191]で指定.単位は半音の[1/8192].下7bitが前,上7bitが後にくるようにする.
GM2 Master Coarse TuneF0 7F 7F 04 04 00 dd F728[-24] - 40[0] - 58[+24]で指定.単位は半音.
MIDI Tuning Standard(RealTime)F0 7F 7F 08 0A dd dd F7MSB-40 + LSB*10
MIDI Tuning Standard(Non-RealTime)F0 7F 7E 08 0A dd dd F7MSB-40 + LSB*10
GM System OnF0 7F 7F 09 01 F7
GM2 System OnF0 7F 7F 09 03 F7
GM System OffF0 7F 7F 09 02 F7
Reverb TypeF0 7F xx 04 05 xx xx xx 01 01 00 dd F7
Reverb TimeF0 7F xx 04 05 xx xx xx 01 01 01 dd F7
Chorus TypeF0 7F xx 04 05 xx xx xx 01 02 00 dd F7
Modulation RateF0 7F xx 04 05 xx xx xx 01 02 01 dd F7
Modulation DepthF0 7F xx 04 05 xx xx xx 01 02 02 dd F7
FeedbackF0 7F xx 04 05 xx xx xx 01 02 03 dd F7
Send To ReverbF0 7F xx 04 05 xx xx xx 01 02 04 dd F7
MIDI Tuning StandardF0 7F xx 08よくわからない.
Pitch ControlF0 7F xx 09 01 ch 00 dd F7
Filter Cutoff ControlF0 7F xx 09 01 ch 01 dd F7
Amplitude ControlF0 7F xx 09 01 ch 02 dd F7
LFO Pitch DepthF0 7F xx 09 01 ch 03 dd F7
LFO Filter DepthF0 7F xx 09 01 ch 04 dd F7
LFO Amplitude DepthF0 7F xx 09 01 ch 05 dd F7

GS チャンネル表

適応したいチャンネル(10進数)実際に入力する値(16進数)
10チャンネル0
1チャンネル1
2チャンネル2
3チャンネル3
4チャンネル4
5チャンネル5
6チャンネル6
7チャンネル7
8チャンネル8
9チャンネル9
11チャンネルA
12チャンネルB
13チャンネルC
14チャンネルD
15チャンネルE
16チャンネルF
26チャンネル0
17チャンネル1
18チャンネル2
19チャンネル3
20チャンネル4
21チャンネル5
22チャンネル6
23チャンネル7
24チャンネル8
25チャンネル9
27チャンネルA
28チャンネルB
29チャンネルC
30チャンネルD
31チャンネルE
32チャンネルF

XG リバーブタイプ表

注意点
リバーブタイプ入力する値
Hall 101 00
Hall 201 01
Room 102 00
Room 202 01
Room 302 02
Stage 103 00
Stage 203 01
Plate04 00

XG コーラスタイプ表

注意点
41 00Chorus 1
41 01Chorus 2
41 02Chorus 3
41 08Chorus 4
42 00Celeste 1
42 01Celeste 2
42 02Celeste 3
42 08Celeste 4
43 00Flanger

リバーブマクロの初期値

この表の中の値は,すべて10進数で表されています.








Pre-LPF























00Room103648000
01Room214645600
02Room320646400
03Hall134647200
04Hall240646400
05Plate50648800
06Delay606432400
07Panning Delay706464320

コーラスマクロの初期値

この表の中の値は,すべて10進数で表されています.



Pre-LPF




























00Chorus106401123500
01Chorus206458091900
02Chorus306488031900
03Chorus4064166491600
04Feedback Chorus0646412722400
05Flanger0641121271500
06Short Delay0640127012700
07Short Delay(Feedback)06480127012700

ディレイマクロの初期値

この表の中の値は,すべて10進数で表されています.



Pre-LPF


|




|



|



|




|



|














00Delay1097111270064790
01Delay20106111270064790
02Delay30115111270064630
03Delay4083111270064710
04Pan Delay1090122401256064730
05Pan Delay20109122401256064700
06Pan Delay30115122401206464720
07Pan Delay4093122401206464630
08Delay to Reverb01091224011460646036
09Pan Repeat01102131971276764390