Subsystem Search

This page is read from MIDI Instrument Definitions, a Python library used in the author's other projects, in which every number is traced to a document its maker published. Its source is on GitHub.

Dreadbox Artemis MIDI implementation

The MIDI implementation of the Dreadbox Artemis: what it answers to, and the 85 controls it offers, on firmware 1.2.0.

At a glance

Firmware
This page describes firmware 1.2.0.
MIDI channel
Any one of 1 to 16.
MPE
Received.
Voices
6, or 1, 2, or 3 as set on the instrument.
Note range
Not recorded.
Velocity
Received.
Aftertouch
Channel pressure and polyphonic, each answered.
Pitch bend
How far it bends is not recorded, and the range can be changed.
Program change
Received, with 512 presets.
MIDI clock
Received.
Start and stop
Received.
Control change
85 controls, in the tables below.
NRPN
Not recorded.
System exclusive
Supported.

Controls

In the order the definition gives them, by group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("dreadbox/artemis") has loaded them.

VCO

Control CC Values
VCO GLIDE
vco_glide
5 0-127
Received, never sent
VCO MIX
vco_mix
8 0-127
Received, never sent
VCO MORPH
vco_morph
70 0-127
Received, never sent
VCO SUB / NOISE
vco_sub_noise
76 0-127
Received, never sent
VCO 1 TUNE
vco_1_tune
77 0-127
Received, never sent
VCO 2 TUNE
vco_2_tune
78 0-127
Received, never sent
VCO DETUNE
vco_detune
79 0-127
Received, never sent
VCO FM MODE
vco_fm_mode
80 0-63 manual, 64-127 eg
Received, never sent
VCO 2 SYNC
vco_2_sync
81 0-63 off, 64-127 on
Received, never sent
VCO FM
vco_fm
84 0-127
Received, never sent
VCO PULSE WIDTH
vco_pulse_width
85 0-127
Received, never sent

VCF

Control CC Values
LPF FFM NOISE SOURCE
lpf_ffm_noise_source
3 0-63 vco_2, 64-127 noise
Received, never sent
LPF FFM
lpf_ffm
4 0-127
Received, never sent
LPF CUT EG AMOUNT
lpf_cut_eg_amount
6 0-127
Received, never sent
HPF CUTOFF
hpf_cutoff
16 0-127
Received, never sent
HPF RESONANCE
hpf_resonance
17 0-127
Received, never sent
LPF RESONANCE
lpf_resonance
71 0-127
Received, never sent
LPF CUT OFF
lpf_cut_off
75 0-127
Received, never sent
LPF TRACK
lpf_track
82 0-127
Received, never sent
LPF POLES
lpf_poles
83 0-63 twenty_four_db, 64-127 twelve_db
Received, never sent
DRIVE MODE
drive_mode
93 0-127
Received, never sent

ENVELOPE

Control CC Values
VCA EG DECAY
vca_eg_decay
9 0-127
Received, never sent
VCA EG SUSTAIN
vca_eg_sustain
11 0-127
Received, never sent
EG ATTACK
eg_attack
12 0-127
Received, never sent
EG DECAY
eg_decay
13 0-127
Received, never sent
EG SUSTAIN
eg_sustain
14 0-127
Received, never sent
EG RELEASE
eg_release
15 0-127
Received, never sent
VCA EG RELEASE
vca_eg_release
72 0-127
Received, never sent
VCA EG ATTACK
vca_eg_attack
73 0-127
Received, never sent

LFOs

Control CC Values
LFO 1 VCO TARGET
lfo_1_vco_target
18 0-127
Received, never sent
LFO 1 VCO AMOUNT
lfo_1_vco_amount
19 0-127
Received, never sent
LFO 1 VCF AMOUNT
lfo_1_vcf_amount
20 0-127
Received, never sent
LFO 2 MORPH AMOUNT
lfo_2_morph_amount
21 0-127
Received, never sent
LFO 2 PW AMOUNT
lfo_2_pw_amount
22 0-127
Received, never sent
LFO 1 RATE
lfo_1_rate
23 0-127
Received, never sent
LFO 1 WAVE
lfo_1_wave
24 0-127
Received, never sent
LFO 1 FADE
lfo_1_fade
25 0-127
Received, never sent
LFO 2 RATE
lfo_2_rate
26 0-127
Received, never sent
LFO 2 WAVE
lfo_2_wave
27 0-127
Received, never sent
LFO XMOD
lfo_xmod
28 0-127
Received, never sent
LFO SYNC MODE
lfo_sync_mode
29 0-127
Received, never sent

EFFECTS

Control CC Values
DISTORTIONS PARAMETER 1
distortions_parameter_1
33 0-127
Received, never sent
DISTORTIONS PARAMETER 2
distortions_parameter_2
34 0-127
Received, never sent
DISTORTIONS PARAMETER 3
distortions_parameter_3
35 0-127
Received, never sent
DISTORTIONS PARAMETER 4
distortions_parameter_4
36 0-127
Received, never sent
DISTORTIONS PARAMETER 5
distortions_parameter_5
37 0-127
Received, never sent
DISTORTIONS TYPE
distortions_type
38 0-127
Received, never sent
MODULATIONS PARAMETER 1
modulations_parameter_1
39 0-127
Received, never sent
MODULATIONS PARAMETER 2
modulations_parameter_2
40 0-127
Received, never sent
MODULATIONS PARAMETER 3
modulations_parameter_3
41 0-127
Received, never sent
MODULATIONS PARAMETER 4
modulations_parameter_4
42 0-127
Received, never sent
MODULATIONS PARAMETER 5
modulations_parameter_5
43 0-127
Received, never sent
MODULATIONS TYPE
modulations_type
44 0-127
Received, never sent
DELAYS PARAMETER 1
delays_parameter_1
45 0-127
Received, never sent
DELAYS PARAMETER 2
delays_parameter_2
46 0-127
Received, never sent
DELAYS PARAMETER 3
delays_parameter_3
47 0-127
Received, never sent
DELAYS PARAMETER 4
delays_parameter_4
48 0-127
Received, never sent
DELAYS PARAMETER 5
delays_parameter_5
49 0-127
Received, never sent
DELAYS TYPE
delays_type
50 0-127
Received, never sent
REVERBS PARAMETER 1
reverbs_parameter_1
51 0-127
Received, never sent
REVERBS PARAMETER 2
reverbs_parameter_2
52 0-127
Received, never sent
REVERBS PARAMETER 3
reverbs_parameter_3
53 0-127
Received, never sent
REVERBS PARAMETER 4
reverbs_parameter_4
54 0-127
Received, never sent
REVERBS PARAMETER 5
reverbs_parameter_5
55 0-127
Received, never sent
REVERBS TYPE
reverbs_type
56 0-127
Received, never sent

SEQUENCER

Control CC Values
SEQUENCERS PARAMETER 1
sequencers_parameter_1
86 0-127
Received, never sent
SEQUENCERS PARAMETER 2
sequencers_parameter_2
87 0-127
Received, never sent
SEQUENCERS PARAMETER 3
sequencers_parameter_3
88 0-127
Received, never sent
SEQUENCERS PARAMETER 4
sequencers_parameter_4
89 0-127
Received, never sent
SEQUENCERS PARAMETER 5
sequencers_parameter_5
90 0-127
Received, never sent
SEQUENCERS PARAMETER TYPE
sequencers_parameter_type
91 0-127
Received, never sent
BPM
bpm
92 0-127
Received, never sent

MASTER OUT

Control CC Values
VOLUME
volume
7 0-127
Received, never sent
SPREAD
spread
10 0-127
Received, never sent
PRESET LEVEL
preset_level
94 0-127
Received, never sent

MOD MATRIX

Control CC Values
MODWHEEL MOD SOURCE
modwheel_mod_source
1 0-127
Received, never sent
SELECTOR
selector
31 0-127
Received, never sent
CC74 MOD SOURCE
cc74_mod_source
74 0-127
Received, never sent
AMP VELOCITY
amp_velocity
95 0-127
Received, never sent

PLAY MODE

Control CC Values
PLAY MODE
play_mode
30 0-127
Received, never sent
SUSTAIN
sustain
64 0-63 off, 64-127 on
Received, never sent
GLIDE MODE
glide_mode
65 0-63 on, 64-127 auto
Received, never sent
LEGATO
legato
68 0-63 off, 64-127 on
Received, never sent
INSTABILITY DEPTH
instability_depth
96 0-127
Received, never sent

Without a group

Control CC Values
BANK SELECT
bank_select
0 0-127
Received, never sent

Where these facts come from

Source documents

How they were read

EIGHTY-FIVE CONTROLS, OUT OF THE MANUAL AND NOT OUT OF THE DOCUMENT NAMED FOR IT. Dreadbox publishes a standalone CC List v1.1.0 and the user's manual carries the same list as its chapter 017 - and at v1.2.0 the chapter has moved on. It adds controller 77, VCO 1 TUNE, which the standalone list does not have at all, and it changes four more: the selector at 31 gains four states, MODULATIONS TYPE at 44 gains BBD RESONATOR and renames TZ FLANGER to ZERO FLANGER, DELAYS TYPE at 50 gains BBD PLAYGROUND and renames BBD to BBD DELAY, and DRIVE MODE at 93 gains NO OSC. The new one is the last row of the chapter, "77 VCO 1 TUNE" (manual p. 79), which firmware 1.2.0 made a modulation destination. Dreadbox badges exactly those five rows new, which is a second reading of the same change arrived at independently.

CONTROLLER 31 IS NOT AN ORDINARY CONTROL AND A CONSUMER MUST BE TOLD SO. "Use CC 31 (Selector) to choose whether subsequent CC messages adjust a parameter's base value or its corresponding modulation amount." (manual p. 74). So each of the 52 controllers the manual lists under it, in the selector's own table (manual pp. 74-79), means one of two things depending on a mode set by another controller - and when it is set to a modulation the range is re-read as a signed one: "0 → –100", "64 → 0", "127 → +100" (manual p. 74). Send LPF CUT OFF without knowing where 31 stands and you may be setting the cutoff or setting how far an envelope moves it. Its ten states are BASE, LFO 1, LFO 2, VCA EG, VCF EG, VELOCITY, MODWHEEL, AFTERTOUCH, KEYTRACK and CC74.

NO BAND BOUNDARY IS PRINTED FOR ANY ENUMERATED CONTROL, SO NONE IS RECORDED. Both lists say only that "All the values either numerical or enumerated are split in the whole CC range of 0-127" (manual p. 70) and then print state names with no numbers against them. That is a rule and not a table: thirds of 0 to 127 can be written 0/42/84 or 0/43/85 and the maker has said which only for the two-state controls, where the specification's own 0 and 64 settle it. So the seven switches carry their two states and the fourteen controls with three or more states carry their names in this account and no numbers, which is novation/peak's rule as korg/volca_fm applied it.

Those fourteen, with the states each one offers: 0 BANK SELECT (8, BANK A-H), 18 LFO 1 VCO TARGET (3), 24 and 27 the two LFO WAVEs (8 each), 29 LFO SYNC MODE (4), 30 PLAY MODE (5), 31 SELECTOR (10), 38 DISTORTIONS TYPE (15), 44 MODULATIONS TYPE (12), 50 DELAYS TYPE (5), 56 REVERBS TYPE (5), 82 LPF TRACK (3), 91 SEQUENCERS PARAMETER TYPE (3) and 93 DRIVE MODE (5).

RECEIVES ONLY - AND THAT IS READ OFF THE SETTINGS, NOT QUOTED FROM A SENTENCE. This instrument has a MIDI output: "MIDI IN/OUT MIDI DIN connector for receiving / transmitting MIDI messages from/to an external MIDI device." (manual p. 9). But every MIDI switch it offers is a receive switch - CLOCK RECEIVE, TRANSPORT RECEIVE, CC IN, PC IN (manual p. 62) - and the words CC OUT and MIDI OUT appear nowhere in either manual, nor does any sentence naming a control this instrument transmits. So the controls below are marked receives, which is the safer of the two errors: a consumer that does not listen for a controller it would have seen has missed a feature, where one that waits for a controller that never comes is stuck. This differs from both sibling Dreadboxes, whose controls are all both, so the standing maker rule held again.

THE CHANNEL, WHICH HAS A THIRD SETTING. "The selection can be OMNI (responds to all MIDI channels) or 1 to 16 or MPE (activates the MPE support)." (manual p. 64). In MPE the zone is LOWER for channels 1/ UPPER for channel 16 over MPE CHANNELS 1 to 15 (manual p. 62), and controller 74 is the timbre axis - "CC74 Uses MIDI CC74 as a modulation source, allowing external controllers such as MPE devices to modulate any assigned parameter." (manual p. 61). midi.mpe records that it receives MPE, and the zone and its channels are here in words, for want of a field.

ITS SYSTEM EXCLUSIVE DOES NOT TRAVEL DOWN ITS OWN DIN SOCKET. Presets are exported and imported as system exclusive with "a software program such as SysEx Librarian for Mac, or Bome SendSX for Windows" (manual p. 66), and firmware arrives the same way as Artemis_1.2.0.syx - and both carry the same warning: "Mind that this only works from the USB connection, not the MIDI DIN." (manual p. 66). So sysex: true below is true of one of this instrument's two MIDI connections and not the other, which no field here can say.

512 PRESETS, STATED AND THEN AUDITED. "The Artemis offers a total of 512 Preset Slots split in 8 banks of 64 presets each." (manual p. 11) - and the export procedure gives the same figure a second way: "Active preset export will send 2 messages and Bank export will send 65 messages." (manual p. 66), which is one identifier and sixty-four presets.

NOT RECORDED, AND THE MANUAL CONTRADICTS ITSELF TWICE. The MPE pitch wheel range is MPE PITCH WHEEL 0 to 96 semitones in the global parameter table (manual p. 62) and "Adjusts the range of the Pitch Wheel from 0 to 48 semitones for MPE control." (manual p. 64) in the prose explaining that very row. Both cannot be right, so neither is carried - which is also why pitch_bend.semitones is absent: the ordinary pitch wheel is settable "from 0 to 12 semitones" (manual p. 64) and no document says where it starts.

NOT RECORDED: the note range, the MIDI mode, and NRPN, none of which either manual mentions.