A stock first generation Electribe can transmit and receive only a few MIDI Continuous Control (CC) messages. The knobs and buttons on the control panel generate NRPN messages instead and the same applies to controlling an Elecetribe with an external controller or DAW. So what’s wrong with NRPN?
Well, nothing and everything. NRPN enables a much larger domain of different controller numbers, thus you can have different Electribes communicating on the same MIDI channel simultaneously. Besides, the resolution of controller parameter values is a lot higher (14-bit compared to 7-bit for CC values) making the transitions much smoother. However, it is irrelevant in the context of the 1st gen Electribes – as they do not employ this double-byte scheme the value range is still from 0 to 127.
On the other hand there are a lot of disadvantages. Configuring MIDI controllers and DAWs to speak and understand NRPN is often a pain as everything is focused on CC. NRPN requires 3 three-byte messages to transmit a single parameter change, totalling 9 bytes as opposed to one CC message and 3 bytes. The speed of MIDI transmission protocol translates to roughly one 3-byte message per millisecond, so any turn of a knob results in either a noticeable lag or audible stepping. Sure, CC is not perfect as well but still a lot better.
The worst artifact of NRPN comes from several NRPN messages colliding with each other. While MIDi devices can generally handle mixed flow of simultaneous CC messages adequately they usually get confused or fail completely when multibyte messages start arriving from different controllers (“turning knobs with both hands”). The sole disadvantage is that, as CC messages eat up almost all of the “namespace” of available CC controller numbers each Electribe device has to use a separate MIDI channel (one out of 16 on a MIDI network).
Electribe Shaman Firmware update 3.0.3 adds the capability to receive MIDI CC messages in addition to (original) MIDI NRPN. Technically both can even come in parallel, but as already noted, this could be dangerous and lead to broken (incomplete) NRPN messages so this “mixed flow” is not recommended. The list of MIDI CC messages introduced by Shaman Firmware (as well as how they map to original NRPN messages) follows (H = Hex).
NRPN [H]
|
Parameter |
Data Entry Value (Dec) |
CC [Dec] |
02 00 |
Synth1 Low Boost |
0~127 |
10 |
02 01 |
Synth1 Pan |
0~127 |
11 |
02 02 |
Synth1 Pitch |
0~127 |
12 |
02 03 |
Synth1 Wave |
0~63 : Sin/Tri |
13 |
02 04 |
Synth1 Mod Type |
0~5 : Saw/Squ/Tri/S&H/Noise/Env |
14 |
02 05 |
Synth1 Mod Speed |
0~127 |
15 |
02 06 |
Synth1 Mod Depth |
0~127 |
16 |
02 07 |
Synth1 Level |
0~127 |
17 |
02 08 |
Synth1 Decay |
0~127 |
18 |
02 09 |
Synth1 Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
19 |
02 0A |
Synth2 Low Boost |
0~127 |
20 |
02 0B |
Synth2 Pan |
0~127 |
21 |
02 0C |
Synth2 Pitch |
0~127 |
22 |
02 0D |
Synth2 Wave |
0~63 : Sin/Tri |
23 |
02 0E |
Synth2 Mod Type |
0~5 : Saw/Squ/Tri/S&H/Noise/Env |
24 |
02 0F |
Synth2 Mod Speed |
0~127 |
25 |
02 10 |
Synth2 Mod Depth |
0~127 |
26 |
02 11 |
Synth2 Level |
0~127 |
27 |
02 12 |
Synth2 Decay |
0~127 |
28 |
02 13 |
Synth2 Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
29 |
02 14 |
Synth3 Low Boost |
0~127 |
30 |
02 15 |
Synth3 Pan |
0~127 |
31 |
02 16 |
Synth3 Pitch |
0~127 |
95 |
02 17 |
Synth3 Wave |
0~63 : Sin/Tri |
33 |
02 18 |
Synth3 Mod Type |
0~5 : Saw/Squ/Tri/S&H/Noise/Env |
34 |
02 19 |
Synth3 Mod Speed |
0~127 |
35 |
02 1A |
Synth3 Mod Depth |
0~127 |
36 |
02 1B |
Synth3 Level |
0~127 |
37 |
02 1C |
Synth3 Decay |
0~127 |
38 |
02 1D |
Synth3 Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
39 |
02 1E |
Synth4 Low Boost |
0~127 |
40 |
02 1F |
Synth4 Pan |
0~127 |
41 |
02 20 |
Synth4 Pitch |
0~127 |
42 |
02 21 |
Synth4 Wave |
0~63 : Sin/Tri |
43 |
02 22 |
Synth4 Mod Type |
0~5 : Saw/Squ/Tri/S&H/Noise/Env |
44 |
02 23 |
Synth4 Mod Speed |
0~127 |
45 |
02 24 |
Synth4 Mod Depth |
0~127 |
46 |
02 25 |
Synth4 Level |
0~127 |
47 |
02 26 |
Synth4 Decay |
0~127 |
48 |
02 27 |
Synth4 Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
49 |
02 28 |
Close Hi-Hat Low Boost |
0~127 |
50 |
02 29 |
Close Hi-Hat Pan |
0~127 |
51 |
02 2A |
Close Hi-Hat Pitch |
0~127 |
52 |
02 2F |
Close Hi-Hat Level |
0~127 |
53 |
02 30 |
Close Hi-Hat Decay |
0~127 |
54 |
02 31 |
Close Hi-Hat Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
55 |
0232 |
Open Hi-Hat Low Boost |
0~127 |
56 |
02 33 |
Open Hi-Hat Pan |
0~127 |
57 |
02 34 |
Open Hi-Hat Pitch |
0~127 |
58 |
02 39 |
Open Hi-Hat Level |
0~127 |
59 |
02 3A |
Open Hi-Hat Decay |
0~127 |
60 |
02 3B |
Open Hi-Hat Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
61 |
02 3C |
Crash Low Boost |
0~127 |
62 |
02 3D |
Crash Pan |
0~127 |
63 |
02 3E |
Crash Pitch |
0~127 |
64 |
02 43 |
Crash Level |
0~127 |
65 |
02 44 |
Crash Decay |
0~127 |
66 |
02 45 |
Crash Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
67 |
02 46 |
H.Clap Low Boost |
0~127 |
68 |
02 47 |
H.Clap Pan |
0~127 |
69 |
02 48 |
H.Clap Pitch |
0~127 |
70 |
02 4D |
H.Clap Level |
0~127 |
71 |
02 4E |
H.Clap Decay |
0~127 |
72 |
02 4F |
H.Clap Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
73 |
02 50 |
Audio In 1 Low Boost |
0~127 |
74 |
02 51 |
Audio In 1 Pan |
0~127 |
75 |
02 57 |
Audio In 1 Level |
0~127 |
76 |
02 58 |
Audio In 1 Decay |
0~63 |
77 |
02 59 |
Audio In 1 Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
78 |
02 5A |
Audio In 2 Low Boost |
0~127 |
79 |
02 5B |
Audio In 2 Pan |
0~127 |
80 |
02 61 |
Audio In 2 Level |
0~127 |
81 |
02 62 |
Audio In 2 Decay |
0~63 |
82 |
02 63 |
Audio In 2 Mot Seq Type |
0~2 : Off/Smooth/TrigHold |
83 |
02 64 |
Delay Depth |
0~127 |
84 |
02 65 |
Delay Time |
0~127 |
85 |
02 66 |
Ring (Synth1/Synth2) |
0~63/64~127 : Off/On |
86 |
02 67 |
Ring (Synth4/Audio In) |
0~63/64~127 : Off/On |
87 |
02 68 |
Input Gain 1 |
0~100 |
88 |
02 69 |
Input Gain 2 |
0~100 |
89 |
02 6A |
Accent Level |
0~127 |
90 |
02 6B |
Delay Type |
0~2 : Off/MotionSeq/TempoDelay |
91 |
|
Tempo |
|
92 |
02 6C |
Mute 1 |
|
93 |
02 6D |
Mute 2 |
|
94 |
I don’t know if you have a mailing list or anything, but I would love to get updates on this as you progress!
1. Twitter
2. Forum, will be up in a day or two. Maybe three.
Besides, I just replied to your mail.
Hello!!
plz!!! and me!!! (on mail)
THNX
Hi there, I found a thread about this on gearslutz. The ER1 is my favorite drum machine/synth, I’m super excited about this. Interested in how I go about buying the update. Hope to hear back from you!
Adam
Hi, I need this very badly 🙂
Please throw me in your mailing list, I don’t know how to download your firmware.
Send me some info
Thanks
Riki
Hi! I just installed the FW and still getting my head around the new implementation of incoming messages. In this table are hexa and CC numbers mixed?
Could you publish a list of all CCs only?
The first column (two Hex numbers) contains original NRPN numbers. As an example, in Synth1 Pan message
02 01 Synth1 Pan 0~127 0B,
The first two digits form the two-part NRPN message number, 02 (MSB) denotes ER-1, 01 (LSB) is the Synth1 Pan message number. Those are in Hexadecimal.
0-127 (Decimal) simply shows the possible value range.
This is all part of factory MIDI implementation and those codes are in Electribe ER-1 MIDI Implementation manual.
The last column contains CC messages (in Hexadecimal) that correspond to the NRPN messages. They were added by this firmware update.
Would Decimal numbers make this more readable?