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.
Erica Synths PĒRKONS HD-01 MIDI implementation
The MIDI implementation of the Erica Synths PĒRKONS HD-01: what it answers to, and the 55 controls it offers, on firmware 1.2.
At a glance
- Firmware
- This page describes firmware 1.2.
- MIDI channel
- Not recorded.
- Modes
- SINGLE MIDI CHANNEL.
MULTI MIDI CHANNEL: the controls on the base MIDI channel do not answer in it. - Parts
- Voice, 4 of them: each on a MIDI channel of its own, taking notes and controls, with 1 voice each, in MULTI MIDI CHANNEL only.
- Voices
- 4.
- Notes
- Each note plays a drum of its own. Which note plays which is not recorded.
- Note range
- Not recorded.
- Velocity
- Received.
- Aftertouch
- Not recorded.
- Pitch bend
- Not recorded.
- Program change
- Not recorded.
- MIDI clock
- Sent and received.
- Start and stop
- Not recorded.
- Control change
- Assigned by the player, apart from the 55 controls below.
- NRPN
- None.
- System exclusive
- Not recorded.
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("erica_synths/perkons_hd_01") has loaded them.
On the base MIDI channel
These answer in SINGLE MIDI CHANNEL, and not in MULTI MIDI CHANNEL.
Voice 1
| Control | CC | Values |
|---|---|---|
Voice 1 Tunevoice_1_tune |
70 | 0-127 The factory's number, which the player can change |
Voice 1 Decayvoice_1_decay |
71 | 0-127 The factory's number, which the player can change |
Voice 1 PARAM1voice_1_param_1 |
72 | 0-127 The factory's number, which the player can change |
Voice 1 PARAM2voice_1_param_2 |
73 | 0-127 The factory's number, which the player can change |
Voice 1 Cutoffvoice_1_cutoff |
74 | 0-127 The factory's number, which the player can change |
Voice 1 Drivevoice_1_drive |
75 | 0-127 The factory's number, which the player can change |
Voice 1 FX Sendvoice_1_fx_send |
76 | 0-127 The factory's number, which the player can change |
Voice 1 Levelvoice_1_level |
77 | 0-127 The factory's number, which the player can change |
Voice 1 Algo Switchvoice_1_algo_switch |
78 | 0-127 The factory's number, which the player can change |
Voice 1 Mode Switchvoice_1_mode_switch |
79 | 0-127 The factory's number, which the player can change |
Voice 1 Filter Switchvoice_1_filter_switch |
80 | 0-127 The factory's number, which the player can change |
Voice 2
| Control | CC | Values |
|---|---|---|
Voice 2 Tunevoice_2_tune |
81 | 0-127 The factory's number, which the player can change |
Voice 2 Decayvoice_2_decay |
82 | 0-127 The factory's number, which the player can change |
Voice 2 PARAM1voice_2_param_1 |
83 | 0-127 The factory's number, which the player can change |
Voice 2 PARAM2voice_2_param_2 |
84 | 0-127 The factory's number, which the player can change |
Voice 2 Cutoffvoice_2_cutoff |
85 | 0-127 The factory's number, which the player can change |
Voice 2 Drivevoice_2_drive |
86 | 0-127 The factory's number, which the player can change |
Voice 2 FX Sendvoice_2_fx_send |
87 | 0-127 The factory's number, which the player can change |
Voice 2 Levelvoice_2_level |
88 | 0-127 The factory's number, which the player can change |
Voice 2 Algo Switchvoice_2_algo_switch |
89 | 0-127 The factory's number, which the player can change |
Voice 2 Mode Switchvoice_2_mode_switch |
90 | 0-127 The factory's number, which the player can change |
Voice 2 Filter Switchvoice_2_filter_switch |
91 | 0-127 The factory's number, which the player can change |
Voice 3
| Control | CC | Values |
|---|---|---|
Voice 3 Tunevoice_3_tune |
92 | 0-127 The factory's number, which the player can change |
Voice 3 Decayvoice_3_decay |
93 | 0-127 The factory's number, which the player can change |
Voice 3 PARAM1voice_3_param_1 |
94 | 0-127 The factory's number, which the player can change |
Voice 3 PARAM2voice_3_param_2 |
95 | 0-127 The factory's number, which the player can change |
Voice 3 Cutoffvoice_3_cutoff |
96 | 0-127 The factory's number, which the player can change |
Voice 3 Drivevoice_3_drive |
97 | 0-127 The factory's number, which the player can change |
Voice 3 FX Sendvoice_3_fx_send |
98 | 0-127 The factory's number, which the player can change |
Voice 3 Levelvoice_3_level |
99 | 0-127 The factory's number, which the player can change |
Voice 3 Algo Switchvoice_3_algo_switch |
100 | 0-127 The factory's number, which the player can change |
Voice 3 Mode Switchvoice_3_mode_switch |
101 | 0-127 The factory's number, which the player can change |
Voice 3 Filter Switchvoice_3_filter_switch |
102 | 0-127 The factory's number, which the player can change |
Voice 4
| Control | CC | Values |
|---|---|---|
Voice 4 Tunevoice_4_tune |
103 | 0-127 The factory's number, which the player can change |
Voice 4 Decayvoice_4_decay |
104 | 0-127 The factory's number, which the player can change |
Voice 4 PARAM1voice_4_param_1 |
105 | 0-127 The factory's number, which the player can change |
Voice 4 PARAM2voice_4_param_2 |
106 | 0-127 The factory's number, which the player can change |
Voice 4 Cutoffvoice_4_cutoff |
107 | 0-127 The factory's number, which the player can change |
Voice 4 Drivevoice_4_drive |
108 | 0-127 The factory's number, which the player can change |
Voice 4 FX Sendvoice_4_fx_send |
109 | 0-127 The factory's number, which the player can change |
Voice 4 Levelvoice_4_level |
110 | 0-127 The factory's number, which the player can change |
Voice 4 Algo Switchvoice_4_algo_switch |
111 | 0-127 The factory's number, which the player can change |
Voice 4 Mode Switchvoice_4_mode_switch |
112 | 0-127 The factory's number, which the player can change |
Voice 4 Filter Switchvoice_4_filter_switch |
113 | 0-127 The factory's number, which the player can change |
Voice
In MULTI MIDI CHANNEL only.
Voice
| Control | CC | Values |
|---|---|---|
Tunemulti_voice_tune |
70 | 0-127 The factory's number, which the player can change |
Decaymulti_voice_decay |
71 | 0-127 The factory's number, which the player can change |
PARAM1multi_voice_param_1 |
72 | 0-127 The factory's number, which the player can change |
PARAM2multi_voice_param_2 |
73 | 0-127 The factory's number, which the player can change |
Cutoffmulti_voice_cutoff |
74 | 0-127 The factory's number, which the player can change |
Drivemulti_voice_drive |
75 | 0-127 The factory's number, which the player can change |
FX Sendmulti_voice_fx_send |
76 | 0-127 The factory's number, which the player can change |
Levelmulti_voice_level |
77 | 0-127 The factory's number, which the player can change |
Algo Switchmulti_voice_algo_switch |
78 | 0-127 The factory's number, which the player can change |
Mode Switchmulti_voice_mode_switch |
79 | 0-127 The factory's number, which the player can change |
Filter Switchmulti_voice_filter_switch |
80 | 0-127 The factory's number, which the player can change |
Where these facts come from
Source documents
- PĒRKONS HD-01 User Manual, dated December 2024, its user manual, read on 4 October 2026 (the file read).
- Pērkons HD-01 1.2 firmware update! - Blog - Erica Synths, dated 18 December 2024, its release notes, read on 4 October 2026.
- Pērkons 1.1 update! - Blog - Erica Synths, dated 24 November 2023, its release notes, read on 4 October 2026.
- Pērkons HD-01 1.0 firmware update! - Blog - Erica Synths, dated 19 September 2022, its release notes, read on 4 October 2026.
- Blog - Erica Synths, a web page, read on 4 October 2026.
How they were read
PĒRKONS HD-01 User Manual, 37 pages, December 2024, for firmware 1.2. Every controller number below comes from pp. 35 and 36, the two pages headed MIDI IMPLEMENTATION, and there is no implementation chart, no separate MIDI document and nothing on midi.guide. Around them: the connectors at p. 6, the voice controls at p. 7, the sound engines at pp. 8-11, the configuration page at pp. 31-33, where the two MIDI modes and their channels are set, and the firmware 1.1 changelog at p. 34, which is all the manual has on notes in the second mode.
THE MANUAL IS REACHED THROUGH A NEWS ITEM AND THERE IS NO OTHER ROUTE TO IT. The maker's product and support pages assemble their download lists in the browser, so an HTTP client that fetches either gets no link to anything. The manual is the second of two links in the announcement of firmware 1.2, worded "DOWNLOAD UPDATED MANUAL HERE" (firmware_1_2). That announcement is cited here as a document in its own right, with the two before it, because between them they are the only changelogs this instrument has.
FORTY-FOUR CONTROLLER NUMBERS, 70 TO 113, WITH NOTHING UNUSED IN BETWEEN. Eleven controls for each of four voices: "All 8 potentiometers and 3 switches of each voice on the PĒRKONS can be controlled via MIDI CC messages" (p. 35). Voice 1 has 70 to 80, voice 2 81 to 91, voice 3 92 to 102 and voice 4 103 to 113, in the order the page lists the controls down its left-hand side. That is SINGLE MIDI CHANNEL mode's map. MULTI MIDI CHANNEL mode's is voice 1's eleven again, for each voice on a channel of its own, and is carried below on a part.
THE PICTURED FILE DOES NOT AGREE WITH THE TABLE, and nothing in print settles it. Page 36 carries two pictures that the page's text does not hold. One is the card's SYSTEM folder, with three files in it: device.json, multi-midi-cc.json and single-midi-cc.json. The other is the single file open in an editor, and its numbers are: voice1 tune 70, decay 74, param1 71, param2 75, cutoff 72, drive 76, fx-send 73, level 77, algo 78, mode 79, filter 80; voice2 tune 81, decay 85, param1 82, param2 86, cutoff 83, drive 87, fx-send 84, level 88, algo 89, mode 90, filter 91; and voice3 tune 92, where the picture ends. Against the table that is the same number for tune, level and the three switches, and a different one for decay, PARAM1, PARAM2, cutoff, drive and FX send: twelve of the twenty-three numbers pictured. The pictured numbers run in the panel's order, down the left column of knobs and then the right (p. 7), where the table's run across its rows. The table is carried as the stated implementation - "In SINGLE MIDI CHANNEL mode, the MIDI implementation is as shown in the table below" (p. 35) - and not as the likelier of the two. The page shows the picture as the file to open, "Then open the single-midi-cc.json file in a text editor" (p. 36), and never calls it an altered one, and the two can both be true of one instrument only if somebody had altered it. A player whose decay answers on 74 and not on 71 has met the pictured file.
THE TABLE IS A DRAWING AND NOT A TABLE. This manual was set in Adobe Illustrator and its two kinds of table are grids of free-standing words with no ruling and no cells, so which number belongs under which heading is in the coordinates and nowhere else. Reading by the order the words come out of the file is wrong in the way that looks right: done that way, the fourth voice's three algorithms come back as NOISE HAT, NOISE/TONE, ACOUSTIC HATS, which reads as algorithms 1, 2 and 3 - and the maker says elsewhere that algorithm 3 is the one with the samples in it, "VOICE 4, ALGORITHM 3 contains three hi-hat samples that can be selected via the MODE switch" (p. 33), which is ACOUSTIC HATS. The columns settle it; the text's order does not. Both kinds of page also carry a drawing of the voice panel at the right-hand edge, whose words would otherwise land in the table.
WHAT IS ABSENT, SEARCHED FOR ACROSS ALL THIRTY-SEVEN PAGES. The words NRPN, RPN and Registered appear nowhere, which is what nrpn: none records. Neither do System Exclusive, SysEx, Program Change, Pitch Bend or Aftertouch - but those are left unrecorded rather than written as checked absences, because this is a manual and not an implementation chart, and one that does not mention a thing has not been asked about it. The distinction matters most for program change: the instrument holds 64 banks of 64 kits and 64 patterns (p. 28) and the manual describes no way to reach any of them over MIDI, so no preset count is recorded here at all.
NO MIDI CHANNEL NUMBER OR RANGE IS PRINTED. The channel is chosen on the instrument - "In the SINGLE CHANNEL MIDI CONFIG menu, you can select a MIDI channel for controlling the PĒRKONS" (p. 32) - and the manual never says how many there are to choose from. The sub-menu is a row of sixteen step buttons and MIDI has sixteen channels, which is a good guess and is not a fact the maker printed, so channels is left unrecorded. The one channel number in print is for MULTI MIDI CHANNEL mode, "Voice 1 = MIDI CH1, Voice 2 = MIDI CH2 etc." (p. 34), stated flatly and read here as where the voices start, since p. 32 lets the player assign them.
WHAT THE CONTROLS TRAVEL. Both ways. The connector caption has MIDI IN taking them - "Full-size DIN5 MIDI In receives trigger note messages, MIDI clock as well as CC messages for all voice parameters" (p. 6) - and the configuration page has them going out, "Step button 7 turns on the transmission of parameter MIDI CC messages via the MIDI OUT port" (p. 32). The same caption at p. 6 says only that "The MIDI OUT port outputs trigger and MIDI clock messages" (p. 6), which is the shorter of the two accounts rather than a contradiction of it. No page prints the numbers or channels they go out on, in either mode; that they are the ones they come in on is read.
THE ONE FIRMWARE NOTE THAT TOUCHES THESE NUMBERS is "Fixed VCF mode CC bug" (firmware_1_2), which is the maker saying that a voice's FILTER SWITCH did not answer right before December 2024. The 1.1 note made a note a pitch, "This update adds chromatic tuning of the voices, adds one new algorithm and more!" (firmware_1_1), in the mode its changelog names: "Set MIDI mode to multi-channel and you can program notes into the sequencer either by playing them live and recording or by pressing the desired step button and then sending in the MIDI note" (p. 34). The 1.0 note mentions MIDI only for its clock.
NOT RECORDED, for MULTI MIDI CHANNEL mode: what a note does when it is simply played and not recorded, the range of notes a voice takes, and which note sounds a voice at its TUNE knob's pitch. The changelog's sentence is about programming the sequencer, and p. 35's about the controllers the voices answer to.
THE MANUAL REPEATS A PARAGRAPH AND LOSES ONE, which is worth knowing before trusting any of its prose. "Step button 9 of the second track" (p. 32) and "Step button 12 of the second track" (p. 33) are both described as inverse odds, word for word the same paragraph twice over, while the manual's own diagram has TRACK ROTATE at step 12 (p. 31). The announcement of firmware 1.2 is what the missing paragraph would have said. Nothing below rests on that page; it is recorded because a document that repeats itself may be missing something.
AND ITS OWN CROSS-REFERENCES ARE A PAGE OUT. One sends a reader to "page 30 of the manual" (p. 17) and the next to "page 30 of this manual" (p. 18), for settings that begin on p. 31. The printed page numbers themselves match the sheets exactly, and every locator here was taken from the page rather than from a reference to it.