Hey hey,
I have a problem. I'm trying to understand the Waldorf Microwave 2/xt's
waveform data dump. The SysEx manual seems clear and direct enough, but I
can't get anywhere.
In short: these synthesizers can load 8bit single cycle waveforms. Only a half
cycle is sent, the second half is created by "mirroring"/negating the first
half:
Wave[64+n] = -Wave[63-n]
To store 8bit samples in the SysEx format, which can only use 7bit, the
samples were split into nibbles. Here's what the SysEx manual says about
conversion to a signed char:
"... Not(e) that samples are not two's complement format, to get a signed
byte, the most significant bit must be flipped:
signed char s = Wave[n]^0x80; ..."
The whole wave dump format is defined as: "f0 3e 0e Dev_id 12 location_1
location_2 "128 bytes of wave data" chksum f7"
Wave Data:
index range description
0 0-0f sample1, most significant nibble
1 0-0f sample 1, least significant nibble
...
Knowing all that, I tried a few things, but still couldn't get any sensible
result. Here's a wave dump of wave 1, which I assume is the sine wave
Complete SysEx dump:
https://www.dropbox.com/s/v50wq3x55bh52l8/full_wav_dump.syx
Only the wave data (128 bytes):
https://www.dropbox.com/s/q5rcm3cvtfp8cdu/pure_wave_data.dat
Could someone please help me on how to convert one sample from this data and
vice versa, please?
Best wishes,
Jeanette
--
* Website:
http://juliencoder.de - for summer is a state of sound
* Youtube:
https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
* Audiobombs:
https://www.audiobombs.com/users/jeanette_c
* GitHub:
https://github.com/jeanette-c
And I love the way with just one whisper
You tell me everything <3
(Britney Spears)