View Single Post
Old 03-26-2009, 03:58 AM   #9
Human being with feelings
DarkStar's Avatar
Join Date: May 2006
Location: Surrey, UK
Posts: 18,025
Default MIDI Controllers

Instrument Range Display

It displays whether a note is within the range of an instrument.

MIDI velocity viewer

[img] http://img684.**************/img684/3600/midivelocityviewer.png[/img]

Developed to measure and improve the MIDI dynamics (velocities) of my Roland TD12 electronic drumkit.

Bernstraw / Reflected


Tutorial Video:

This is a JS adaptation of AudioMulch's Metasurface.

It stores the parameter values of instruments and effects in patch dots, and interpolates between these dots while dragging the cursor on the XY pad or following time based vectors.

X-Y pad controller

This is a X-Y pad sending CC values via the mouse or a path of 4 vectors or both.
The yellow square follows the white path, the red square chases the yellow one and sends the two CC messages (mapped to Cutoff and Resonance here).

FoXY controller

FoXY is a XY controller plugin.

It can control VST plugins parameters (with the new VST parameter learn feature), and/or used with the excellent! Jeffos's VST plugin here (win32 only), send MIDI CC data to control, for example, volume and pan of tracks.

This version is limited to a maximum of 8 points (but can very easily be pushed to 32 via one init constant and sliders definition only). The points can have axis constraints, so it's possible to use the plugin as a pack of 8 vertical or horizontal sliders.

Using a simple USB gamepad as an expression controller

The script has 10 joystick presets and starts at preset 1 by default. The different presets only change how the analog joysticks work, the buttons and D-PAD (POV) are always the same. The presets configure the gamepad in the following way:

Preset 1:
  • Joy 0 up = pitchbend up
  • Joy 0 dn = pitchbend down
  • Joy 1 up = modwheel 0-127
  • Joy 1 dn = aftertouch (channel pressure) 0-127

Presets 2-10:
  • Joy 0 is now an XY controller with two CCs mapped to the XY axis. When centred the CCs transmit 63 for both. This is great for synths like Zebra and Alchemy that have XY expression controllers.
  • Joy 1 up is the same as Joy 0's X-axis.
  • Joy 1 down is the same as Joy 0's Y-axis.
  • The CCs for presets 2-10 go from 102 to 119 with even CCs being the Y-axis and odd CCs being the X-axis.

Reason remote Komplete

A (nearly) complete set of JS plugins for remote controlling Reason devices from Reaper.
  • combinator, malstroem, subtractor, NN19, NNXT, DrRex, Linemixer 6:2, Scream4, Vocoder, RPG8-Arp
  • 4 plugins for thor, covering filters && performance, sequencer, osc && mod-control.
  • Note names for redrum && DrRex

MIDI track control.

Like in Sonar/Cubase

VS-2480 Feedback
In order to get control surface feedback on my VS-2480, I have written a JS that sits on a dedicated track and reacts to incoming CCs and sends CCs back out on the track's MIDI hardware out. This is used to turn on LEDs, provide fader feedback and feedback for the transport buttons and leds on the vs-2480 (with blinking LEDs!).

MIDI-controlled track automation

This lets you use your MIDI controller device to control volume, pan and mute for audio tracks. This means you can e.g. select a volume/expression pedal to control the track's volume, select a knob to control panning, and perhaps the sustain pedal to mute the track. Of course you can record the MIDI data (on a separate track), and then route it back to the audio track, which essentially gives you MIDI-controlled track automation.

You can use any regular CC, but you can also select pitch bend, or even note on velocity, or channel aftertouch. You can reverse the controller's behaviour, so e.g. the track's volume actually lowers when you turn up the modulation wheel.

MIDI CC Automation

What does it do?
It controls three preset MIDI CC parameters (Filter cutoff, filter resonance and modulation wheel) and two CC parameters of your own choice. And I threw in the ability to control the pitchbend as well.

MIDI Pitch Bend and Modulation Wheel

To bend pitch, hold the left mouse down on the centre of the wheel, and drag up or down. Releasing the mouse button will return to the centre position.

Send Crossfader

It's a crossfader that allows you to create complex transitions by automating a single parameter. The way you do this is to create two different sends with different mixes, and use the Send Crossfader to crossfade between them

Effectively, it allows you to use a single parameter to approximate automating a whole bunch of things (EQ, volume, reverb level, pan - whatever you like) all at the same time, by fading between two mixes

Pitchwheel Control Centre

Converts channel aftertouch or any CC to PW (included a Learn mode). If both up and down use the same CC (or AFT) it uses a full range, so 64 becomes 0. If only Up or Dn is active, or we use different CCs, the full CC range will apply only to Up OR Dn PW.
Beside the max range limiter, I also added a zero limiter, mainly when using the modwheel or a foot pedal, as hitting exactly the middle value is impossible, this way you get a larger zero zone.
It also has MIDI channel input filter (others get sent untouched) and the possibility to select a specific output channel (only the Pitchwheel is affected)

MIDI track mixer

A little starting template to control external hardware synth, though it could be used for VSTis as well.

This one is not JS: We've got it! MIDI mixer and PATCH list

MIDI Mixer for external hardware synthesizers with editable script

New IX MIDI stuff (Updated 1st Feb 2008)

Just a bank/patch selection utility.

GM program changer

This allows you to select the GM program by name.
Probably only useful if you are using the onboard sounds of your computer. This was once again somewhat of a JS programming exercise for me.
DarkStar ... interesting, if true. . . . Inspired by ...

Last edited by DarkStar; 11-29-2013 at 02:34 AM. Reason: added davisan's Instrument Range Display
DarkStar is offline   Reply With Quote