nocontrolxnocontrolxccx
nocontrol.cc is a web-based controller for MIDI devices. A variety of controller types can be added to sequence and control MIDI.
Any MIDI device can be used, either directly if USB Class Compliant or by connecting through a USB/MIDI Host. The web browser must be MIDI compatible (Chrome or Firefox).
If you encounter any issues, email forgery810@gmail.com. This page is part of a suite of web-based tools for electronics musicians available through forgery.dev
Running multiple instances of nocontrol.cc in different browsers at the same time can cause issues. While overloading devices with MIDI messages is rarely an issue, it can lead to latency and corrupted messages. To the extent that it is possible, nocontrol.cc will allow you to do it, given the lack of limits on how much MIDI data you can send. Avoid going too far. This is especially true for older MIDI instruments not designed to handle as much data. It is not recommended to use nocontrol.cc with these devices.
To get started, select a device from list, channel, controller type, and color. The script will attempt to auto-select your device's CC data from the list if it is USB Compliant. Otherwise, find your device or select 1-127. Click the box to add a controller.
Selecting your device on the CC name data list will use the parameter name rather than the number itself. This will save users from having to continually look up CC data in a manual and give them the ability to always clearly know what they are controlling.
Press the nocontrolxnocontrolxccx title to start and stop the clock.
Each Controller has a Settings bar hidden by default. Right Click/Long Press above just above the Controller to open/close the Settings. Every Controller has an on/off button on the right of the Settings Bar. Double click the X on the left side of the bar to delete the controller. See each Controller's description below for additional controls as they differ for each.
Click settings to access clock options. Here you can choose which device to receive clock from. You can also adjust how many columns of controllers are used. Only one clock should be set. To generate a clock, use the Clock Gen controller. This will override any other set clocks. It is less accurate.
A - Add Controller
X - Play Currently Selected Device Channel
Spacebar - Start/Stop
A straightforward keyboard allowing control of one octave of the selected channel. Click the boxes to adjust the octave. The note will play as long as the key is pressed. If the mouse pointer is dragged away from the key while held down and lets the mouse up, the note will play indefinitely until it is clicked again. This behavior could be changed but it may be useful if a drone is desired. Starting and stopping the clock will end all notes.
If accessing more octaves simultaneously is needed, multiple keyboards can be added and set to different octaves.
Functions as a note trig generator. When the box hits the edge on the controller, a note will be triggered. 4 notes will be rotated through with each hit.
The controller settings allow these notes to be set by clicking the letter to rotate through t - top, r- right, b - bottom, and l - left sides. The notes will auto-update after each hit. A setting of -1 will cause no note to be triggered on that hit.
The speed of the square can be changed by clicking on the controller. The speed of the x and y are dependent on where you click. Click the top left will result in a slow X speed and Y speed. Clicking the top right will result in a slow Y speed but a fast X speed and so on.
An area to write text/notes. Number select controls the font. Notepad also functions as a random color generator for visual effects. The on/off button will toggle this behavior.
Can generate a non-midi clock. It will not be accurate as a MIDI clock but it allows for use of LFO's and other clock-based controllers if your device does not generate one.
Internal Rate will control the "BPM" of the script generated clock but not your MIDI clock. The Divider will divide both the internal and MIDI clock. Changes to the tempo will not have an effect while playing.
A simple one octave keyboard for the selected channel. Adjust the octave with the buttons aside the keyboard. Multiple keyboards can be loaded for the same channel to access multiple octaves simultaneously.
A 16-step sequencer for notes, trigs or CC. With a mouse, right-clicking a step will toggle on/off. Left-clicking will set the step value. If using a touchscreen, it will be easier to press the square button on the lower left which will toggle between pressing controlling the on/off and setting the value.
The first number in the sequence settings acts as a clock divider. The next two numbers control the value range for each step. The next setting decides if the sequencer acts as a note, trig or CC sequencer. Notes allow you to set a note per step. Trig steps will always be 63 and allow the Velocity to be set. CC allows CC values to be sent if step is enabled.
Acts as an X-Y CC controller for four different CC numbers. The settings allow each direction's value to be set. The first controls the top side, the second sets the right, third sets the bottom and the fourth sets the left. Currently, the range for the CC values sent is set at 0 - 127. The device's CC names will be used to set each CC number if selected when added.
A clock divider based on the Trigger Riot from Tiptop Audio. The rectangles on the right side determine what channel the clock will be sent to. The corresponding row or column of clock dividers will be summed and sent to that channel.
The first setting alters between Trig and Note mode. In Trig mode, clocks are sent to selected channels with the value of 60 (Middle C). In Note mode, notes are selected instead of channels. Clocks will trigger the notes on the device's channel selected when the Controller was added. The second setting selects the count at which the clocks reset.
Provides a simple readout of the clock that resets on each stop.
Creates a readout of data on up to 7 controllers. This will show the channel, type, CC value etc for each controller. For some controllers, outgoing CC data will be shown as it is sent out. The settings have two numbers to select the range of controllers to display.
Functions as a LFO generator with various waveshapes. Click the type name to change the waveshape. Click the RTE number to rotate through rate settings. The CT number will act somewhat as a bit-crusher for the shape. The number sets how many values are skipped each time a CC value is sent. The settings allow a range of CC values to be set.
A random CC generator. Click the controller to set the likelihood that a CC value will be sent. The first two numbers in the settings control the range of CC values that may be sent. The third number acts as a divider for how often the random number is updated.
A simple sine wave LFO. The first two numbers in the settings control the LFO's range. The third number acts as a rate setting. The fourth number sets how many values are skipped each time a CC value is sent. The LFO can be interacted with by clicking the Controller to set the value.
Creates a slider for the selected CC number. The settings allow the range to be set.
A simple On/Off button for the selected CC Number. The on and off values are preset to 127 and 0 respectively. These values can be set in the settings.
Set Number of Columns
nocontrolxnocontrolxccx