CamVocoder

Camera-driven MIDI CC controller — User Manual

Overview

CamVocoder uses your computer's camera to convert mouth movements into MIDI Control Change messages in real time. Move your mouth open, wide, diagonally, or change its overall shape — each movement can drive a different synthesizer parameter.

Quick Start

1. Launch CamVocoder. The camera feed appears with a mouth-tracking overlay.

2. Position your face so the binoculars icon appears in the header (if tracking is lost, a NO FACE indicator will appear instead).

3. Open and close your mouth — the Y meter and the default CC mapping should respond immediately.

4. Use the Calibrate menu to set min/max ranges for each axis to match your face.

5. Add more mappings with the + button or A key.

Tracking Axes

CamVocoder tracks five independent mouth dimensions:

Each axis is displayed as a vertical meter bar. The raw value is normalized between the calibrated min and max, then smoothed before being converted to a 0–127 MIDI CC value.

CC Mappings

Each mapping card connects one tracking axis to one MIDI CC number. A mapping has:

Controls

FieldDescription
CCMIDI Control Change number (0–127). Drag the slider, use , or click the CC label to type a number directly.
Min / MaxOutput range. Lets you invert (Min > Max) or limit the output.
AxisWhich tracking axis drives this mapping. Click the chip or press X to cycle.
LEARNClick to enter MIDI Learn mode — the next incoming CC message sets the CC number.
ON / OFFEnable or disable MIDI output for this mapping.

Adding & Removing

Use the + / buttons in the panel header to add or remove mappings, or use the per-card buttons in the bottom-right of each mapping card. The per-card + inserts a new mapping directly after that card. Maximum 12 mappings.

Renaming

Click on a mapping's label text or press R to rename it. Type the new name and press Enter or click Save.

Calibration

Calibration sets the min and max raw values for each axis so that your full range of motion maps to 0–127 MIDI output.

How to Calibrate

1. Press C or use Calibrate → Toggle Calibration to open the calibration overlay.

2. The overlay shows the live raw ratio and current range for each axis.

3. Move your mouth to the desired extreme and press the corresponding key to capture that value:

KeysAction
O / SSet Y-Axis max (open) / min (shut)
W / NSet X-Axis max (wide) / min (narrow)
1 / 2Set Diagonal 1 max / min
3 / 4Set Diagonal 2 max / min
5 / 6Set Circumference max / min
Quick calibration: Use Calibrate → Set All Max with your mouth fully open/wide, then Set All Min with your mouth closed and relaxed. This sets every axis in one shot. You can fine-tune individual axes afterward.

4. Press C again to close calibration. Settings are saved automatically.

Tip: If an axis feels unresponsive, recalibrate it. Set the min with your mouth relaxed, and the max at the widest or most open position you'll actually use in performance.

CamVocoder installs a native macOS menu bar with the following menus:

CamVocoder

About CamVocoderVersion and credits
User ManualOpens this document
Quit⌘Q

File

Save SettingsWrite current calibration and mappings to disk (⌘S)
Reset DefaultsRestore all settings to factory defaults

Mapping

Add MappingAdd a new CC mapping
Remove MappingRemove the selected mapping
Rename SelectedRename the selected mapping
Toggle EnabledEnable/disable MIDI output
MIDI LearnLearn CC from incoming MIDI

Calibrate

Toggle CalibrationShow/hide calibration overlay
Set Y Open / ShutCapture Y-Axis extremes
Set X Wide / NarrowCapture X-Axis extremes
Set D1/D2 Max / MinCapture diagonal extremes
Set Circ Max / MinCapture circumference extremes

View

Toggle ShortcutsShow/hide keyboard shortcut overlay

Keyboard Shortcuts

KeyAction
Q / EscQuit
HToggle shortcut overlay
CToggle calibration overlay
FReset all settings to defaults
/ Select previous / next mapping
/ Decrease / increase CC number
[ / ]Decrease / increase output Min
- / =Decrease / increase output Max
AAdd mapping
DRemove selected mapping
RRename selected mapping
MMIDI Learn
XCycle axis
EToggle enabled
VToggle visual mouth overlay

MIDI Setup

CamVocoder sends MIDI CC over a virtual port. On macOS it creates an IAC-compatible virtual port named CamVocoder.

In your DAW or synthesizer, select CamVocoder as a MIDI input device, then use MIDI Learn on the parameter you want to control.

macOS tip: If you need to route MIDI between apps, open Audio MIDI Setup → MIDI Studio → IAC Driver and ensure "Device is online" is checked.

Troubleshooting

Face not detected

Ensure good lighting and that your face is clearly visible. The camera feed shows NO FACE when tracking is lost.

Axis stuck at 0 or 127

The calibration range for that axis is likely wrong for your face. Open calibration (C) and set new min/max values. Or press F to reset all settings to defaults.

No MIDI output

Check that the mapping is set to ON and that your DAW is listening on the CamVocoder MIDI port.

Circumference not responding

Circumference responds to the overall mouth opening shape. Calibrate it: press C, close your mouth and press 6, then open wide and press 5.