Nonlinear Labs C15 Studio Package - Addendum
Nonlinear Labs GmbH
Helmholtzstraße 2-9 E
10587 Berlin
Germany
Website: www.nonlinear-labs.de
Email: info@nonlinear-labs.de
Version: 10 (2021-07-06)
Authors: Stephan Schmitt, Matthias Seeber
© NONLINEAR LABS GmbH, 2021, All rights reserved.
Introduction
In the development of the C15, Nonlinear Labs focused on human control and playability, designing a self-contained instrument for those who love to play keys. The implementation of a MIDI interface widens the spectrum of applications for the C15, especially in the studio environment. This software release also includes an internal digital recorder that automatically stores the audio output signal of the last hours. Selected segments of the audio can be downloaded in a lossless digital format, and it allows restoring the synth engine's state at any point in time within the recorded audio.
The MIDI Implementation of the C15
Since the Studio Package update, the C15 can receive and send MIDI messages. Received MIDI messages can control the C15 and affect the sound, similar to playing the instrument itself. When playing the C15, MIDI messages can be sent, reflecting the performance. Received MIDI messages are never sent back, meaning there is no "MIDI Thru" or loopback functionality.
Receive and Send options include a Channel (Omni, 1-16) specifier for filtering events. When a Split Sound is loaded, a secondary (Split) Channel can be used to separate both Parts.
Classical MIDI operates on 7-bit resolution (128 steps), which can lead to a loss in accuracy compared to the C15's higher precision. Precision can be maintained by enabling "High Res." options, increasing resolution to 14-bit (16384 steps). Values are encoded as MSB (coarse) and LSB (fine) components, doubling the amount of messages. This is compatible with classical resolution, as the LSB component is optional when receiving MIDI messages.
The C15 can send and receive MIDI messages for the following events:
Note On and Note Off
When enabled, the C15 produces sounds upon receiving MIDI Note messages. Likewise, it sends MIDI Note messages when playing the internal keybed, if enabled. Note On and Off velocities are supported and can optionally operate at high resolution using an additional MIDI CC (Control Change) message on Control Number 88, encoding the LSB component. When a Split Sound is loaded, Notes can be received and sent on both Parts using the secondary (Split) Channel setting.
The eight Hardware Sources
Physical control elements like a pedal or the bender are called Hardware Sources. They can be flexibly mapped to Macro Controls, each capable of modulating up to 90 assignable parameters. In the C15's user interface, Hardware Sources are represented by eight sliders. Their positions can be sent and received via MIDI:
- Pedal 1/2/3/4 can be assigned to MIDI CCs 01-31 for the MSB, while CC 33-63 can work as LSB for 14-bit resolution. CC 64-69 can be assigned in a 2-state switching mode.
- Ribbon 1/2 can be assigned to MIDI CC 01-31 for the MSB, while CC 33-63 can work as LSB for 14-bit resolution.
- The Bender can be assigned to MIDI Pitchbend or to MIDI CC 01-31 for the MSB, while CC 33-63 can work as LSB for 14-bit resolution.
- Aftertouch can be assigned to MIDI Channel Pressure or to MIDI CC 01-31 for the MSB, while CC 33-63 can work as LSB for 14-bit resolution, or to one half of the range of MIDI Pitchbend (up or down).
Assignments are non-exclusive; multiple Hardware Sources can be bound to the same received MIDI message, or merged into indistinguishable MIDI messages when sent. This can be useful, and there are no restrictions. Users can find meaningful settings beyond the provided defaults.
When a Split Sound is loaded, Hardware Sources are received and sent only on the primary Channel. The secondary (Split) Channel setting does not apply to Hardware Sources.
Preset Selection
One of the Preset Banks can be assigned to receive and send MIDI Program Changes. Program Change numbers map to the first 128 presets of this Bank. MIDI Program Change messages are received and sent according to the primary Channel setting. The secondary (Split) Channel setting does not apply for Program Changes.
Connecting the C15
Connecting the C15 to a USB Device
The C15 features a Type A USB connector, and its embedded computer system acts as a "USB host" for connected "USB devices". A standard USB cable is needed to establish MIDI communication with an instrument, hardware sequencer, or MIDI interface with a USB Type B connector. Multiple USB MIDI devices can be connected via a USB hub.
Important: The C15's USB port supplies limited current to bus-powered devices. Devices with higher power consumption require their own power supply or a powered hub.
Connecting the C15 via 5-pole DIN Connectors
To use classical MIDI cables and 5-pin DIN Ins and Outs, a MIDI interface can be connected as a USB device directly to the C15's USB port. Cables with integrated USB-MIDI interfaces are a convenient and cost-effective solution.
Connecting the C15 to a Computer
A computer running a DAW or similar software is central to many setups. It functions as a USB host and connects only to USB devices. Since the C15 is also a USB host, Nonlinear Labs provides the "MIDI Bridge", a double-sided USB device with two Type B connectors. One port connects to the C15, the second to your computer. The adapter appears as "NLL-MIDI-Bridge" in USB MIDI device lists. Two LEDs on the box indicate USB Port operation: green indicates normal operation; non-green indicates an interrupted connection. More information is available in the "MIDI-Bridge-User-Manual.pdf". The MIDI Bridge can also connect other USB hosts, such as two computers.
MIDI Settings
In the Setup (both graphical UI and hardware), a "Midi Settings" page is available, divided into "Receive", "Send", "Local", and "Mappings" sections.
MIDI Settings: Receive
Channel: Select the MIDI channel for receiving MIDI messages. With Split Sounds, this is the channel for Part I. If "Split Channel Part II" is set to "Common", it's also used for Part II. "Omni" applies messages from all 16 MIDI channels. "None" blocks all incoming MIDI messages, except in Split mode with Part II set to its own channel.
Split Channel (Part II): Applies only to Split Sounds. Controls the MIDI channel for Note messages received by Part II. "Common" uses the same channel as set in the "Channel" menu. "Omni" applies messages from all 16 MIDI channels. "None" blocks all incoming MIDI messages for Part II. If the channel for Part II is not "Common", Split Points are not applied to received MIDI notes, allowing both Parts to play over the full MIDI note range.
Enable Program Change: When set to "Off", received MIDI Program Change messages are ignored.
Enable Notes: When set to "Off", received MIDI Note On/Off messages are ignored.
Enable Hardware Sources: When set to "Off", the eight Hardware Sources are not controlled by MIDI Control Change, Pitchbend, or Aftertouch messages.
MIDI Settings: Send
Channel: Select the MIDI channel for sending MIDI messages. With Split Sounds, this is the channel for Part I. If "Split Channel (Part II)" is set to "Common", it's also used for Part II. "None" blocks all outgoing MIDI messages, except in Split mode with Part II set to its own channel.
Split Channel (Part II): Applies only to Split Sounds. Controls the MIDI send channel for notes played in the key range of Part II. "Common" uses the same channel as set in the "Channel" menu. "None" blocks all outgoing MIDI messages for Part II.
Enable Program Change: When set to "Off", MIDI Program Change messages are not sent.
Enable Notes: When set to "Off", MIDI Note On/Off messages are not sent.
Enable Hardware Sources: When set to "Off", the eight Hardware Sources do not generate MIDI Control Change, Pitchbend, or Channel Pressure messages.
MIDI Settings: Local
Enable Notes: When set to "Off", the C15's keyboard is disconnected from the synth engine but can still send MIDI note messages.
Enable Hardware Sources: When set to "Off", the eight Hardware Sources are disconnected from the synth engine but can still send MIDI Control Change, Pitchbend, or Channel Pressure messages. In this mode, UI displays (like ribbon LEDs) do not reflect current positions; this will be improved in a future update.
MIDI Settings: Mappings
These settings determine the types and numbers of MIDI messages assigned to Hardware Sources. High Resolution options for Velocities and Hardware Sources, plus a Bank selector for Program Changes, are provided. Mappings apply to both MIDI Send and MIDI Receive.
Pedal 1, 2, 3, 4
Each pedal can be assigned to a MIDI Control Change. CC numbers 1 to 31 are available for continuous operation in 7-bit and 14-bit (High-Res.) mode. In 14-bit mode, a second CC between 33 and 63 is automatically assigned for the LSB. CC numbers 64 to 69 work as 2-state switches (e.g., sustain pedal). When pedal position exceeds 50%, a MIDI CC value of 127 is sent; below 50%, a value of 0 is sent. A received MIDI CC value less than 64 sets the pedal position to 0%; 64 or larger sets it to 100%. Selecting "None" disconnects the pedal from MIDI.
Ribbon 1, 2
Each ribbon can be assigned to a MIDI Control Change. CC numbers 1 to 31 are available in 7-bit and 14-bit (High-Res) mode. In 14-bit mode, a second CC between 33 and 63 is automatically assigned for the LSB. Selecting "None" disconnects the ribbon from MIDI.
Bender
Typically used as a pitch bender, it can be assigned to MIDI Pitchbend (14-bit resolution). It can also be assigned to a MIDI Control Change (CC 1-31 for MSB, CC 33-63 for LSB in 14-bit mode). Selecting "None" disconnects the Bender from MIDI.
Aftertouch
Most commonly assigned to MIDI Channel Pressure (7-bit resolution). It can also be assigned to a MIDI Control Change (CC 1-31 for MSB, CC 33-63 for LSB in 14-bit mode). Two additional options assign Aftertouch to one half of MIDI Pitchbend ("Pitchbend up" or "Pitchbend down"), offering 13 bits of resolution. Selecting "None" disconnects Aftertouch from MIDI.
High-Res. Velocity (CC 88)
Note On and Note Off velocities can be transmitted with 14-bit resolution by sending a CC 88 message before each Note On or Note Off. CC 88 represents the LSB, providing additional 7 bits of resolution. To avoid conflicts, its use as velocity LSB can be disabled ("Off").
High-Res. CCs (use LSB)
Control Changes can be transmitted with 14-bit resolution using two CCs: one for coarse (MSB) and one for fine (LSB) values. The LSB message precedes the MSB. The LSB CC number is derived from the MSB CC number by adding 32. To avoid conflicts, LSB CCs can be disabled ("Off"). This setting applies to all assigned MIDI Control Changes.
Default Mappings
Classic MIDI | High Resolution | |
Pedal 1 | CC20 | CC20 + CC52 (MSB + LSB) |
Pedal 2 | CC21 | CC21 + CC53 (MSB + LSB) |
Pedal 3 | CC22 | CC22 + CC54 (MSB + LSB) |
Pedal 4 | CC23 | CC23 + CC55 (MSB + LSB) |
Ribbon 1 | CC24 | CC24 + CC56 (MSB + LSB) |
Ribbon 2 | CC25 | CC25 + CC57 (MSB + LSB) |
Bender | MIDI Pitchbend | MIDI Pitchbend |
Aftertouch | MIDI Channel Pressure | CC26 + CC58 (MSB + LSB) |
High-Res. Velocity (CC88) | Off | On |
High-Res. CCs (use LSBs) | Off | On |
Choosing a Bank for MIDI Program Change
To use MIDI Program Change messages, one of the C15's preset banks must be assigned as the source and target for Program Changes. A received Program Change selects the preset with the corresponding number in that bank. Selecting a preset with a number higher than 128 will not send a Program Change.
The "Direct Load" switch determines if the C15 only sends a MIDI Program Change upon preset selection, or if the preset is also loaded into the sound engine, similar to a "Local Off" for Program Changes.
The header of a MIDI-assigned bank is marked by a symbol resembling a 5-pole MIDI connector. The bank can be connected or disconnected via:
- The "Connect Bank to MIDI PC" or "Disconnect Bank from MIDI PC" entry in the graphical UI's context menu of the bank header.
- In the Preset Screen of the Hardware UI, activate "Bank" focus by pressing Soft Button 1 (hold for a second). In the "Edit" menu, toggle "MIDI PC: On" or "MIDI PC: Off" using the "Enter" button.
Connecting a bank to MIDI PC disconnects the previously connected bank. After disconnecting, no banks will be connected. The currently assigned bank can also be found and changed in the "Program Change Bank" menu within MIDI Settings.
The Digital Audio Recorder
General Function
The internal recorder captures the C15's output signal with the best possible audio quality without needing a soundcard. The stereo signal, post-Soft Clipper and pre-D/A converter, is written to RAM using lossless FLAC compression (24 bits, 48 kHz). A maximum of 500 MB can be stored, enough for hours of continuous playback or days with pauses. If the data exceeds 500 MB, the oldest data is overwritten, functioning as a ring buffer. RAM content is lost upon switching off the C15. Segments of recorded audio can be selected and downloaded for use in a production environment.
Recorder Settings - Auto-Start
The "Recorder" settings page includes an "Auto-Start Recorder" option. This allows users to decide if audio recording begins automatically when the C15 is switched on, or if it must be started manually via the Record button.
User Interface
The Recorder tab can be opened via the "Open Recorder" entry in the "View" menu. The tab is accessible at the address http://192.168.8.2/NonMaps/recorder/index.html. The recorder operates independently of whether its browser tab is open or not.
Zoom and Scroll
At the bottom of the recorder display, a dark stripe represents the entire audio recording length in memory. This serves as a frame for a bar used for scrolling and zooming. Dragging the bar's grey center area scrolls the visible section of the audio. Handles at the bar's ends adjust its length, thereby changing the zoom factor. Magnifier buttons [+] and [-] and the mouse wheel can also be used for zooming.
Control Buttons
The control buttons include: [Restore], [Play/Pause], [Record], [Download], [Delete].
Computer Keyboard Shortcuts
Command | Shortcut |
Play / Pause | space bar |
Record | R |
Restore | Z |
Download | S |
Zoom In / Out | +/- |
Scroll | left / right arrow keys |
To Previous/Next Preset Marker | up / down arrow keys (coming soon) |
Playing Back Recorded Audio
The C15 can play back recorded audio through its outputs. The playback start position is set by clicking/touching the darker outer lanes of the recorder display. A green line, the Play cursor, indicates the position, with a time label attached. Pressing the Play button moves the Play cursor and starts playback; the button then shows a "Pause" symbol, allowing interruption and continuation. The space bar can also toggle Play and Pause. Live playing of the C15 is possible during playback, but be aware that the sum of the two signals may cause clipping distortion.
Restoring a Sound
The Undo system of the C15 memorizes user actions on parameters or presets, allowing restoration to the synth engine's state at any point since the session began. This enables restoring the sound at a specific position on the Recorder's timeline and using the synth engine's state from the time of recording. To do this, move the Play cursor to the desired point in time and press the Restore button or the 'Z' key. The Undo System reverts to the parameters' state at that point, takes a "snapshot", and copies it to the edit buffer.
Preset Labels
Please note that the selection and load status of a preset cannot be restored if the preset has been changed, moved, or deleted. To retain information about used presets, the Recorder creates a label aligned to the loading time. The label contains the bank number and name, and the preset name. While these may change, they can often be found under the same name at the same place. For safety, it is recommended to create copies of banks with important presets using the "Export" command.
Selecting a Segment for Download
A time segment can be selected by clicking/dragging in the inner lane of the recorder display. Start and end points can be adjusted by two light-blue handles, with labels showing the times. The selected part can be downloaded by pressing the Download button or the 'S' key. If the browser is set to prompt for destination, a dialog will open; otherwise, the file saves to the default download folder. A future version will offer a choice between FLAC and WAV formats. The selection can be disabled by a single click/touch in the inner lane.
Starting and Stopping the Recording
If "Auto-Start Recorder" is "On", the Record button is active from the start and can be used to stop recording (e.g., to save memory or focus on reviewing). Pressing it again continues recording. If "Auto-Start Recorder" is "Off", the Record button must be pressed to start recording. The keyboard shortcut for starting or stopping is 'R'.
Deleting the Recorded Audio
Pressing the Delete button clears the audio memory, resulting in an empty timeline.