Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Message

Re: Oberheim Matrix 6

2010-05-01 by maxsmerling

Brilliant.  If you make one, Tony, let me know.  I'd love to get under the hood of my Matrix 6r.

--- In bc2000@yahoogroups.com, "Royce" <rpcfender@...> wrote:
>
> Hi Tony,
> 
> > I understand. The point is the BCr's sysex is just weak.
> > You would need to use a PC & some software like Midiox to map CC values into
> > sysex streams to send to the M6R.
> > It would be slow and kludgy, but would probably work.
> 
> What can't you do that makes the BCR not suitable?
> 
> Negative numbers are the only trick and I think that can be solved from the cursory glance I have had of the sysex spec
> 
> Multiple parameters in one byte is also a problem in early synths, but this doesn't seem to be the case here. 
> 
> Have I missed something??
> 
> All the best
> Royce
> 
> 
> From 
> http://machines.hyperreal.org/manufacturers/Oberheim/Matrix-6-1000/info/Matrix-6.sysex.edit.txt
> Is this correct sysex???
> 
> * sysex format:
> 0xF0    sysex start
> 0x10    Oberheim ID
> dd      Device ID: 0x02 for M-12 or Xpander, 0x06 for M-6.
> opcode  one byte.
> (data)
> 0xF7    sysex end (EOX)
> 
> The high bit of each byte is reserved as the status bit, as usual.
> Wait at least 20 ms between sysex operations.
> 
> * select quick patch edit
> 0x05    opcode
> 
> Send this before changing parameters through remote editing.
> "This operation selects the Quick mode of the Patch Edit function.
> The M-6 must be in Patch Edit mode in order to act upon parameter
> change commands."
> 
> * change parameter
> 0x06    opcode
> pp      parameter number, 0-99.
> vv      value.  may not be negative. (damn!)
> 
> If you want to set negative values, you have to send the whole patch,
> breaking the sound.  I can't imagine why they didn't just use bit 6
> as a sign bit.
> 
> * single patch
> 0x01    opcode
> pp      patch number, 0-99.
> xx yy   data, sent nybblewise: 
>         a data byte dd is sent as xx=dd&0x0F; yy=dd>>4
> cc      checksum:
>         the sum of the original data bytes dd, masked with 0x7F.
> 
> Here I don't see why they chop up the data bytes; none exceeds 7 bits.
> 
> ========== patch-format
> summarized from Matrix-6 / Matrix-6r MIDI spec, 5/87, for 2.13 ROM.     -eub
> read the sysex file first.
> 
> * patch data format
> byte    param   bits    description
>  0-7    n/a     6 each  patch name: ASCII clipped to 6 bits.
>  8      48      2       kbd mode      (0) (reassign, rotate, unison, rob) (3)
> 
>  9       0      6       dco1 freq
> 10       5      6            saw shape
> 11       3      6            pulse width
> 12       7      2            modulation   (bit 1) (vibrato | bend) (bit 0)
> 13       6      2            waveforms            (wave | pulse)
> 14      10      6       dco2 freq
> 15      15      6            saw shape
> 16      13      6            pulse width
> 17      17      2            modulation
> 18      16      3            waveforms          (noise | wave | pulse)
> 19      12      6 +/-        detune
> 20      20      6       mix
> 21       8      2       dco1 keyboard              (unused | portamento)
> 22       9      1            click
> 23      18      2       dco2 keyboard           (kbd track | portamento)
> 24      19      1            click
> 25       2      2       sync mode
> 26      21      7       vcf freq
> 27      24      6           q
> 28      25      2           modulation          (vibrato | bend)
> 29      26      2           keyboard            (keyboard | portamento)
> 30      30      6           fm
> 31      27      6       vca1 level
> 32      44      6       portamento rate
> 33      46      2                  mode         (speed, time, exp1, exp2)
> 34      47      1                  legato
> 35      80      6       lfo1 speed
> 36      86      2            trigger            (none, single, multi, extern)
> 37      87      1            lag
> 38      82      3            waveform      (tri, up, dn, sqr, rnd, noiz, s/h)
> 39      83      5            retrigger
> 40      88      5            sample source
> 41      84      6            amplitude
> 42-48                   lfo2 params
> 49      57      3       env1 trigger            (external | multi | reset)
> 50      50      6            delay
> 51      51      6            attack
> 52      52      6            decay
> 53      53      6            sustain
> 54      54      6            release
> 55      55      6            amplitude
> 56      59      2            lfo trigger        (lfo trig | gated)
> 57      58      2            mode               (free-run | DADR)
> 58-66                   env2 params
> 67-75                   env3 params
> 76      33      5       tracker source
> 77      34      6               pt1
> 78      35      6               pt2
> 79      36      6               pt3
> 80      37      6               pt4
> 81      38      6               pt5
> 82      40      6       ramp1 rate
> 83      41      2             mode              (strig, mtrig, xtrig, xgate)
> 84-85                   ramp2 params
> 86       1      7 +/-   dco1 freq by lfo1
> 87       4      7 +/-        p.w. by lfo2
> 88      11      7 +/-   dco2 freq by lfo1
> 89      14      7 +/-        p.w. by lfo2
> 90      22      7 +/-   vcf freq by env1
> 91      23      7 +/-   vcf freq by pressure
> 92      28      7 +/-   vca1 by velocity
> 93      29      7 +/-   vca2 by env2
> 94      56      7 +/-   env1 ampl by velocity
> 95      66      7 +/-   env2 ampl by velocity
> 96      76      7 +/-   env3 ampl by velocity
> 97      85      7 +/-   lfo1 ampl by ramp1
> 98      95      7 +/-   lfo2 ampl by ramp2
> 99      45      7 +/-   port rate by velocity
> 100     31      7 +/-   vcf fm by env3
> 101     32      7 +/-   vcf fm by pressure
> 102     81      7 +/-   lfo1 rate by pressure
> 103     91      7 +/-   lfo2 rate by keyboard
> 104             5       mod0 source
> 105             7 +/-        amount
> 106             5            target
> 107-133                 mod1 through mod9
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.