Radio Shack FX2 User Manual Page 18

  • Download
  • Add to my manuals
  • Print
  • Page
    / 32
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 17
Ensoniq VFX-SD and SD-1
S e q u e n c e r F i l e F o r m a t s
Part II
Gary Giebler
This month we continue and conclude my description of
VFX-sd and SD-1 sequencer file formats which was started in
Issue #77.
problem unless you are using extremely large MIDI drum sets
or controlling external devices such as lighting controllers,
MIDI mixers, etc.
V F X - S D a n d S D - 1 T r a c k D a t a F o r m a t
A track consists of a long word (4 bytes) containing the size or
length of the track followed by a stream of sequencer events.
Each Track should start with a clock event to initialize the track
coimter which starts at 01.01.00 (one tick before the start of bar
1). The last track event must be the End of Track event.
T r a c k L e n g t h T r a c k E v e n t s E n d o f T r a c k
00 00 00 00 80 E6 00 01 ... ... 80 E9
VFX-SD and SD-1 Sequencer Events
All of the sequencer events for the VFX-SD and the SD-1 con
tain an even number of bytes. This was probably done because
both keyboards contain 16-bit microprocessors which read and
write data more efficiently 16 bits (2 bytes) at a time. When
referring to 16 bits of data, we (in the computer world) refer to
the data as one word. All sequencer events have the most sig
nificant bit (MSB) of the first word set to indicate the start of
an event. All subsequent words have the MSB cleared. This al
lows the microprocessor (or us) to skip unknown events or to
move backwards in the track data something which would
be nearly impossible without marking the first word of an
event. Most sequencer events consist of two words (four bytes)
of data. One exception is the End of Track Event which con
tains one word (two bytes).
FIRST EVENT WORD
MSB
Bit: 15 14 13 12 11 10 09 08
Value: 1 d6 d5 d4 d3 d2 dl dO
LSB
07 06 05 04 03 02 01 00
t7 t6 t5 t4 t3 t2 tl to
The least significant byte (lower 8 bits t7..t0) of the rst word
of each event contains the event type, giving us a total of 256
possible event types. The remainder of the first word (seven
bits d6...d0 remember the MSB is always set) contains the
number of clock ticks to delay before executing the next event.
Since the maximum delay is only 127 clock ticks, an event type
(E6 hex) was created to allow longer delays.
KEY EVENTS 00 - 87 (00 - 57 hex)
The first 88 event types (00 - 87) (OOh - 57h) refer to the 88
keys (AO - C8) on a piano. Notice that by restricting the se
quencer to 88 key events, the keyboards can't record the full
MIDI note range. Realistically, this probably won't be a
MSB
Word 1: 1 d6 d5 d4 d3 d2 dl dO
Word 2: 0 v4 v3 v2 vl vO n9 n8
LSB
t7 t6 t5 t4 t3 t2 tl to
n7 n6 n5 n4 n3 n2 nl nO
( Word 3: 0 cE cD cC cB cA c9 c8 c7 c6 c5 c4 c3 c2 cl cO )
The second word of each key event contains a key-down
velocity and a note duration. The note duration is stored in the
lower 10 bits (n9...n0) and can range from 0 to 1023 clock
ticks. If the duration of the note is longer than 1023 clock ticks,
the 10 bits are set to zero and another word is added to the
event. The third word ( cE...cO) can contain note durations up
to 32767 clock ticks (remember the MSB is cleared and can't
be used). The velocity is stored in the 5 remaining bits of the
second word. This brings up another limitation of the VFX-SD
and SD-1 sequencer formats. MIDI note velocities can range
from 0 to 127 giving 128 possible velocities. The VFX-SD and
SD-1 sequencers can only store 32 different velocities. To
allow for the full MIDI range, Ensoniq converts the 32 values
into every fourth MIDI value (0,4,8,12...). If you edit the
velocity of a note in a sequence, it will be changed to the
nearest value allowed.
Poly Key Pressure Events 88 -175 (58 - AF hex)
The next 88 event types (88 - 175) (58h - AFh) refer to the
poly key pressure (aftertouch) for the same 88 keys (AO - C8)
on a piano. To obtain the key number, subtract 88 from the
event type. This event type stores the entire midi pressure range
in the lower 7 bits (p6...p0) of the second word. The remainder
of the second word is not used and is set to zeros.
MSB
Word 1: 1 d6 d5 d4 d3 d2 dl dO
W o r d 2 : 0 x x x x x x x x x x x x x x
LSB
t7 t6 t5 t4 t3 t2 tl to
X X p 6 p 5 p 4 p 3 p 2 p i p O
Controller Events 176 - 199 (BO - C7 hex)
The next event types (176 - 199) (BOh - C7h) refer to the con
troller events for midi controllers. Not all of the controller
event types are defined at this time. The controller events store
the MIDI controller value in the lower 7 bits (v6...v0) of the
second word. The remainder of the second word is not used and
is set to zeros.
MSB
Word 1: 1 d6 d5 d4 d3 d2 dl dO
W o r d 2 : 0 x x x x x x x x x x x x x x
LSB
t7 t6 t5 t4 t3 t2 tl to
X X v 6 v 5 v 4 v 3 v 2 v l v O
18
Page view 17
1 2 ... 13 14 15 16 17 18 19 20 21 22 23 ... 31 32

Comments to this Manuals

No comments