The Core plugin (built into Rack itself) includes utilities and interfaces for interfacing between the virtual and hardware world.
The Audio module merges the virtual Rack world with the physical hardware world. The TO DEVICE section sends Rack signals to a hardware audio device for playback, and the FROM DEVICE section receives hardware signals into Rack.
Audio currently supports the following drivers.
After a driver is selected, a particular device can be chosen for the driver.
The sample rate is the number of audio samples per second for the audio device to process. Note that this rate is different than Rack's engine sample rate, which determines the number of samples per second for Rack modules to process. If set to different rates, sample rate conversion will occur, resulting in slightly higher CPU usage, slightly less audio fidelity, and slightly more latency.
The block size sets the number of samples to store in the audio buffer before releasing to the audio device.
A higher size results in more latency (blockSize / sampleRate
seconds), but a lower size requires your operating system to communicate with the audio device more frequently, resulting in potentially less audio stability.
A good balance can be found by increasing the block size until no audio “glitches” are heard.
Note: Using multiple Audio modules is experimental and may crash Rack or render unstable audio. Most DAWs avoid this feature entirely by restricting audio to a single input and a single output device for stability reasons, but if using multiple audio devices in Rack works with your configuration, more power to you!
Each MIDI interface module (described below) supports the following drivers.
The gamepad MIDI driver allows USB video game controllers to be used for CV and gate sources, as an inexpensive alternative to MIDI controllers.
Gamepad buttons are mapped to MIDI note gates starting with C-1
, C#-1
, D-1
, etc.
Joystick axes are mapped to MIDI CC messages starting with CC0
, CC1
, CC2
, etc. with a nonstandard MIDI extension that allows negative CC values to be used.
The computer keyboard MIDI driver generates MIDI notes when keys are presses while the Rack window is focused.
Using four rows of computer keys, the two-row virtual MIDI keyboard spans approximately 2½ octaves and can be shifted down and up with the `
and 1
keys.
The following is the layout for the QWERTY (US) keyboard.
Right-click the panel to enable polyphony and select the number of polyphonic channels.
Multiple MIDI interfaces may be used simultaneously with the same driver, for example to combine the functionality of MIDI-CV and MIDI-CC.
Each output maps a MIDI CC (Continuous Controller) messages from 0 to 127 to a CV signal from 0V to 10V. Some drivers like the gamepad driver generate nonstandard MIDI values from -128 to 127, which is mapped from -10V to 10V. 14-bit MIDI CC messages are not yet supported.
Each output can be assigned a particular CC number by clicking on the digital display corresponding to the position of the output port. A LRN indicator is displayed to represent that the port is in “learn” mode. Either type a number or move a controller to set the CC number.
MIDI-Gate is similar to MIDI-CC, except that it generates 10V gate signals when a particular note is held. For MIDI sequencers and drum machines that send immediate note ON/OFF messages in sequence, a 1 ms trigger is produced.
To generate a CV signal corresponding to the velocity of the note instead of 10V, right-click on the panel and enable Velocity mode. This is useful for setting the amplitude of percussive sounds for MIDI controllers with velocity-capable pads, for example.
MIDI-Map allows the user to map MIDI CC (Continuous Controller) messages from 0 to 127 to the variable inputs of other modules, such as knobs and sliders.
To map a MIDI-CC to specific knob or slider, click “Unmapped” in the MIDI-MAP module to begin mapping a MIDI input. Once in mapping mode, manipulate the MIDI-CC device (e.g., hardware knob on your MIDI controller). The label will update immediately to reflect the MIDI-CC control identifier (e.g., CC01). Click on the newly mapped MIDI-CC input, then click on the knob you would like to use it to control. The label will change one final time to indicate the input ID and associated module input (e.g., CC16 VCO-1 Frequency).
TODO
TODO
TODO
Useful for adding space between modules in your rack. You can resize the panel by dragging the edges horizontally, with a minimum size of 3HP.
Useful for adding patch notes, section titles for organization, instructions, and author information to your patches. You can copy and paste text with Ctrl+C and Ctrl+V.