Browse Source

Complete Core chapter

pull/1/merge
Andrew Belt 6 years ago
parent
commit
22aca6fca8
2 changed files with 61 additions and 11 deletions
  1. +55
    -11
      Core.md
  2. +6
    -0
      Glossary.md

+ 55
- 11
Core.md View File

@@ -1,7 +1,7 @@
# Core

The *Core* plugin is actually not a plugin at all.
It's built in to the Rack application itself, but you can add Core modules to your rack just like normal modules.
It's integrated into the Rack application itself, but you can add Core modules to your rack just like normal modules.

### Audio
![Core Audio](images/Core/Audio.m.png)
@@ -11,9 +11,11 @@ The **INPUT** section sends up to 8 Rack signals to a hardware audio device for

*Audio* currently supports the following **drivers**.
- Core Audio on Mac
- WASAPI and ASIO on Windows
- WASAPI on Windows
- ASIO on Windows
- ALSA on Linux
- [VCV Bridge](Bridge.md) on all OS's, although there are no Bridge plugins for Linux at this time
- JACK on Linux
- [VCV Bridge](Bridge.md)

After a driver is selected, a particular **device** can be chosen for the driver.
If the device has more than 8 inputs or outputs, you can select the desired range of outputs, offset by a factor of 8.
@@ -29,25 +31,67 @@ A good balance can be found by increasing the block size until no audio "glitche
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!

### MIDI-1
### MIDI Interfaces

Each MIDI interface module (described below) supports the following drivers.
- Core MIDI on Mac
- Windows MIDI on Windows
- ALSA on Linux
- JACK on Linux
- [VCV Bridge](Bridge.md)
- Gamepad
- Computer keyboard

The *gamepad* MIDI driver allows USB video game controllers to be used for CV and gate sources, as inexpensive alternatives to actual MIDI controllers.
Gamepad buttons are mapped to MIDI note gates starting with `C-1`, `C#-1`, `D-1`, etc.
Each joystick axis is mapped to MIDI CC messages starting with `CC0`, `CC1`, `CC2`, etc. with a nonstandard 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 two rows of keys, the virtual MIDI keyboard spans approximately 2½ octaves and can be shifted down and up with the <code>&#96;</code> and `1` keys.
Currently only the QWERTY (US) layout is supported, but other keyboard layouts may function similarly.

#### MIDI-1
![Core MIDI-1](images/Core/MIDI-1.m.png)

*Coming soon*
The **CV** output generates a 1V/oct pitch signal of the last held MIDI note.
**GATE** generates 10V when a key is held. It does not retrigger when notes are played legato.
**VEL** generates a CV signal from 0V to 10V of the velocity, **AFT** generates aftertouch CV (channel pressure, not polyphonic aftertouch), **PW** generates pitch wheel CV from -5V to 5V, and **MW** generates mod wheel CV.
**RTRG** generates a 1 ms trigger when a new note is pressed.
**CLK1** and **CLK2** generate triggers specified by the division set by right-clicking on the panel and selecting the *CLK 1 rate* or *CLK 2 rate*.
**STRT**, **STOP**, and **CONT** generate triggers when the MIDI hardware or DAW host (for VCV Bridge) sends a start, stop, or continue event.

### MIDI-4
#### MIDI-4
![Core MIDI-4](images/Core/MIDI-4.m.png)

*Coming soon*
MIDI-4 contains a subset of the outputs from MIDI-1, except that it handles up to four simultaneous notes.
Right-click the panel to select the polyphony mode to specify the behavior in mapping MIDI notes to four channels.
- *Reset*: Each pressed note selects the lowest available channel, or the last channel if none are available.
- *Rotate*: Each pressed note selects the next available channel, or just the next channel if none are available, wrapping around to the first channel after the fourth is reached.
- *Reuse*: If a channel with the same MIDI note has been previously used, reuse it. Otherwise, use the Reset mode behavior.
- *Reassign*: As notes are released, higher channels are reassigned to lower channels if space is available.
- *Unison*: All channels generate the same monophonic signal.

Remember that MIDI interfaces can be used simultaneously with the same driver, for example if global controls like pitch and mod wheel are needed along with polyphonic controls.

### MIDI-CC
#### MIDI-CC
![Core MIDI-CC](images/Core/MIDI-CC.m.png)

*Coming soon*
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.

### MIDI-Trig
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-Trig
![Core MIDI-Trig](images/Core/MIDI-Trig.m.png)

*Coming soon*
MIDI-Trig 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.

### Blank
![Core Blank](images/Core/Blank.m.png)


+ 6
- 0
Glossary.md View File

@@ -23,6 +23,12 @@ Advanced Linux Sound Architecture.
http://alsa-project.org/main/index.php/Main_Page
https://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture

## JACK

JACK Audio Connection Kit. A sound and MIDI server and client with advanced routing capabilities.

http://www.jackaudio.org/

## API

Application Programming Interface.


Loading…
Cancel
Save