MIDI PianoRoll

Plays and Records MIDI event and displays MIDI notes in a PianoRoll style.

You can load/record up to 32 MIDI files in the same module and switch between them in real time.

Most of the parameters like reading position, loop-start, loop-end, can be driven by other modules (like random generators), to create unusual loop sequences.

CC (Control Change) Mode

The piano roll can be used to draw CC curves (8 curves per MIDI file are available), choose the mode CC curve 1, 2...8:

Draw the CC curve in the bottom area (in violet on the figure)

Select the CC curve value (none, CC1, CC2,...CC127).

If you record Control change with an external source, use the edit controls mode mode. Each Control change is on its number line (same as note number), here the CC 10 can be edited:

If you have several CC recorded, select a part of the edition with the mouse or several parts (with [Shift+mouse]), keep Shift pressed and move the mouse up/down:

midifiles

Up to 32 MIDI files can be loaded at the same time and selected by the num file parameter or affected by a MIDI/key learn on the following buttons:

Current pattern number is visible in the bottom left corner.

Zooming

To Zoom vertically use the mouse wheel in the piano area (1), to Zoom horizontally, use the mouse wheel in the bar numbers area (2):

Monitoring

Enable this option if you want to monitor the MIDI notes you are manipulating.

Loop section

You can adjust the loop size and position in this area.

Adjust note Velocity

You can adjust the note velocity in the bottom area.

Select several notes

You can select several notes with the [shift] key, for example to move or copy this group.

more precision

For a more precise adjustment, select the notes you want to change and move the mouse with the [shift] key pressed.

Edit Quantization

For a best edition precision, choose the edit quantize mode.

To move note vertically (change the pitch) without change

the time position press the [alt] key.

Manipulate events array in the Pianoroll

The events inlet gives a direct access to events of the pianoroll in order to create unusual patterns. The array is a set of elements with the following structure.

  • beat position
  • event duration
  • MIDI message
  • MIDI data1
  • MIDI data2

events are sorted by increase beat position order.

Basic example

For example the following array [1,0.5,144,62,98] contains only one MIDI event:

  • beat position = 1 (first beat)
  • event duration = 0.5 (half a beat-8th)
  • MIDI message = 144 (MIDI-NOTE-ON)
  • MIDI data1 = 63 (MIDI note 62 : D5)
  • MIDI data2 = 98 (velocity)

see MIDI-implementation.

The following array [1,0.5,144,62,98,2,0,176,48,102] contains two MIDI events:

event 1

  • beat position = 1 (first beat)
  • event duration = 0.5 (half a beat-8th)
  • MIDI message = 144 (MIDI-NOTE-ON)
  • MIDI data1 = 63 (MIDI note 62 : D5)
  • MIDI data2 = 98 (velocity)

event2

  • beat position = 2 (second beat)
  • event duration = 0 (no duration)
  • MIDI message = 176 (CONTROL-CHANGE)
  • MIDI data1 = 48 (CC 48)
  • MIDI data2 = 101 (CC value)

Simple patch

The following patch get-event-pianoroll-example.pat gives an example of how to get MIDI information from the event outlet.

Scripting language is a good candidate for event manipulation. See scripting.

Settings

show pianoroll

Displays the pianoroll window.

midi in

MIDI input.

midi out

Midi output.

gain

Gain applied to the MIDI Notes.

pitch

Transposition applied to the MIDI Notes (in half-tones).

reverse

Plays the MIDI file in reverse mode: the cursor position moves from right to left. NOTE-ON events are transformed into NOTE-OFF NOTE-OFF events are transformed into NOTE-ON.

channel out

MIDI channel of the MIDI output.

chan filter

Let passes only messages witch correspond to the channel filter:

  • all channels: no channel filter.
  • chan 1: only from channel 1
  • chan 2: only from channel 2
  • etc.

play loop

Play the MIDI file in loop mode.

loop mode

Synchronization options:

  • free loop: the sequence is played in a loop mode.
  • cycle: the sequence is played at each beginning cycle.
  • bar: the sequence is played at each beginning bar.
  • loop on bar: the sequence is played entirely as in loop mode, and then, at the end, restarts at the beginning of the next bar.
  • loop on beat: the sequence is played entirely as in loop mode, and then, at the end, restarts at the beginning of the next beat.
  • step by step: the sequence is played manually step by step when the next step button is pressed.
  • ppQ slave: the sequence is played according the ppQ position input.

auto restart

Auto restart when master-synchro-panel restart.

play

Plays the current MIDI file.

This input works only when the play loop parameter is OFF.

play button mode

  • play-replay:first click plays the MIDI file (once) second click restarts the MIDI file.
  • play-stop:first click plays the MIDI file (once) second click stops the MIDI file.

on activation

  • do nothing: When parent patch is activated nothing is done nothing special done.
  • play once: When patch activated the file is played once.

rec

Starts or stops the recording of MIDI input.

clear

Clears the MIDI events.

rec mode

Recording mode:

  • rewrite: clears old events and records MIDI notes as they are played.
  • overdub: overdub record mode: keep the previous recorded notes.

quantiz

Quantization of the recorded notes:

  • no : no quantization.
  • 1/4: quantization on beat.
  • 1/8: quantization on eighteenth notes.
  • triplet: quantization on triplets.
  • 1/16: quantization on sixteenth notes.

st rec quantiz

Quantization of the start/end rec:

  • no: the recording starts/ends immediately after the rec button is pressed.
  • cycle: the recording starts/ends immediately after the beginning of the next cycle.
  • bar: the recording starts/ends immediately after the beginning of the next bar.
  • 1/4: the recording starts/ends immediately after the beginning of the next beat.

start pos

Start reading position.

end pos

End reading position.

the file is read between the start and end position.

ppqpos

ppQ position.

can receive data in input when the loop mode=ppQ slave to play MIDI files in random access.

num file

Current MIDI file number. You can change it in real time.

midi thru

Let pass input MIDI event thru the module.
Helpful if you want to hear what you are recording…

is-playing

Sends 1 value when the module is playing.

is recording

Sends 1 value when the module is recording.
Remember that, with the st rec quantiz option, the recording can starts/ends after the rec buttons is pressed. It can be helpful to know exactly when the module is recording.

starting

Sends 1 value when the reading position restarts from the beginning of the loop.

short filename

Gives only the name of the file, without the path and extension.

undo

Undo the last record or clear MIDI file.

add-file-name

Click to add a name to this MIDI file.

events

Gives a direct access to MIDI events of the pianoroll. See above.

next step

This input works only when the loop mode parameter is set to step by step

In forward mod, plays the MIDI file from the current position to the next NOTE ON event. In Reverse mode, it plays backward from the current position to the previous NOTE OFF event. See reverse.

reset next step pos

Resets the next step reading position (in step by step mode) to the beginning.

See also

Edit All Pages