Skip to content

Access Virus C MIDI CC chart, NRPN and OSC map

The Access Virus C MIDI implementation: 91 CC, 1 NRPN, 117 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.

Device Access Virus C
Vendor Access
OSC prefix /virus_c
Source πŸŽ›οΈ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/access/virus_c.json
Not tested on the device yet

This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone β€” see CONTRIBUTING.

How do you control it?

Find the MIDI ports, then start the bridge with this driver:

osc-bridge detect        # prints the ready-to-run line for what is plugged in
osc-bridge run --device devices/access/virus_c.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /virus_c/shape 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as virus_c: ask β€œwhat can the Access Virus C do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (92)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/virus_c/shape 17 0–127 continuous
/virus_c/pulse_width 18 0–127 continuous
/virus_c/wavetable 19 0–99 continuous
/virus_c/semitone 20 -48–48 continuous
/virus_c/key_follow 21 -64–63 continuous
/virus_c/sync 28 0–1 switch
/virus_c/shape 22 0–127 continuous
/virus_c/pulse_width 23 50–100 continuous
/virus_c/wavetable 24 0–99 continuous
/virus_c/detune 26 0–127 continuous
/virus_c/semitone 25 -48–48 continuous
/virus_c/key_follow 31 -64–63 continuous
/virus_c/fm_amount 27 0–127 continuous
/virus_c/filt_env_pitch 29 -100–100 continuous
/virus_c/filt_env_fm 30 -100–100 continuous
/virus_c/osc_balance 33 -100–100 continuous
/virus_c/osc_volume 36 0–127 continuous
/virus_c/sub_osc_volume 34 0–127 continuous
/virus_c/sub_osc_wave 35 0–1 switch
/virus_c/noise_color 39 0–127 continuous
/virus_c/noise_level 37 0–127 continuous
/virus_c/ring_mod_level 38 0–127 continuous
/virus_c/mode 51 0–7 continuous
/virus_c/cutoff 40 0–127 continuous
/virus_c/resonance 42 0–127 continuous
/virus_c/env_amount 44 0–127 continuous
/virus_c/routing 53 0–3 continuous
/virus_c/key_follow 46 -64–63 continuous
/virus_c/balance 48 -64–63 continuous
/virus_c/saturation 49 -64–63 continuous
/virus_c/mode 52 0–3 continuous
/virus_c/cutoff 41 0–127 continuous
/virus_c/resonance 43 0–127 continuous
/virus_c/env_amount 45 0–127 continuous
/virus_c/key_follow 47 -64–63 continuous
/virus_c/filter_attack 54 0–127 continuous
/virus_c/filter_attack 55 0–127 continuous
/virus_c/filter_attack 56 0–127 continuous
/virus_c/filter_attack 58 0–127 continuous
/virus_c/filt_sus_time 57 0–127 continuous
/virus_c/bank 0 0–29 continuous
/virus_c/amp_attack 59 0–127 continuous
/virus_c/amp_attack 60 0–127 continuous
/virus_c/amp_attack 61 0–127 continuous
/virus_c/amp_attack 63 0–127 continuous
/virus_c/amp_env_time 62 0–127 continuous
/virus_c/rate 67 0–127 continuous
/virus_c/shape 68 0–67 continuous
/virus_c/contour 71 -64–63 continuous
/virus_c/mode 70 0–1 switch
/virus_c/key_follow 72 0–100 continuous
/virus_c/envelope_mode 69 0–1 switch
/virus_c/osc_1_pitch 74 -100–100 continuous
/virus_c/osc_2_pitch 75 -100–100 continuous
/virus_c/pulse_width 76 -100–100 continuous
/virus_c/resonance 77 -100–100 continuous
/virus_c/filter_gain 78 -100–100 continuous
/virus_c/rate 79 0–127 continuous
/virus_c/shape 80 0–67 continuous
/virus_c/contour 83 -64–63 continuous
/virus_c/mode 82 0–1 switch
/virus_c/key_follow 84 0–100 continuous
/virus_c/envelope_mode 81 0–1 switch
/virus_c/filtr_1_cutoff 88 -100–100 continuous
/virus_c/filtr_2_cutoff 89 -100–100 continuous
/virus_c/panorama 90 -100–100 continuous
/virus_c/fm_amount 87 -100–100 continuous
/virus_c/shape_1_2 86 -100–100 continuous
/virus_c/type 103 0–6 continuous
/virus_c/rate 106 0–127 continuous
/virus_c/depth 107 0–100 continuous
/virus_c/feedback 109 -100–100 continuous
/virus_c/delay 108 0–127 continuous
/virus_c/classic_mix 105 0–127 continuous
/virus_c/lfo_wave 110 0–5 continuous
/virus_c/mix 104 0–127 continuous
/virus_c/x_over 111 0–127 continuous
/virus_c/send 113 0–127 continuous
/virus_c/feedback 115 0–200 continuous
/virus_c/frequency 119 0–127 continuous
/virus_c/modulation 117 0–100 continuous
/virus_c/time 114 0–694 continuous
/virus_c/volume 91 0–127 continuous
/virus_c/panorama 10 -100–100 continuous
/virus_c/transpose 93 -64–63 continuous
/virus_c/trigger_phase 73 0–127 continuous
/virus_c/pitch_bend 7 / 104 -8192–8191 continuous
/virus_c/modulation 1 0–127 continuous
/virus_c/trigger_phase 85 0–127 continuous
/virus_c/control_3 3 0–127 continuous
/virus_c/control_11 11 0–127 continuous
/virus_c/control_9 9 0–127 continuous

SysEx commands (117)

OSC address Arguments
/virus_c/part val: u7
/virus_c/fm_mode val: u7
/virus_c/mode_wave val: u7
/virus_c/semitone val: u7
/virus_c/detune val: u7
/virus_c/osc_3_volume val: u7
/virus_c/key_follw_base val: u7
/virus_c/env_polarity val: u7
/virus_c/res_velocity val: u7
/virus_c/env_velocity val: u7
/virus_c/cutoff_link val: u7
/virus_c/clock val: u7
/virus_c/rate val: u7
/virus_c/shape val: u7
/virus_c/fade_in val: u7
/virus_c/mode val: u7
/virus_c/key_follow val: u7
/virus_c/target val: u7
/virus_c/amount val: u7
/virus_c/type val: u7
/virus_c/intensity val: u7
/virus_c/frequency val: u7
/virus_c/mix val: u7
/virus_c/treble_boost val: u7
/virus_c/high_cut val: u7
/virus_c/left_clock val: u7
/virus_c/right_clock val: u7
/virus_c/bandwidth val: u7
/virus_c/ratio val: u7
/virus_c/feedback val: u7
/virus_c/mod_rate val: u7
/virus_c/mod_depth val: u7
/virus_c/q_factor val: u7
/virus_c/gain val: u7
/virus_c/send val: u7
/virus_c/time val: u7
/virus_c/damping val: u7
/virus_c/coloration val: u7
/virus_c/pre_delay val: u7
/virus_c/poles val: u7
/virus_c/slope val: u7
/virus_c/input val: u7
/virus_c/resonance val: u7
/virus_c/filter_type val: u7
/virus_c/stereo_phase val: u7
/virus_c/shape_l val: u7
/virus_c/shape_r val: u7
/virus_c/volume val: u7
/virus_c/panorama val: u7
/virus_c/fm_amount val: u7
/virus_c/osc_1_shape val: u7
/virus_c/osc_2_shape val: u7
/virus_c/pulse_width val: u7
/virus_c/filter_1_env val: u7
/virus_c/resonance_1 val: u7
/virus_c/filter_2_env val: u7
/virus_c/resonance_2 val: u7
/virus_c/atomizer val: u7
/virus_c/output val: u7
/virus_c/balance val: u7
/virus_c/source val: u7
/virus_c/target_1 val: u7
/virus_c/target_2 val: u7
/virus_c/target_3 val: u7
/virus_c/amount_1 val: u7
/virus_c/amount_2 val: u7
/virus_c/amount_3 val: u7
/virus_c/multi_tempo val: u7
/virus_c/smooth_mode val: u7
/virus_c/down val: u7
/virus_c/up val: u7
/virus_c/scale val: u7
/virus_c/tempo val: u7
/virus_c/pattern val: u7
/virus_c/octave_range val: u7
/virus_c/resolution val: u7
/virus_c/hold val: u7
/virus_c/note_length val: u7
/virus_c/note_swing val: u7
/virus_c/steps val: u7
/virus_c/voices val: u7
/virus_c/pan_spread val: u7
/virus_c/lfo_phase val: u7
/virus_c/function val: u7
/virus_c/name val: u7
/virus_c/step_1 val: u7
/virus_c/step_2 val: u7
/virus_c/step_3 val: u7
/virus_c/step_4 val: u7
/virus_c/step_5 val: u7
/virus_c/step_6 val: u7
/virus_c/step_7 val: u7
/virus_c/step_8 val: u7
/virus_c/step_9 val: u7
/virus_c/step_10 val: u7
/virus_c/step_11 val: u7
/virus_c/step_12 val: u7
/virus_c/step_13 val: u7
/virus_c/step_14 val: u7
/virus_c/step_15 val: u7
/virus_c/step_16 val: u7
/virus_c/step_17 val: u7
/virus_c/step_18 val: u7
/virus_c/step_19 val: u7
/virus_c/step_20 val: u7
/virus_c/step_21 val: u7
/virus_c/step_22 val: u7
/virus_c/step_23 val: u7
/virus_c/step_24 val: u7
/virus_c/step_25 val: u7
/virus_c/step_26 val: u7
/virus_c/step_27 val: u7
/virus_c/step_28 val: u7
/virus_c/step_29 val: u7
/virus_c/step_30 val: u7
/virus_c/step_31 val: u7
/virus_c/step_32 val: u7

Performance MIDI

Notes, pitch bend and any CC are also available: /virus_c/note/on <note> <velocity>, /virus_c/cc/<number> <value>, /virus_c/pitchbend <0-16383>, /virus_c/program_change <n>.

Limitations

Imported from an Electra One community preset. The mapping reflects the preset author's editorial choices: parameter naming, ranges, and which params are exposed. Untested on hardware in this repo.

Frequently asked questions

Which MIDI CC controls the filter cutoff on the Access Virus C?

CC 40 (0–127), named /virus_c/cutoff in SynthHub's map.

How many parameters of the Access Virus C can be controlled over MIDI?

SynthHub's map of the Access Virus C lists 91 MIDI CC and 1 NRPN parameters, each with its number, range and a readable name; the full chart is on this page.

Can an AI agent like Claude control the Access Virus C?

Yes: SynthHub's hosted MCP server knows the Access Virus C's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.