MIDI bidules

Arpeggiator

The same arpeggiator as found in chipsounds

  • Arp Mode: note playing mode, pretty much the standard list of available modes
  • Arp Play Mode: loop will loop through the entire sequence until notes are released, one shot will play through the sequence once, one shot and sustain last will play through the sequence one and keep the last note playing until you release keys.
  • Velocity: As Played will play back the velocity of each input note in the output sequence, Use First will apply the velocity of the first received note to all the output notes, Normalized normalizes all output notes to the same value.
  • Gate Ratio: proportion of silence between successive notes.
  • Proportional Division: Sequences will take the same time to play, however manynotes they contain.

Buffer

Similar to the Audio Buffer but for MIDI events

  • Mode: Bypass, Capture, Playback modes, take note that Capture will continue to play what's in the buffer while recording
  • Buffer Length: the length of the buffer in milliseconds
  • Loop In: In point position for looping, represented in % of the buffer length
  • Loop Out: Out point position for looping, represented in % of the buffer length
  • Clear Buffer: Clear the contents of the buffer
  • Speed: speed at which the buffer is played back
  • File/Save: select a file to save the buffer contents, the file will be added to the MediaPool
  • Create new file for each record: create a new file with the current take appended to the name each time Save is pressed
  • Current take: display for the current take number when using the Create new file for each record option

Buffer (Synced)

Same as the MIDI Buffer except it uses musical time and can follow the tempo of a sync source

  • Mode: Bypass, Capture, Playback modes, take note that Capture will continue to play what's in the buffer while recording
  • Buffer Length: the length of the buffer in quarter-notes
  • Loop In: In point position for looping, represented in % of the buffer length
  • Loop Out: Out point position for looping, represented in % of the buffer length
  • Clear Buffer: Clear the contents of the buffer
  • File/Save: select a file to save the buffer contents, the file will be added to the MediaPool
  • Create new file for each record: create a new file with the current take appended to the name each time Save is pressed
  • Current take: display for the current take number when using the Create new file for each record option

CC Latch

Latch for MIDI CCs, the state (value 0 or value 127) changes when receiving a MIDI value of 127

CC Splitter

Splits incoming CCs to the output corresponding to the CC Number

CC To Params

Same functionality as the CC linking feature from MIDI devices. Can be used to extract CC from a MIDI device that might change, user mangled or created MIDI CCs or at the output of any plugin/ReWire device that can output CCs.

CC Value Scaler

Scale the value of incoming CC values between the selected range.

MIDI Delay

Delays the MIDI events for a specified amount of time in milliseconds.

MIDI Delay (Synced)

Delays the MIDI events for a specified amount of time in quarter-notes, the real amount of delay will be calculated using the sync source tempo.

Aftertouch Filter

Filters out (to the second output) all unselected MIDI Aftertouch on a note basis. Note the additional buttons in the toolbar:

  • Select all: select all Aftertouch events
  • Unselect all: unselect all currently selected Aftertouch events
  • Inverse selection: invert the current selection
  • Set Range: show a dialog to specify a range of Aftertouch events to select

Aftertouch Pressure Filter

Filters out (to the second output) MIDI Aftertouch events with values outside of the specified range.

CC Filter

Filters out (to the second output) all unselected MIDI CC on a CC number basis. Note the additional buttons in the toolbar:

  • Select all: select all CC events
  • Unselect all: unselect all currently selected CC events
  • Inverse selection: invert the current selection
  • Set Range: show a dialog to specify a range of CC events to select

CC Value Filter

Filters out (to the second output) MIDI CC events with values outside of the specified range.

Channel Filter

Filters out (to the second output) all unselected MIDI events on a MIDI Channel number basis. Note the additional buttons in the toolbar:

  • Select all: select all channels
  • Unselect all: unselect all currently selected channels
  • Inverse selection: invert the current selection
  • Set Range: show a dialog to specify a range of channels to select

Channel Pressure Filter

Filters out (to the second output) all unselected MIDI Channel Pressure events on a number basis. Note the additional buttons in the toolbar:

  • Select all: select all Channel Pressures
  • Unselect all: unselect all currently selected Channel Pressures
  • Inverse selection: invert the current selection
  • Set Range: show a dialog to specify a range of Channel Pressures to select

Channel Pressure Pressure Filter

Filters out (to the second output) MIDI Channel Pressure events with pressure values outside of the specified range.

Comparison Filter

Filter out (to the second output) MIDI events according to the selected Comparison value and operator, the event value is compared with the value at the same index in the current buffer.

Message Filter

Filters out (to the second output) all unselected MIDI events on a message type basis.

Misc Sysex Filter

Filters out (to the second output) all unselected MIDI Misc Sysex events on a message type basis.

Note Filter

Filters out (to the second output) all unselected MIDI Note events on a note number basis. Note the additional buttons in the toolbar:

  • Select all: select all MIDI Notes
  • Unselect all: unselect all currently selected MIDI Notes
  • Inverse selection: invert the current selection
  • Set Range: show a dialog to specify a range of MIDI Notes to select

Note Velocity Filter

Filters out (to the second output) MIDI Note events with velocity values outside of the specified range.

Program Change Filter

Filters out (to the second output) all unselected MIDI Program Change events on a number basis. Note the additional buttons in the toolbar:

  • Select all: select all MIDI Program Changes
  • Unselect all: unselect all currently selected MIDI Program Changes
  • Inverse selection: invert the current selection
  • Set Range: show a dialog to specify a range of MIDI Program Changes to select

Pitchbend Value Filter

Filters out (to the second output) MIDI Pitchend events with a value outside of the specified range.

Key Switch

Enables you to change the MIDI Channel of incoming events according to the last played note. You can associate a MIDI Note with each MIDI Channel, once that MIDI Note has occurred, all MIDI events will be remapped to the associated MIDI Channel until another MIDI Note with an associated channel occurs.

MIDI Clock To Sync

Its purpose is to transform a MIDI Timing Clock (Clock, Song Position, Start, Stop and Continue) into Bidule internal sync info. MIDI Clock synchronisation is an old legacy standard that is hard to emulate right in the slave software. The results are a combination of MANY factors including your Bidule audio buffer latency (lower the better), MIDI driver jitter and timestamp precision, and also the following settings:

  • Override tempo: manually force a tempo instead of using the calculate value
  • Tempo: current tempo (calculated or user-specified)
  • Time signature numerator/denominator: time signature to use for Bidule sync (this is not transmitted through MIDI Clock). This cannot be changed while the Clock is active on the other end.
  • Hard Clock Resynch: force resynch of the current position every n measures
  • Use last n values: number of last events used to calculate the average tempo, the higher the more stable the tempo value but the longer it takes for changes to occur
  • Round tempo: round calculated tempo to the closest integer value (will usually give a much more stable result)

MIDI To Value

Convert the selection (incoming MIDI Note or CC) to a smoothed out signal at audio rate.

  • CC#: select the CC to listen to in the incoming signal
  • Use Notes: use MIDI Note number as a 0 to 1 interval
  • Channel#: channel to listen to in the incoming signal
  • Smoothing: smoothing time for changes in value
  • Learn: go into learn mode, where the number of the next CC or Use Notes will be selected

NRPN To Params

Same as CC To Params but for NRPN (MIDI Non-Registered parameters) often used by hardware devices to access extra parameters, NRPN are actually composed of up to 4 MIDI CC events

Note Latch

Latch for MIDI Notes, MIDI Note On opens a note and keep it open until another MIDI Note On for that note is received.

Note Number To Param

Takes incoming MIDI Note On events and use the MIDI note number to set the value of its exported parameter that you can link to any parameter using the Parameter Linking window.

Note On To Value List

This is a convenient bidule to be used as a shortcut instead of using 3 different bidules. It is behaving like a MIDI Note Extractor -> Value List -> Parameter Modulator. The Modulation parameter is changed to next entry in the value list each time a Note On is received. The Min and Max are to specify a different minimum and maximum value for the modulation range, all numbers entered in the value list have to be within that range.

Note Shuffler

Randomly alters the incoming MIDI notes.

  • Lowest/Highest Note: select the available range for randomization.

Note Splitter

Splits incoming Notes to the output corresponding to the Note Number

Note Velocity To Params

Takes incoming MIDI Note On events and use the MIDI note velocity to set the value of the corresponding exported parameter that you can link to any other parameter using the Parameter Linking window.

Particle Arpeggiator

Modified version of Nate Robins's particle.c example from the GLUT library. In this version, colliding particles trigger MIDI. Each of the maximum 128 particles represent the 128 possible MIDI notes, so do some tests. You might not hear your synths right away. The ToneGenerator works OK with this, but as you know it is monophonic.

  • Num Particles: the number of particles in the system
  • Flow: the flow of the particles
  • Gravity: the gravity for the system
  • Show Balls: show the ball
  • Spectrum Colors/Blue: use the MIDI to spectrum color code or not
  • Fountain/Waterfall: fountain or waterfall mode
  • Point Size: size of the particles

Program Change To Params

Takes incoming MIDI Program Change events and use the Program Change number to set the value of the corresponding exported parameter that you can link to any other parameter using the Parameter Linking window.

RPN To Params

Same as CC To Params but for RPN (MIDI Registered parameters) often used by hardware devices to access extra parameters, RPN are actually composed of up to 4 MIDI CC events

MIDI Remappers bidules

Aftertouch Remapper (Multi)

Allows you to remap any Aftertouch event to a different Aftertouch event on a number basis. Notice the extra toolbar button "Reset all" which will reset all parameters to their original value of no remapping.

CC Remapper

Remaps all incoming MIDI CC events to the selected CC.

CC Remapper (Multi)

Allows you to remap any CC event to a different CC event on a number basis. Notice the extra toolbar button "Reset all" which will reset all parameters to their original value of no remapping.

CC Value Remapper

Remaps CC values according to the curve, you can draw the curve or double click to generate an entire curve (or segments) by specifying start and end point and value as well as the function for the slope.

CC Type Remapper

Remaps CC values between absolute and the various relative types, this will internally keep the current or last value and outputs CCs accordingly.

Channel Pressure Remapper (Multi)

Allows you to remap any Channel Pressure event to a different Channel Pressure event on a number basis. Notice the extra toolbar button "Reset all" which will reset all parameters to their original value of no remapping.

Channel Remapper

Remaps all incoming MIDI events to the selected channel.

Channel Remapper (Multi)

Remaps the channel of a MIDI event to any other channel on a number basis. Notice the extra toolbar button "Reset all" which will reset all parameters to their original value of no remapping.

Message Remapper (Multi)

Transforms a MIDI event into another on a type basis.

Note Off Velocity Remapper

Remaps Note Off velocity values according to the curve, you can draw the curve or double click to generate an entire curve (or segments) by specifying start and end point and value as well as the function for the slope.

Note Remapper

Remaps all incoming MIDI Notes to the selected note.

Note Remapper (Multi)

Remaps any incoming MIDI Note event to any other Note on a note number basis. Notice the extra toolbar button "Reset all" which will reset all parameters to their original value of no remapping.

Note Velocity Remapper

Remaps Note On velocity values according to the curve, you can draw the curve or double click to generate an entire curve (or segments) by specifying start and end point and value as well as the function for the slope.

PC Remapper (Multi)

Remaps any incoming MIDI Program Change event to any other Program Change on a program number basis. Notice the extra toolbar button "Reset all" which will reset all parameters to their original value of no remapping.

Splitter

Splits a MIDI signal into 16 different outputs.

  • Channel: A MIDI Event is routed to the output according to its channel number (channel 1 goes to the first output, channel 16 to the last)
  • Program Change: The program number of a Program Change event will change the current output
  • Note: FIFO (first in first out) assignment of outputs according to the current number of voices playing (1st opened voice goes to the first output, 2nd opened voice to the second, ...)

Step Sequencer

With the step sequence editor you can edit a grid of 16 sequences that always loop, or use the playlist to set a desired sequence to play for all 16 output channels. Each sequence step in the playlist can have its own BPM and step size. Note: the Step Sequencer outputs on all channels and by default sequences 1 to 16 are assigned to channel 1 to 16 meaning that if you draw notes on a sequence between 2-16 and select it as the sequence for channel 1, the events will be output twice, once on channel 1 and once on the channel N (where n is the sequence number between 2 and 16).

  • Load: loads a saved bank of sequences (.bmsd file)
  • Save: saves a bank of sequences (.bmsd file)
  • +: zoom in the grid
  • -: zoom out the grid
  • Play/Stop: start and stop the output of the step sequencer
  • BPM: tempo for the playing sequences. Remember to press ENTER to apply the value!
  • Steps: number of steps for the playing sequences
  • Channel: assign the current sequence to the MIDI channel
  • Sequence: assign the sequence to the current MIDI channel
  • Playlist Mode: use the playlist / loop the current sequences
  • Edit Playlist: show the playlist editor dialog

The playlist editor dialog is where you can assign a sequence number for each channel for a specified number of events. You can also specify the BPM and the number of steps for each event.

  • Playlist Length: number of events in the playlist
  • Playlist Start/End: in/out points for looping
  • BPM/Set BPM: specifies and set the BPM for each event
  • Num Steps/Set Num Steps: specifies and set the number of steps for each event
  • Reset Events: reset all events to the default BPM, number of steps and no playing sequences

Controls for the grid:

Windows:

  • left mouse button: add and lengthen notes
  • middle mouse button/ctrl-left mouse button: delete notes
  • right mouse button: change a notes velocity (darkens, lightens color of note)

OS X:

  • (left) mouse button: add and lengthen notes
  • shift-(left) mouse button: delete notes
  • ctrl-mouse button/right mouse button: change a notes velocity (darkens, lightens color of note)

The sequence number playing on each channel is also exported as a parameter that you can link to in the Parameter Linking window. For example, you could have a Note Number To Params per MIDI channel and have each of them link to the corresponding parameter for the currently playing sequence for each channel - giving you hands-on control of the sequence being played on all channels at once!

Sync to MIDI Clock

Transforms Bidule internal sync info to MIDI Timing Clock for output to other softwares or external gear.

MIDI Transposers bidules

Aftertouch Transposer

Alters the incoming MIDI Aftertouch events note number or value by a specified amount.

  • Wrap Around: when enabled, if applying the offset make the value go out of range, the result will be wrapped around instead of clipped.

CC Transposer

Alters the incoming MIDI CC events number or value by a specified amount.

  • Wrap Around: when enabled, if applying the offset make the value go out of range, the result will be wrapped around instead of clipped.

Note Transposer

Alters the incoming MIDI notes by the specified semitones, detune and velocity value.

  • Wrap Around: when enabled, if applying the offset make the value go out of range, the result will be wrapped around instead of clipped.

Program Change Transposer

Alters the incoming MIDI Program Change events number by a specified amount.

  • Wrap Around: when enabled, if applying the offset make the value go out of range, the result will be wrapped around instead of clipped.

Velocity Scaler

Like a MIDI dynamics compressor.

  • Lowest/Highest Velocity: range to remap all incoming note velocities
  • Master Attenuation: attenuation for all incoming notes