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.

1010music Blackbox MIDI implementation

The MIDI implementation of the 1010music Blackbox: what it answers to, and the 3 controls it offers, on firmware 3.1.9.

At a glance

Firmware
This page describes firmware 3.1.9.
MIDI channel
Any one of 1 to 16.
Parts
Global In: on a MIDI channel of its own, taking notes.
Pad, 16 of them: each on a MIDI channel of its own, taking notes and controls.
MIDI Seq: on a MIDI channel of its own, taking notes.
Voices
Not recorded.
Notes
Each note plays a drum of its own, assigned by the player; the factory notes are listed below.
Note range
Not recorded.
Velocity
Sent and received.
Aftertouch
Not recorded.
Pitch bend
Not recorded.
Program change
Received, with 128 presets.
MIDI clock
Sent and received.
Start and stop
Sent and received.
Control change
Assigned by the player, apart from the 3 controls below.
NRPN
Not recorded.
System exclusive
Not recorded.

Drum notes

Each drum's note is assigned by the player, and these are the notes it has from the factory.

Drum Note
pad_1 36, C2
pad_2 37, C#2
pad_3 38, D2
pad_4 39, D#2
pad_5 40, E2
pad_6 41, F2
pad_7 42, F#2
pad_8 43, G2
pad_9 44, G#2
pad_10 45, A2
pad_11 46, A#2
pad_12 47, B2
pad_13 48, C3
pad_14 49, C#3
pad_15 50, D3
pad_16 51, D#3

Controls

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

Pad

Control CC Values
MODW
mod_wheel
1 0-127
Received, never sent
MVOL
volume
7 0-127
Received, never sent
MPAN
pan
10 0-127
Received, never sent

Where these facts come from

Source documents

How they were read

1010MUSIC IS THE THIRTY-FIFTH MAKER HERE AND THIS IS ITS FIRST INSTRUMENT. Its name begins with a digit, which a definition's name cannot, so the maker is ten_ten_music, its digits spelled out in words; the maker's own spelling is kept in manufacturer.

THE USER MANUAL v3.0, AND THE DOWNLOADS PAGE FOR WHAT CAME AFTER. The manual is 1010music's own, linked from the Blackbox's product page and its Downloads page, and "covers version 3.0 firmware." (manual p. 8). The Downloads page offers firmware 3.1.9 and says "See the Release Notes section above for information about features added after the user manual was written." (downloads_page); those notes name no MIDI change. The manual's cover is dated May 4, 2023, and every page after it prints Page N of 123, its own file page.

THE GLOBAL IN CHANNEL IS A NOTE MAP. MIDI arrives at the TRS MIDI IN or from a USB device plugged into the DEVICE port (manual p. 96). A channel set on the Tools screen "is used to trigger pads and sequences as well as perform other functions." (manual p. 95). Its notes run: scenes 2 to 33, the previous and next scene 34 and 35, the pads in one-shot mode 36 to 51, sequences 52 to 67, recording into a pad 68 to 83, clearing a pad 84 to 99, and five pad actions 100 to 104 - select the previous or next pad, and play, record into or clear the selected one (manual p. 96; manual p. 105). Only the sixteen pads are voices, so only they are in voices; the rest select, start, stop, record and clear, and have no field. The pads are mapped "starting at the bottom left, moving across and then up." (manual p. 105), and are numbered here in that order. Each pad's note can be changed - "To return to the mapping described above, set Pad Note to Default." (manual p. 97) - so the map is a default, and note_map: learned says so: the note is dialled in on the pad rather than learned from incoming MIDI, but learned is the format's word for a map that is only a default, as the DrumBrute's is. Recording, clearing and the five pad actions by note need the Tools setting Pad Record on (manual p. 101; manual p. 103), and the scene notes need Song Mode on (manual p. 104).

THE GLOBAL IN CHANNEL CAN ALSO BE OMNI OR NONE. "When set to Omni, these functions will be triggered by all MIDI channels – excluding any MIDI channel that has been assigned as the MIDI In for a particular pad." (manual p. 95), and "You can also disable Global In by selecting None." (manual p. 95). The page on sharing input channels excludes the MIDI Seq channel from Omni as well (manual p. 106), A note on p. 102, in older terms - the same channel, or Omni, for MIDI Pads and MIDI Keys - says "you will trigger both playback of the pad via MIDI Keys mode, and the MIDI Pads mapping action" (manual p. 102). Read as Global In and a pad's own channel, that contradicts pp. 29, 103 and 106 for Omni, which give such a note to the pad alone. The format's channel: assigned cannot say Omni; no page gives the setting's default.

EACH PAD CAN HAVE A CHANNEL OF ITS OWN. A pad's MIDI In is None, Ch1 through Ch16. (manual p. 29), and on it notes "play a pad chromatically" (manual p. 98), or play slices on a Slicer pad. "More than one pad can be assigned to the same MIDI channel. In this case, all assigned pads will be triggered." (manual p. 29). So the sixteen pads are one part, pad, with channel: assigned.

THREE CONTROLLERS ARE NAMED SOURCES ON A PAD'S CHANNEL. A parameter's modulation source can be MODW: MIDI Mod Wheel (Control Change 1), MVOL: MIDI Volume (Control Change 7) or MPAN: MIDI Pan (Control Change 10) (manual p. 98), beside velocity and pitch bend, and these "follow this channel assignment." (manual p. 29), the pad's own. A source is chosen in a modulation slot the way an LFO is, and the number is fixed, so the three are controls on the pad part - acting only where a slot has them as its source. Any other controller is learned: "With Learn mode enabled, move the controller to be used." (manual p. 26), up to "a maximum of eight MIDI CC mappings per pad." (manual p. 100). So control_change is learned. They are received only: "All MIDI out now comes from sequences." (manual p. 93), and "MIDI Control Changes (CC) are not passed through during playback and are not recorded into sequences." (manual p. 108). A learned controller need not be on the pad's channel and can reach effect parameters too (manual p. 99; manual p. 100), so control_change: learned belongs to the instrument and to no part.

THE MIDI SEQ CHANNEL RECORDS INTO A SEQUENCE. It "is used to play notes into a sequence for recording." (manual p. 97); in a MIDI-mode sequence the notes are also passed to that sequence's output channel. It is a part, midi_seq, taking notes.

WHAT IS SENT COMES FROM SEQUENCES, AND FROM THE MULTI-SAMPLER. "MIDI output is always generated by a sequence" (manual p. 108), on each sequence's own MIDI Out channel, None, Ch1, through Ch 16 (manual p. 73), though the multi-sampler also sends the notes it records: "The blackbox will send out MIDI and CV signals while multi-sampling." (manual p. 52). Notes with velocity, and pitch bend, arriving on the MIDI Seq channel are passed through (manual p. 108); sequences store a velocity for each note (manual p. 110), and that they send it is read rather than stated. The TRS MIDI OUT can instead pass on either input, as MIDI In Thru or USB Dvc Thru (manual p. 95). Clock and transport - Start and Stop, with no word of Continue - go both ways: it "can send MIDI Clock, Start, and Stop messages" (manual p. 112), and from either MIDI input it "will follow MIDI Start, Stop, and Clock messages." (manual p. 113).

PROGRAM CHANGE OPENS A PRESET, AND IS NEVER SENT. "The blackbox supports using MIDI Program Changes to access the first 128 presets." (manual p. 107), in alphabetical order, while "The blackbox does not pass through or send out MIDI Program Changes." (manual p. 107). Its switch, PGM In, "is by default turned off." (manual p. 107). The manual gives its channel two ways: "MIDI Program Change messages on the Global In channel can be used to select Presets." (manual p. 95), and "any MIDI program change on any connected MIDI channel will cause blackbox to load the corresponding preset." (manual p. 107). Both pages agree that it is received, which is all program_change holds; one gives it to the Global In channel and the other to any, so global_in does not list it. Program 0 is the first preset: "Behind the scenes, it is always PGM 0." (manual p. 107).

NO ONE FIGURE IS THE POLYPHONY, SO NONE IS RECORDED. Sixteen is given again and again: "The note playback across all pads draws from a 16 pad pool." (manual p. 28), "The blackbox has 16-note polyphony." (manual p. 76), the engine has a 16-note polyphony limitation (manual p. 77), and the product page gives a "Shared pool of 16 note polyphony, with user defined polyphony limits per pad." (product_page). The technical specifications say instead "The blackbox can support playback of up to 32 total voices across all pads at once." (manual p. 121), of which 24 play reliably, with 16 as a limit for each Sample or Multi-Sample pad and "Nothing in blackbox will prevent you from trying to play 16 voices on all 16 pads at the same time." (manual p. 121). The pad-mode table splits the pads: a Sample or Multi-Sample pad "Shares 16 note pool." (manual p. 21), a Granular pad is "Mono. Pulls from the 16 note pool." (manual p. 22), and a Clip or Slicer pad has "2 Notes. Does not pull from Pool." (manual pp. 21-22). The manual never relates 16 and 32. Read with the table, 16 is a pool that three pad modes share and 32 a ceiling across every pad; read with p. 76, or with p. 121's last sentence, one of the two is wrong. Either way no single figure is the instrument's, and whether pads share voices depends on each pad's mode, so neither polyphony nor polyphony_shared is recorded.

NOT RECORDED: aftertouch, system exclusive, NRPN, Continue, song position and bank select, which no page mentions; the note range; the bend range; note-off velocity; and the default of every channel setting, which no page gives.