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.

Roland P-6 MIDI implementation

The MIDI implementation of the Roland P-6: what it answers to, and the 40 controls it offers, on firmware 1.02.

At a glance

Firmware
This page describes firmware 1.02.
MIDI channel
Any one of 1 to 16.
Parts
Granular sampler: on a MIDI channel of its own, taking notes and controls, with 4 voices.
Sample pads: on a MIDI channel of its own, taking notes, with 16 voices.
Auto: on a MIDI channel of its own, taking notes and controls.
Pattern: on a MIDI channel of its own, taking program changes.
MIDI mode
3: omni off, poly.
Voices
Each part's own, under Parts.
Note range
Not recorded.
Velocity
Sent and received. Release velocity is ignored.
Aftertouch
None, sent or answered.
Pitch bend
Not recorded.
Program change
Received and sent, with 64 presets.
MIDI clock
Sent and received.
Start and stop
Sent and received.
Control change
40 controls, in the tables below.
NRPN
None.
System exclusive
None.

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("roland/p_6") has loaded them.

Granular sampler

VOICE

Control CC Values
Grain Reverse Probability
grain_reverse_probability
3 0-127
Detune
detune
13 0-127
Grain Shape
grain_shape
15 0-127
Grain Time Key Follow
grain_time_key_follow
16 0-127
Fine Tune
fine_tune
18 0-127
Head Position
head_position
19 0-127
Head Speed
head_speed
20 0-127
Grains
grains
21 0-127
Grain Size
grain_size
23 0-127
Spread
spread
25 0-127
Amp Switch
amp_switch
28 0-127
T.Env Mode
t_env_mode
29 0-127
T.Env Sustain
t_env_sustain
30 0-127
Grain Timing Jitter
grain_timing_jitter
68 0-127
T.Env Release
t_env_release
72 0-127
T.Env Attack
t_env_attack
73 0-127
T.Env Decay
t_env_decay
75 0-127
Coarse Tune
coarse_tune
76 0-127
T.Env Time Key Follow
t_env_time_key_follow
77 0-127
Start Mode
start_mode
79 0-127
Sample
sample
88 0-127

FILTER

Control CC Values
Filter Type
filter_type
12 0-127
Filter Envelope Depth
filter_envelope_depth
24 0-127
Filter Cutoff Key Follow
filter_cutoff_key_follow
26 0-127
Filter Resonance
filter_resonance
71 0-127
Filter Cutoff Frequency
filter_cutoff_frequency
74 0-127
Filter Velocity Sens
filter_velocity_sens
78 0-127

MIXER

Control CC Values
Level
level
7 0-127
Auto Pan
auto_pan
9 0-127
Pan
pan
10 0-127
Level Jitter
level_jitter
14 0-127
Output Bus Select
output_bus_select
84 0-127
Send Delay
send_delay
85 0-127
Send Reverb
send_reverb
86 0-127

Lo-fi

Control CC Values
Lo-Fi
lo_fi
17 0-127
Lo-Fi Switch
lo_fi_switch
87 0-127

DELAY/REVERB

Control CC Values
Reverb Time
reverb_time
89 0-127
Delay Time
delay_time
90 0-127
Reverb Level
reverb_level
91 0-127
Delay Level
delay_level
92 0-127

Where these facts come from

Source documents

How they were read

P-6 Owner's Manual, 152 pages: every number below is on four of its last six. The MIDI implementation chart is pp. 147-148 and the control change list pp. 149-150. The rest of the manual is cited for the four channels (pp. 95-96), what a note does on each of them (p. 82), the groups (pp. 12-13 and pp. 106-115) and the polyphony and patterns (p. 151). And Roland's own pages for this instrument: its owner's manuals, its updates, and the notes for system program 1.02.

THE CHART POINTS AT THE LIST AND NAMES NOTHING ITSELF. Its Control Change row reads o in both columns and its remark sends the reader on: "For the values, refer to" (manual p. 147) the list two pages later. So every control below is both on the strength of that one row: nothing in the list, the chart or the rest of the manual says any particular controller is only sent or only received. The sibling S-1's chart split its numbers into rows and gave each row its own marks, which is how that file came to have six controls received and never sent; this one cannot. And that o is the only evidence that any of them is sent. The list's own note speaks of reception alone - "Control change messages are received under the following conditions." (manual p. 149) - and no sentence anywhere says turning a knob sends one. The chart is followed, because it is the maker's statement and it points at this list; a reader who wants the doubt should know it was looked for and not settled.

THE LIST HOLDS FORTY CONTROLLERS, AND EVERY ROW WAS ACCOUNTED FOR. It prints 51 rows across two pages: forty with a parameter, four that print a dash in place of one - 0, 11, 22 and 27 - and seven that print a colon in both number columns, standing for the numbers it leaves out. Every row prints its number twice, in decimal and in hexadecimal, and the two agree on all 44 numbered rows. The four dashes are not carried, since a dash names no parameter; the left-out numbers are not carried either, since the list does not print them.

AND EVERY ONE OF THE FORTY CITES THE PAGE ITS PARAMETER IS SET ON, which is where the groups come from. Thirty-eight name a parameter that the page they cite prints, and those pages sit under four section headings - "SAMPLE EDIT (VOICE) settings" (manual p. 106), "SAMPLE EDIT (FILTER) settings" (manual p. 110), "SAMPLE EDIT (MIXER) settings" (manual p. 112) and "DELAY/REVERB settings" (manual p. 114). The other two cite a section by its title: 17 the page headed "Setting and checking the Lo-Fi effect intensity" (manual p. 13), and 87 the page headed "Changing the sound quality of the sample playback (Lo-Fi)" (manual p. 12). That page never calls it a switch. The list's own name for 87 is Lo-Fi Switch, and p. 12 calls the control the [LO-Fi] button and describes it turning the effect on and off. The label is the list's.

THE CONTROLLERS MOVED CHANNEL IN 1.02, AND THE CHART SAYS SO FOR BOTH VERSIONS. Its footnote to the received column: "For ver. 1.01, this data is received only when the receive channel is set to 15 (auto)." (manual p. 148) and "For ver. 1.02 and later, this data is received when the receive channel is 5 (granular sampler) or 15 (auto)." (manual p. 148). The list repeats it with the settings named: "For ver. 1.02 and later, data is received using the channel that’s set in the Granular MIDI Channel" (manual p. 149) or the auto one. Roland's notes for 1.02 say it a third time (release_notes).

SO EVERY CONTROL BELOW NAMES THE GRANULAR PART, AND THE AUTO PART TAKES THEM TOO. A control names one part in this format, and the granular sampler's channel is the one these are addressed to: every row of the list opens with the word GRANULAR or DELAY/REVERB, and on firmware 1.01 they would have reached the auto channel alone. The auto part is recorded as receiving controls because it does - "or receiving control change messages" (manual p. 96) - and a program offering these controls should know both channels reach them. The four delay and reverb controls are the whole instrument's effects, not the granular sampler's; the part says where they are sent, not what they belong to. Two things are left open by the manual itself: the menu's own entry for the granular channel still says nothing about control changes, even in this 1.02 edition - only the auto channel's entry does (manual p. 96) - and nothing says whether a controller arriving on the auto channel while a sample pad is selected changes that pad or the granular sampler.

NINE OF THE FORTY ARE STEPPED ON THE INSTRUMENT AND THE LIST GIVES NO VALUE FOR ANY STEP. Sample, Filter Type, Auto Pan, Grain Shape, Start Mode, T.Env Mode, Amp Switch, Output Bus Select and Lo-Fi Switch each choose between named settings on their own pages - Start Mode is CoLd (Cold) or hot (Hot) on p. 107, Amp Switch Off, On on p. 108 - and nowhere is a MIDI value tied to any of them. So all nine are kept continuous, as the guide this corpus follows asks, rather than numbered by the order their settings are printed in. And no range is recorded for any of the forty: the list prints none, and the settings pages give each parameter's range in its own units - 0 to 255, -24 to 24 semitones, seconds - with no word on how a controller's 0 to 127 is spread across them.

THE SAMPLE PADS ANSWER TO NOTES 48 TO 95 ON THEIR OWN CHANNEL, AND ONLY THE ENDS ARE PRINTED. The chart's Note Number row reads "48–95 (C3–B6) (*1)" (manual p. 147) in both columns, with the remark "These correspond to the sample pad numbers (sample pad [1] of bank A through sample pad [6] of bank H)." (manual p. 147), and its footnote says a note here does not play a pitch: "The note numbers are used to specify the sample pads." (manual p. 148). Eight banks of six pads is forty-eight, which is the span exactly, and the manual says the same on p. 82. Which note reaches which pad between those two ends is not printed anywhere, so no note is recorded against a pad here: the order is very nearly certain and is still an inference, and this file does not publish one. Nor is it said what a note outside 48 to 95 does on that channel.

AND A THIRD SET OF NOTE NUMBERS HAS NO CHANNEL AT ALL. A sample cut into slices puts them on notes 60 to 123: "The split-up samples are respectively assigned to note numbers, from C4 to" (manual p. 107) the note p. 28 numbers 123, and the slices can be played from "an external MIDI keyboard" (manual p. 27). On which channel, no page says, and those notes overlap the pads' span.

THE AUTO CHANNEL PLAYS WHICHEVER PAD IS SELECTED, AT PITCH. "you can play the sample pads of the P-6 or the [GRANULAR] pad in scale notes." (manual p. 82), when a keyboard sends on the auto channel. The chart's True Voice row reads 0–127 in both columns (manual p. 147). The granular sampler's own channel is not described the same way: the manual says only that it "Sets the MIDI transmitting/receiving channel for the [GRANULAR] pad." (manual p. 96), and never says how a note arriving there is read, so that part records no addressing.

CONTINUE'S NOTE IS IN THE RECEIVED COLUMN, NOT AMONG THE REMARKS. The chart marks Continue x transmitted and o received, and prints "Works the same as the start command." (manual p. 147) under the o, inside the column headed Recognized rather than in Remarks. So a continue message is taken as a start rather than a resume: it answers to the message and does something else with it.

THREE CHANNEL MODE MESSAGES ARE SENT, AND ONLY IN ONE CIRCUMSTANCE. All Sound Off, Reset All Controllers and All Notes Off are each o received and o (*3) transmitted, and *3 reads "Transmitted when a MIDI offline message is detected." (manual p. 148) - a phrase the manual uses nowhere else and never explains. They are the MIDI specification's own messages rather than this instrument's controls, so none is carried below. Active sensing is o in both columns.

ONE PARAMETER'S RANGE DISAGREES WITH THE REST OF THE MANUAL, and it is controller 88's. The list sends it to p. 106, where the granular sampler's Sample setting runs A-1, A-2, ..., h-7, h-8 - eight to a bank. Everywhere else the instrument holds six to a bank: "There are eight banks (A–H), with six samples that you can play per bank for a total of 48 samples." (manual p. 11), and p. 9 says the same. Both are recorded here and neither is chosen, which costs nothing below: controller 88 carries no range of its own either way.

WHAT IS ABSENT, from the chart's own rows and from a sweep of every page with the text reduced to letters and digits. System exclusive is x in both columns, and the word "exclusive" is on no other page of the 152; nor are SysEx, Device ID, NRPN, Registered Parameter, bend range or local control anywhere. Aftertouch is x in all four of its cells and pitch bend x in both columns, so this instrument has no pitch bend at all rather than an unpublished range. Song position, song select and tune request are x both ways, and so are the four mode messages.

ROLAND OFFERS ONE OTHER DOCUMENT FOR THIS INSTRUMENT, AND IT IS NOT ABOUT MIDI. The owner's manuals page lists the manual in eight languages as web pages and as PDFs, and a "P-6 Sample Tool User's Guide" (downloads) for the application that moves samples on and off it. That guide is ten pages and never says MIDI. It is recorded below because it exists and was read.

READ TWICE, AND THE TWO READINGS AGREE ON EVERY CELL. Both tables were read off their ruled grids by one method, and again by a second reader with a different library and a different method who never saw the first - all 32 rows of the chart, all 51 of the list, every hexadecimal. Most of the doubts in this account are that second reader's.

TRYING THE NUMBERS FOUND NO OTHER EDITION. The manual is served as P-6_eng01_W.pdf, and eng00 and eng02 to eng06 all answer 403. Its back page prints the edition "01", which is the number in the file name.