hgk:hacks:gofter:sysex
Differences
This shows you the differences between two versions of the page.
hgk:hacks:gofter:sysex [2015/11/17 12:36] – created michfiel | hgk:hacks:gofter:sysex [2015/11/19 14:59] (current) – removed michfiel | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Multimode ==== | ||
- | |||
- | In addition to the outdated sysex documentation, | ||
- | |||
- | ^ Label ^ Value ^ Description | ||
- | | MULR | 01h | Multi Request | | ||
- | | MULD | 11h | Multi Dump | | ||
- | |||
- | ==== User Wavetables ==== | ||
- | |||
- | ^ Label ^ Value ^ Description | ||
- | | WTBD | 12h | Wavetable Dump | | ||
- | |||
- | A wavetable dump is used to transfer wavetable data to the Blofeld. Each wavetable is transferred as 64 consecutive wave dumps. | ||
- | |||
- | ^ WT ^ WN ^ Location | ||
- | | 50 | 00..3F | Wavetable 80, Wave 1..64 | | ||
- | | 76 | 00..3F | Wavetable 118, Wave 1..64 | | ||
- | |||
- | ==== Sample Code ==== | ||
- | |||
- | Convert a 21 bit signed integer (provided in three 7-bit characters) into a 32 bit signed integer | ||
- | |||
- | http:// | ||
- | |||
- | uint32 sample = | ||
- | (sysex[kWavetableDataOffset + index * 3 + 0] << 14) | | ||
- | (sysex[kWavetableDataOffset + index * 3 + 1] << 7) | | ||
- | (sysex[kWavetableDataOffset + index * 3 + 2] << 0); | ||
- | | ||
- | if (sample & 0x00100000) { | ||
- | sample |= 0xfff00000; | ||
- | } | ||
- | | ||
- | curWavetable.data[wave][index] = (int)sample; | ||
hgk/hacks/gofter/sysex.1447760209.txt.gz · Last modified: 2015/11/17 12:36 by michfiel