Hi all--noob here (please be kind). I tried to post this moments ago and failed--2nd time may be the charm. I love vb3-ii but don't have (or want) a purpose built organ controller and I find things get messy when mapping my synth controls for this purpose. I've downsized my gear to just a Studio-logic SL88 mk2 (love it!) and an iPad--a dedicated organ controller is not in the cards, though the DK61 looks fabulous! Instead, I've added a free midi processing/scripting iPad app called StreamByter and wrote a script to use a single physical control knob/slider to smoothly morph across and between (say eight) user-defined drawbar registration presets. My eight presets include: 'Jimmy Smith', 'Whiter Shade', 'Full stop', among others along the way. The morphing lets you (for instance) add some sparkle to a Jimmy patch on-the-fly etc. Further, I've set up the four continuous controllers of my SL88 for each manual of vb3-ii so I have everything I need at my finger tips for live performance as follows:
Upper: [Drawbars][Tremolo][Percussion][Drive]
Lower: [Drawbars][Tremolo][C/V select][Reverb]
Note: I continue to use the mod stick controller for rotary control.
I've found this setup to be very helpful, ergonomic, and musical and thought I'd share. Hope this is helpful and can be used by some. Let me know your thoughts. The StreamByter code is as follows:
#—————————————————————————————————————————————————————————————-
# VB3-ii Drawbar Automation v1.2
# —————————————————————————————-
#
# Allows a single midi control cc (knob or slider) to morph
# over user-defined sets of drawbar registrations (presets).
# This is handy for those without a set of midi drawbars
# and/or with limited control surface options.
#
# Known issues: while it is intended that any number of presets
# up to 28 should be supported, eight was considered reasonable
# which was the number over which it was verified; however, a
# quick test of four presets failed. But hey—-eight works!
#
#—————————————————————————————————————————————————————————————-
IF LOAD
Set include factory standard_includes
#—————————————————————————————————————————————————————————————-
# Fixed Configuration Literals
#—————————————————————————————————————————————————————————————-
Alias 0 lower_manual
Alias 1 upper_manual
Alias 0 sixteen_foot_pipe
Alias 8 one_foot_pipe
Alias 9 num_drawbars
#—————————————————————————————————————————————————————————————-
# Variables
#—————————————————————————————————————————————————————————————-
Alias J0 positions # array[preset0..presetX][sixteen_foot_pipe..one_foot_pipe]
Alias I0 midi_channels # array[lower_manual..upper_manual]
Alias I0 midi_channel_lower_manual
Alias I1 midi_channel_upper_manual
Alias I2 manual
Alias I3 midi_cc_and_channel
Alias I4 preset_a
Alias I5 preset_b
Alias I6 ab_blend
Alias I7 drawbar
Alias I8 drawbar_value
Alias I9 num_levels_per_preset
Alias IA drawbar_cc
Alias IB max_control_value
Alias IC control_value
Alias ID num_presets
Alias IE temp
Assign num_presets = 0
#—————————————————————————————————————————————————————————————-
# Helper subroutine to facilitate building the preset array
#—————————————————————————————————————————————————————————————-
Subroutine Preset DB16 DB5_13 DB8 DB4 DB2_23 DB2 DB1_35 DB1_13 DB1
Math temp = num_presets * num_drawbars
Assign JIE = DB16 DB5_13 DB8 DB4 DB2_23 DB2 DB1_35 DB1_13 DB1
Math num_presets = num_presets + 1
End
#—————————————————————————————————————————————————————————————-
# Configure for your midi controller and build a set of preset
# drawbar registrations over which the control knob morphs
#—————————————————————————————————————————————————————————————-
Alias 3 lower_manual_midi_channel
Alias 2 upper_manual_midi_channel
Alias $70 control_cc # cc of control knob used to morph between drawbar registration presets
Alias $12 drawbars_cc_base # cc of lower manual sixteen foot pipe — all others sequentially incrementing
# 16’ 8’4’ 2’ 1’
Preset 0 0 0 0 0 0 0 0 0 # ‘Cancel’
Preset 0 0 8 0 0 0 0 0 0 # ‘Flutes’
Preset 0 0 8 0 0 0 0 0 3 # ‘Brite flutes’
Preset 8 8 8 0 0 0 0 0 0 # ‘Jimmy Smith’
Preset 8 8 8 4 0 0 0 0 0 # ‘Whiter shade of pale’
Preset 8 8 8 4 0 0 0 0 4 # ‘Brighter shade of pale’
Preset 8 8 8 4 0 0 0 5 4 # ‘Angrier shade of pale’
Preset 8 8 8 8 8 8 8 8 8 # ‘Full stop’
#—————————————————————————————————————————————————————————————-
# Initializing Variables
#—————————————————————————————————————————————————————————————-
Math midi_channel_lower_manual = lower_manual_midi_channel - 1
Math midi_channel_upper_manual = upper_manual_midi_channel - 1
Assign num_levels_per_preset = $127
Math temp = num_presets - 1 # number of drawbar registration preset pairs
Math num_levels_per_preset = num_levels_per_preset / temp
Math max_control_value = num_levels_per_preset * temp
Math max_control_value = max_control_value - 1
END
# if input message is the control cc message
If midi_msg_type == controller_msg
If midi_msg_cc == control_cc
# for each manual
Assign manual = lower_manual
while manual <= upper_manual
If midi_msg_channel == II2 # midi_channels[manual]
Assign control_value = midi_msg_value
If control_value > max_control_value
Assign control_value = max_control_value
End
# determine the preset pair to morph over
Math preset_a = control_value / num_levels_per_preset
Math preset_a = preset_a * num_drawbars
Math preset_b = preset_a + num_drawbars
# determine the blend of the pair
Math ab_blend = control_value % num_levels_per_preset
# For each drawbar
Assign drawbar = sixteen_foot_pipe
while drawbar <= one_foot_pipe
# determine blended drawbar value
Math drawbar_value = JI5 - JI4 # positions[preset_b][drawbar] - positions[preset_a][drawbar]
Math drawbar_value = drawbar_value * ab_blend
Math temp = num_levels_per_preset * JI4 # positions[preset_a][drawbar]
Math drawbar_value = drawbar_value + temp
# scale drawbar_value to convert from preset space to drawbar position space
Math drawbar_value = drawbar_value * $127
Math drawbar_value = drawbar_value / num_levels_per_preset
Math drawbar_value = drawbar_value / num_presets
# combine midi cc and channel for manual
Math midi_cc_and_channel = controller_msg + II2 # midi_channels[manual]
# determine cc for drawbar
Math drawbar_cc = manual * num_drawbars
Math drawbar_cc = drawbar_cc + drawbar
Math drawbar_cc = drawbar_cc + drawbars_cc_base
# send a cc message with its drawbar blend
Send midi_cc_and_channel drawbar_cc drawbar_value
# move to next drawbar
Math preset_a = preset_a + 1
Math preset_b = preset_b + 1
Math drawbar = drawbar + 1
End
end
Math manual = manual + 1
End
End
end
GSI VB3-II
VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Moderator: KVR Moderators (Main)
GSI VB3-II
2018-06-30T17:34:51+00:00
Hi,
I've just seen an announcement on the GSI facebook page that they are releasing VB3-II :party:
https://www.facebook.com/GenuineSoundware/
Looking forward to hearing how this will compare to VB3 1.4 and Acousticsamples B5!
dickiefunk
https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=102431
-
- KVRer
- 1 posts since 2 Apr, 2026
Post by I like VB3-ii »
Jump to
- The Main Forums
- ↳ KVR Studio Manager
- ↳ Getting Started (AKA What is the best...?)
- ↳ Instruments
- ↳ Effects
- ↳ Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)
- ↳ Guitars
- ↳ Mobile Apps and Hardware
- ↳ Soundware
- ↳ Samplers, Sampling & Sample Libraries
- ↳ Hardware (Instruments and Effects)
- ↳ Modular Synthesis
- ↳ Sound Design
- ↳ Production Techniques
- ↳ Music Theory
- ↳ Computer Setup and System Configuration
- ↳ DSP and Plugin Development
- ↳ DIY: Build it and they will come
- ↳ Music Cafe
- ↳ Sell & Buy (+Special Offers, Deals & Promos)
- ↳ KVR Experts
- ↳ KVR Developer Challenge 2023
- ↳ Everything Else (Music related)
- ↳ Off Topic
- ↳ Off Topic Classics
- ↳ Machine Learning and AI for Music Creation
- Official Company Forums
- ↳ 2getheraudio
- ↳ accSone
- ↳ Acon Digital
- ↳ AcousticsampleS
- ↳ AcousModules
- ↳ Agitated State
- ↳ AIR Music Technology
- ↳ AMG
- ↳ Ample Sound
- ↳ Antares Audio Technologies
- ↳ Apisonic Labs
- ↳ APU Software
- ↳ apulSoft
- ↳ AriesCode
- ↳ Arts Acoustic
- ↳ Arturia
- ↳ Audjoo
- ↳ AudioSpillage
- ↳ Audiority
- ↳ Best Service
- ↳ Big Tick
- ↳ Bitwig
- ↳ Controller Scripting
- ↳ Blue Cat Audio
- ↳ Cherry Audio
- ↳ CWITEC
- ↳ Embertone
- ↳ energyXT
- ↳ Eventide
- ↳ Expert Sleepers
- ↳ forward audio
- ↳ Future Audio Workshop
- ↳ FXpansion
- ↳ g200kg
- ↳ Harrison Mixbus
- ↳ HG Fortune
- ↳ Homegrown Sounds
- ↳ HoRNet Plugins
- ↳ Ilya Efimov Production
- ↳ Image Line
- ↳ Impact Soundworks
- ↳ Indiginus
- ↳ Insert Piz Here
- ↳ Ju-X
- ↳ Kirk Hunter Studios
- ↳ Kirnu
- ↳ Kong Audio
- ↳ Krotos
- ↳ Kuassa
- ↳ KV331 Audio
- ↳ LennarDigital
- ↳ Les Productions Zvon
- ↳ Liqube Audio
- ↳ Loomer
- ↳ LVC-Audio
- ↳ Maizesoft
- ↳ Manytone Music
- ↳ Media Overkill (MOK)
- ↳ MeldaProduction
- ↳ Mellowmuse
- ↳ MIDIMood
- ↳ moForte
- ↳ Mozaic Beats
- ↳ mucoder
- ↳ MusicDevelopments
- ↳ Tips & Tricks
- ↳ MusicLab
- ↳ MuTools
- ↳ New Sonic Arts
- ↳ NUSofting
- ↳ Oli Larkin Plugins
- ↳ Orange Tree Samples
- ↳ patchpool
- ↳ Photosounder
- ↳ PlugInGuru
- ↳ Polyverse Music
- ↳ Precisionsound
- ↳ Premier Sound Factory
- ↳ Psychic Modulation
- ↳ Realitone
- ↳ Resonance-Sound
- ↳ Reveal Sound
- ↳ Roger Linn Design
- ↳ rs-met
- ↳ S3A: Spatial Audio
- ↳ SaschArt
- ↳ Smart Electronix
- ↳ sonible
- ↳ SonicBirth
- ↳ Sonic Reality / eSoundz.com
- ↳ Soundiron
- ↳ SPC Plugins
- ↳ Sugar Bytes
- ↳ TAL Software
- ↳ Tokyo Dawn Labs
- ↳ Tracktion
- ↳ Tweakbench
- ↳ u-he
- ↳ u-he Linux support
- ↳ UJAM
- ↳ United Plugins
- ↳ VAZ Synths
- ↳ Virharmonic
- ↳ xoxos
- ↳ XSRDO - SynthCraft
- ↳ ZynAddSubFX
- Site Stuff
- ↳ Site Stuff
- Archived Forums
- ↳ AlgoMusic
- ↳ easytoolz
- ↳ Elevayta
- ↳ Hollow Sun
- ↳ LinPlug
- ↳ Muse Research and Development
- ↳ Shuriken
- ↳ SoHa Sound Design
- ↳ Soniccouture
- ↳ Topten Software
- ↳ Valhalla DSP
- ↳ CK Modules & VST
- ↳ Sennheiser AMBEO
- ↳ Muon Software
- ↳ Westgatesounds.net
- ↳ Squaredheads
- ↳ Sonigen
- ↳ CFA-Sound
- ↳ Back In Time Records
- ↳ Livelab.dk
- ↳ Skytopia
- ↳ audioD3CK
- ↳ Inspire Audio
- ↳ Krakli
- ↳ Drumdrops
- ↳ Futucraft
- ↳ OverTone DSP
- ↳ RaXnTraX
- ↳ solar3d-software
- ↳ Signaldust
- ↳ Soundemote
- ↳ ReleaseLab (Powered by Artist Expansion)
- ↳ Wolfgang Palm
- KVR Forum index
- All times are UTC
- Delete cookies
