| < Note 936.0 by ACORN::BAILEY "Ultrix--Live Free and Die" >
-< Yamaha SYSEX facism? >-
> Something I've always wondered about, but never asked. Why doesn't
> Yamaha publish their SYSEX formats? Are they public domain, but
> just not spread around, or do you have to pay them a million dollars
> and four fatted calves per year to get your hands on them?
A copy of the DX-7 SYSEX info that I pulled off of USENET a while
back follows the body of this reply.
> I'd like to write a voice editor for my DX, but I loath the thought of
> having to talk directly to Yamaha International.
You can get any Yamaha service manual by calling the Yamaha service
PARTS desk. I beleive I posted the number here in a previous reply
about a year ago. All Yamaha service manual are between $15 and
$20 no matter how large or small.
> I'm told that the format for the DX7 is described in the service
> manual. Are all Yamaha products like this?
I have in front of me a document titled "Digital Programmable Algorithm
Synthesizer DX7/9 Service Manual". Sorry - No sysex info in it,
so if you were going to get a copy just for SYSEX info., you will
be wasting your $20.00. As far as the rest of Yamaha products the
CX5 manual doesn't have anything either. If you can get hold of
a TX-7 manual, I am told, it has all kinds of SYSEX info, and it
was an oversite that it was left out of the DX-7 owner's manual.
Newsgroups: net.music.synth
Path: decwrl!sun!dss
Subject: Re: Need codes for DX7 data retrieval (Another MIDI question)
Posted: 3 Sep 86 03:04:23 GMT
Organization: Sun Microsystems, Inc.
Keywords: patch data, function parameter data
>I need some info on how to get data out of my DX7. Specifically,
>patch data and function parameter data. I want to make a patch librarian
>that will remember the function parameter settings for each sound as well as
>the volume setting.
Here's some info that has been passed along from generation to generation
through the ages by oral tradition :-). I make no claims about its correct/
complete-ness.
I'm getting a TX-7 soon and will post any additional stuff as appropriate.
-daniel
---------------------------------------------------------------------------
Yamaha DX-7 Midi Messages
1. TRANSMISSION DATA
1.1 Channel Information
1001nnnn key ON & channel number (n=0 -> ch1)
0kkkkkkk key number (k=36 -> C1; k=96 -> C6)
0vvvvvvv key velocity (v=0 -> key OFF; v=1 -> ppp; v=127 -> fff)
1011nnnn control change & channel number (n=0 -> ch1)
0ccccccc control number
0vvvvvvv control value
------------------------------------------------
C Parameter V
------------------------------------------------
1 modulation wheel 0 ~ 127
2 breath controller 0 ~ 127
D0 after touch 0 ~ 127
4 foot controller 0 ~ 127
6 data entry knob 0 ~ 127
64 sustain foot switch 0->OFF, 127->ON
95 portamento foot switch 0->OFF, 127->ON
96 data entry+1 0 ~ 127
97 data entry-1 0 ~ 127
------------------------------------------------
1100nnnn program change & channel number (n=0 -> ch1)
0ppppppp program number (p=0 -> voice1; p=31 -> voice 32)
1110nnnn pitch bender & channel number (n=0 -> ch1)
0vvvvvvv pitch bender & value LS byte
0vvvvvvv pitch bender value MS byte (0; 64; 127)
--------------------------------
MS byte LS byte
--------------------------------
0 ~ 64 0
65 ~ 127 2 (MS byte - 64)
--------------------------------
1.2 System exclusive information.
1.2.1 MIDI active clock
11110000 status byte
0iiiiiii identification number (i=67 -> YAMAHA)
MIDI active clock is continuously output at 80ms intervals,
except during bulk dump data transmission/reception.
1.2.2 Bulk data for one voice
11110000 status byte
0iiiiiii identification number (i=67 -> YAMAHA;
0sssnnnn sub status (s=0) & channel number (n=0 -> ch1)
0fffffff format number (f=0 -> 1 voice)
0bbbbbbb byte count MS byte
0bbbbbbb byte count LS byte
0ddddddd data 1st byte
...
0ddddddd data 155th byte
0eeeeeee check sum (2's complement of the sum of 155 bytes)
1.2.3 Bulk data for 32 voices
11110000 status byte
0iiiiiii identification number (i=67 -> YAMAHA;
0sssnnnn sub status (s=0) & channel number (n=0 -> ch1)
0fffffff format number (f=9 -> 32 voices)
0bbbbbbb byte count MS byte
0bbbbbbb byte count LS byte (b=4 -> 96; 32 voices)
0ddddddd data 1st byte
...
0ddddddd data 4096th byte
0eeeeeee check sum (2's complement of the sum of 155 bytes)
1.2.4 Parameter change
11110000 status byte
0iiiiiii identification number (i=67 -> YAMAHA;
0sssnnnn sub status (s=0) & channel number (n=0 -> ch1)
0gggggpp parameter group number (g=0 -> common dx7 voice parameter,
g=2 -> dx7 function parameter)
0ppppppp parameter number
0ppppppp parameter number
0ddddddd data
NOTE: dx7's manufactured before august 83 use B003 for after touch.)
g=0: common dx7 voice parameter
=====================================================
P parameter d
=====================================================
0 op6 eg rate 1 0 ~ 99
1 2
2 3
3 4
4 level 1
5 2
6 3
7 4
8 keyboard level scale break point
9 left depth
10 right depth
11 left curve 0 ~ 3
12 right curve
13 keyboard rate scaling 0 ~ 7
14 mod sensitivity ampl. 0 ~ 3
15 operator key vel sens. 0 ~ 7
16 operator output level 0 ~ 99
17 oscillator mode 0 ~ 1
18 freq coarse 0 ~ 31
19 fine 0 ~ 99
20 detune 0 ~ 14
----------------------
21
... op5 ~ op1
125
----------------------
126 pitch eg rate 1 0 ~ 99
127 2
128 3
129 4
130 level 1
131 2
132 3
133 4
134 algorithm select 0 ~ 31
135 feed back 0 ~ 7
136 oscillator sync 0 ~ 1
137 lfo speed 0 ~ 99
138 delay
139 pmd
140 amd
141 sync 0 ~ 1
142 wave 0 ~ 4
143 mod sensitivity pitch 0 ~ 7
144 transpose 0 ~ 48
--------------------
145 voice name 1 ascii
...
154 voice name 10
--------------------
155 operator on/off d6 d5 d4 d3 d2 d1 d0
0=off, 1=on 0 op1 op2 op3 op4 op5 op6
=====================================================
g=2: dx7 function parameter
=====================================================
P parameter d
=====================================================
64 mono/poly mode change 0 ~ 1
65 pitch bend range 0 ~ 12
66 step
67 portamento mode 0 ~ 1
68 glissando
69 time 0 ~ 99
70 modulation wheel range 0 ~ 99
71 assign 0 ~ 7
72 foot controller range 0 ~ 99
73 assign 0 ~ 7
74 breath controller range 0 ~ 99
75 assign 0 ~ 7
76 after touch range 0 ~ 99
77 assign 0 ~ 7
=====================================================
2. RECEPTION DATA
2.1 Channel Information
Reception is possible when the channel number of the received data
matches the channel number set up at the dx7.
1000nnnn key OFF & channel number (n=0 -> ch1; n=15 -> ch16)
0kkkkkkk key number (k=0,1 -> c#-2; k=127 -> G8)
0vvvvvvv key velocity (v ignored)
1001nnnn key ON & channel number (n=0 -> ch1; n=15 -> ch16)
0kkkkkkk key number (k=0,1 -> c#-2; k=127 -> G8)
0vvvvvvv key velocity (v=0 -> OFF; v=1 -> ppp; v=127 -> fff)
1011nnnn control change & channel number (n=0 -> ch1; n=15 -> ch16)
0ccccccc control number
0vvvvvvv control value
-------------------------------------------------
c parameter v
-------------------------------------------------
1 modulation wheel 0 ~ 127
2 breath controller
D0 after touch
4 foot controller
5 portamento time
6 data entry knob (MASTER TUNE only)
7 volume (lowest 4 bits ignored)
64 sustain foot switch 0->off; 127->on
65 portamento foot switch 0->off; 127->on
96 data entry+1 127->on only
97 data entry-1 127->on only
125 OMNI all key off ignored
126 MONO all key off ignored
127 POLY all key off ignored
-------------------------------------------------
1100nnnn program change & channel number
0ppppppp program number (p=0 -> voice 1; p=31 -> voice 32)
1110nnnn pitch bender & channel number
0vvvvvvv pitch bender value LS byte (ignored)
0vvvvvvv pitch bender value MS byte (0-64-127)
2.2 System exclusive information
2.2.1 MIDI active clock
MIDI active clock is received regardless of any channel number.
If the clock is interrupted for more than 666ms at any time other
than during reception of bulk data, the dx7 assumes that the
transmitter power is off or the line has been disconnected,
and stops note output.
2.2.2 Bulk data for one voice
1-voice bulk data is received in the same format as the transmitted
data when the MIDI channel numbers match in the "System Information
Available" mode.
2.2.3 Bulk data for 32 voices
32-voice bulk data is received in the same format as the transmitted
data when the MIDI channel numbers match in the "Sys Info Avail" mode,
and when Memory Protect is OFF.
2.2.4 Parameter change
Voice and function parameters are received in the same format as the
transmitted data when the MIDI channel numbers match in the
"Sys Info Avail" mode.
---------------------------------------------------------------------------
|