Skip to content

Access Virus TI: MIDI CC, NRPN and OSC map

The Access Virus TI as named OSC addresses — 216 CC, 1 NRPN, 124 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Access Virus TI
Vendor Access
OSC prefix /virus_ti
Source 🎛️ Derived from an Electra One community preset
Revision per pencilresearch canonical CSV
Upstream electra-preset
Driver file devices/access/virus_ti.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_ti.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /virus_ti/controllers/mod_wheel 63

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

MIDI CC and NRPN parameters (217)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/virus_ti/controllers/mod_wheel 1 0–127 continuous Controllers
/virus_ti/controllers/ctrl_breath 2 0–127 continuous Controllers
/virus_ti/controllers/controller_3 3 0–127 continuous Controllers
/virus_ti/controllers/ctrl_foot 4 0–127 continuous Controllers
/virus_ti/general/glide_time 5 0–127 continuous General
/virus_ti/controllers/ctrl_data 6 0–127 continuous Controllers
/virus_ti/general/volume 91 0–127 continuous General
/virus_ti/general/balance 8 0–127 continuous General
/virus_ti/controllers/controller_9 9 0–127 continuous Controllers
/virus_ti/general/pan 10 0–127 continuous General
/virus_ti/controllers/ctrl_expression 11 0–127 continuous Controllers
/virus_ti/controllers/controller_12 12 0–127 continuous Controllers
/virus_ti/controllers/controller_13 13 0–127 continuous Controllers
/virus_ti/controllers/controller_14 14 0–127 continuous Controllers
/virus_ti/controllers/controller_15 15 0–127 continuous Controllers
/virus_ti/controllers/controller_16 16 0–127 continuous Controllers
/virus_ti/oscillators/osc1_shape 17 0–127 continuous Oscillators
/virus_ti/oscillators/osc1_pulsewidth 18 0–127 continuous Oscillators
/virus_ti/oscillators/osc1_wave_select 19 0–99 continuous Oscillators
/virus_ti/oscillators/osc1_semitone 20 0–127 continuous Oscillators
/virus_ti/oscillators/osc1_key_follow 21 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_shape 22 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_pulsewidth 23 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_wave_select 24 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_semitone 25 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_detune 26 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_fm_amount 27 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_sync 28 0–1 switch Oscillators
/virus_ti/oscillators/osc2_filter_eg_amt 29 0–127 continuous Oscillators
/virus_ti/filter/fm_eg_amt 30 0–127 continuous Filter
/virus_ti/oscillators/osc2_key_follow 31 0–127 continuous Oscillators
/virus_ti/general/bank_select 32 0–127 continuous General
/virus_ti/mix/osc_balance 33 0–127 continuous Mix
/virus_ti/mix/subosc_volume 34 0–127 continuous Mix
/virus_ti/oscillators/subosc_shape 35 0–127 continuous Oscillators
/virus_ti/mix/osc_mainvolume 36 0–127 continuous Mix
/virus_ti/mix/noise_volume 37 0–127 continuous Mix
/virus_ti/mix/ringmod_volume 38 0–127 continuous Mix
/virus_ti/oscillators/noise_color 39 0–127 continuous Oscillators
/virus_ti/filter/filter1_cutoff 40 0–127 continuous Filter
/virus_ti/filter/filter2_cutoff 41 0–127 continuous Filter
/virus_ti/filter/filter1_resonance 42 0–127 continuous Filter
/virus_ti/filter/filter2_resonance 43 0–127 continuous Filter
/virus_ti/filter/filter1_eg_amt 44 0–127 continuous Filter
/virus_ti/filter/filter2_eg_amt 45 0–127 continuous Filter
/virus_ti/filter/filter1_key_follow 46 0–127 continuous Filter
/virus_ti/filter/filter2_key_follow 47 0–127 continuous Filter
/virus_ti/filter/balance 48 0–127 continuous Filter
/virus_ti/filter/saturation_curve 49 0–127 continuous Filter
/virus_ti/controllers/controller_50 50 0–127 continuous Controllers
/virus_ti/filter/filter1_mode 51 0–7 continuous Filter
/virus_ti/filter/filter2_mode 52 0–7 continuous Filter
/virus_ti/filter/routing 53 0–3 continuous Filter
/virus_ti/filter/eg_attack 54 0–127 continuous Filter
/virus_ti/filter/eg_decay 55 0–127 continuous Filter
/virus_ti/filter/eg_sustain 56 0–127 continuous Filter
/virus_ti/filter/eg_sus_time 57 0–127 continuous Filter
/virus_ti/filter/eg_release 58 0–127 continuous Filter
/virus_ti/envelopes/amp_eg_attack 59 0–127 continuous Envelopes
/virus_ti/envelopes/amp_eg_decay 60 0–127 continuous Envelopes
/virus_ti/envelopes/amp_eg_sustain 61 0–127 continuous Envelopes
/virus_ti/envelopes/amp_eg_sus_time 62 0–127 continuous Envelopes
/virus_ti/envelopes/amp_eg_release 63 0–127 continuous Envelopes
/virus_ti/controllers/ctrl_hold_pedal 64 0–127 continuous Controllers
/virus_ti/controllers/ctrl_glide_pedal 65 0–127 continuous Controllers
/virus_ti/controllers/ctrl_sostenuto_pedal 66 0–127 continuous Controllers
/virus_ti/lfo/lfo1_rate 67 0–127 continuous LFO
/virus_ti/lfo/lfo1_shape 68 0–67 continuous LFO
/virus_ti/lfo/lfo1_eg_mode 69 0–1 switch LFO
/virus_ti/lfo/lfo1_mode 70 0–1 switch LFO
/virus_ti/lfo/lfo1_symmetry 71 0–127 continuous LFO
/virus_ti/lfo/lfo1_keyboard 72 0–127 continuous LFO
/virus_ti/lfo/lfo1_restart 73 0–127 continuous LFO
/virus_ti/oscillators/osc1_lfo1_amt 74 0–127 continuous Oscillators
/virus_ti/oscillators/osc2_lfo1_amt 75 0–127 continuous Oscillators
/virus_ti/lfo/pw_lfo1_amt 76 0–127 continuous LFO
/virus_ti/lfo/reso_lfo1_amt 77 0–127 continuous LFO
/virus_ti/lfo/filtergain_lfo1_amt 78 0–127 continuous LFO
/virus_ti/lfo/lfo2_rate 79 0–127 continuous LFO
/virus_ti/lfo/lfo2_shape 80 0–67 continuous LFO
/virus_ti/lfo/lfo2_eg_mode 81 0–1 switch LFO
/virus_ti/lfo/lfo2_mode 82 0–1 switch LFO
/virus_ti/lfo/lfo2_symmetry 83 0–127 continuous LFO
/virus_ti/lfo/lfo2_keyboard 84 0–127 continuous LFO
/virus_ti/lfo/lfo2_restart 85 0–127 continuous LFO
/virus_ti/lfo/osc_shp_lfo2_amt 86 0–127 continuous LFO
/virus_ti/lfo/fm_lfo2_amt 87 0–127 continuous LFO
/virus_ti/lfo/filter1_lfo2_amt 88 0–127 continuous LFO
/virus_ti/lfo/filter2_lfo2_amt 89 0–127 continuous LFO
/virus_ti/lfo/pan_lfo2_amt 90 0–127 continuous LFO
/virus_ti/controllers/controller_92 92 0–127 continuous Controllers
/virus_ti/general/transpose 93 0–127 continuous General
/virus_ti/general/key_mode 94 0–127 continuous General
/virus_ti/controllers/controller_95 95 0–127 continuous Controllers
/virus_ti/controllers/controller_96 96 0–127 continuous Controllers
/virus_ti/general/unison_mode 97 0–127 continuous General
/virus_ti/general/unison_detune 98 0–127 continuous General
/virus_ti/general/unison_spread 99 0–127 continuous General
/virus_ti/lfo/unison_lfo_phase 100 0–127 continuous LFO
/virus_ti/general/input_mode 101 0–127 continuous General
/virus_ti/general/input_select 102 0–127 continuous General
/virus_ti/fx/chorus_type 103 0–6 continuous FX
/virus_ti/fx/chorus_mix 104 0–127 continuous FX
/virus_ti/fx/chorus_classic_mix 105 0–127 continuous FX
/virus_ti/fx/chorus_rate 106 0–127 continuous FX
/virus_ti/fx/chorus_depth 107 0–127 continuous FX
/virus_ti/fx/chorus_delay 108 0–127 continuous FX
/virus_ti/fx/chorus_feedback 109 0–127 continuous FX
/virus_ti/fx/chorus_lfo_shape 110 0–5 continuous FX
/virus_ti/controllers/controller_111 111 0–127 continuous Controllers
/virus_ti/fx/delay_verb_mode 112 0–127 continuous FX
/virus_ti/fx/effect_send 113 0–127 continuous FX
/virus_ti/fx/delay_time 114 0–127 continuous FX
/virus_ti/fx/delay_feedback 115 0–127 continuous FX
/virus_ti/fx/delay_verb_time 116 0–127 continuous FX
/virus_ti/fx/delay_verb_size 117 0–127 continuous FX
/virus_ti/fx/delay_lfo_shape 118 0–127 continuous FX
/virus_ti/fx/delay_color 119 0–127 continuous FX
/virus_ti/controllers/controller_120 120 0–127 continuous Controllers
/virus_ti/controllers/controller_121 121 0–127 continuous Controllers
/virus_ti/general/keyboard_local 122 0–127 continuous General
/virus_ti/general/all_notes_off 123 0–127 continuous General
/virus_ti/controllers/controller_124 124 0–127 continuous Controllers
/virus_ti/controllers/controller_125 125 0–127 continuous Controllers
/virus_ti/controllers/controller_126 126 0–127 continuous Controllers
/virus_ti/controllers/controller_127 127 0–127 continuous Controllers
/virus_ti/shape 17 0–127 continuous
/virus_ti/wavetable 19 0–99 continuous
/virus_ti/detune 18 0–127 continuous
/virus_ti/semitone 20 -48–48 continuous
/virus_ti/key_follow 21 -64–63 continuous
/virus_ti/sync 28 0–1 switch
/virus_ti/shape 22 0–127 continuous
/virus_ti/wavetable 24 0–99 continuous
/virus_ti/detune 26 0–127 continuous
/virus_ti/pulse_width 23 50–100 continuous
/virus_ti/semitone 25 -48–48 continuous
/virus_ti/key_follow 31 -64–63 continuous
/virus_ti/fm_amount 27 0–127 continuous
/virus_ti/filt_env_pitch 29 -100–100 continuous
/virus_ti/filt_env_fm 30 -100–100 continuous
/virus_ti/osc_balance 33 -100–100 continuous
/virus_ti/osc_volume 36 0–127 continuous
/virus_ti/sub_osc_volume 34 0–127 continuous
/virus_ti/sub_osc_wave 35 0–127 continuous
/virus_ti/noise_color 39 0–127 continuous
/virus_ti/noise_level 37 0–127 continuous
/virus_ti/ring_mod_level 50 0–127 continuous
/virus_ti/mode 51 0–7 continuous
/virus_ti/cutoff 40 0–127 continuous
/virus_ti/resonance 42 0–127 continuous
/virus_ti/env_amount 44 0–127 continuous
/virus_ti/routing 53 0–3 continuous
/virus_ti/key_follow 46 -64–63 continuous
/virus_ti/balance 48 -64–63 continuous
/virus_ti/mode 52 0–3 continuous
/virus_ti/cutoff 41 0–127 continuous
/virus_ti/resonance 43 0–127 continuous
/virus_ti/env_amount 45 0–127 continuous
/virus_ti/key_follow 47 -64–63 continuous
/virus_ti/filter 54 0–127 continuous
/virus_ti/filter 55 0–127 continuous
/virus_ti/filter 56 0–127 continuous
/virus_ti/filter 58 0–127 continuous
/virus_ti/sustain_slope 57 -64–63 continuous
/virus_ti/bank 0 0–29 continuous
/virus_ti/amplitude 59 0–127 continuous
/virus_ti/amplitude 60 0–127 continuous
/virus_ti/amplitude 61 0–127 continuous
/virus_ti/amplitude 63 0–127 continuous
/virus_ti/sustain_slope 62 -64–63 continuous
/virus_ti/rate 67 0–127 continuous
/virus_ti/shape 68 0–67 continuous
/virus_ti/contour 71 -64–63 continuous
/virus_ti/mode 70 0–1 switch
/virus_ti/key_follow 72 0–100 continuous
/virus_ti/envelope_mode 69 0–1 switch
/virus_ti/osc_1_pitch 74 -100–100 continuous
/virus_ti/osc_2_pitch 75 -100–100 continuous
/virus_ti/pulse_width 76 -100–100 continuous
/virus_ti/resonance 77 -100–100 continuous
/virus_ti/filter_gain 78 -100–100 continuous
/virus_ti/rate 79 0–127 continuous
/virus_ti/shape 80 0–67 continuous
/virus_ti/contour 83 -64–63 continuous
/virus_ti/mode 82 0–1 switch
/virus_ti/key_follow 84 0–100 continuous
/virus_ti/envelope_mode 81 0–1 switch
/virus_ti/filtr_1_cutoff 88 -100–100 continuous
/virus_ti/filtr_2_cutoff 89 -100–100 continuous
/virus_ti/panorama 90 -100–100 continuous
/virus_ti/fm_amount 87 -100–100 continuous
/virus_ti/shape_1_2 86 -100–100 continuous
/virus_ti/type 103 0–6 continuous
/virus_ti/rate 106 0–127 continuous
/virus_ti/depth 107 0–100 continuous
/virus_ti/feedback 109 -100–100 continuous
/virus_ti/delay 108 0–127 continuous
/virus_ti/classic_mix 105 0–127 continuous
/virus_ti/lfo_wave 110 0–5 continuous
/virus_ti/mix 104 0–127 continuous
/virus_ti/x_over 111 0–127 continuous
/virus_ti/send 113 0–127 continuous
/virus_ti/feedback 115 0–200 continuous
/virus_ti/frequency 119 0–127 continuous
/virus_ti/modulation 117 0–100 continuous
/virus_ti/time 114 0–694 continuous
/virus_ti/volume 91 0–127 continuous
/virus_ti/panorama 10 -100–100 continuous
/virus_ti/transpose 93 -64–63 continuous
/virus_ti/trigger_phase 73 0–127 continuous
/virus_ti/pitch_bend 7 / 104 -8192–8191 continuous
/virus_ti/modulation 1 0–127 continuous
/virus_ti/trigger_phase 85 0–127 continuous
/virus_ti/control_3 3 0–127 continuous
/virus_ti/control_11 11 0–127 continuous
/virus_ti/control_9 9 0–127 continuous

SysEx commands (124)

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

Performance MIDI

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

Limitations

CC/NRPN only. SysEx (preset management, display control, bulk dump/load, vendor-proprietary opcodes) is NOT covered by pencilresearch. To extend this device with SysEx, sniff the vendor editor, add `sysex.header/footer` + `commands` blocks, and use `update_device.md` PR template.