Page 1 of 1

Discussing Voicemeeter Audio Interface

Posted: Sun Mar 20, 2016 9:49 am
by Vincent Burel
As virtual audio device, Voicemeeter could provide a proprietary interface to process audio signal, exactly like it was an audio board. Then it could be possible for an application to process Audio signal coming in Voicemeeter, Audio signal going out from Voicemeeter and why not Audio Signal inside Voicemeeter (insert).

This could be done through VoicemeeterRemote DLL and provided by a very simple API to install a callback in your application… to be able to process signal of Voicemeeter: it means all synchronized channels in the same samplerate of Voicemeeter main stream (given by output A1 device).
VoicemeeterVirtualAudioBoard.jpg
VoicemeeterVirtualAudioBoard.jpg (120.33 KiB) Viewed 16542 times

Code: Select all

VBVMR_RegisterCallback(nStream, paramstruct);
VBVMR_UnregisterCallback(nStream);
nStream will say what audio stream you want to receive in your callback:
-The main stream: all Voicemeeter inputs (read only) and all outputs (r/w).
-The pre-fader insert stream: all Voicemeeter inputs before fader (r/w).
-The pre-fader BUS stream: all Voicemeeter outputs before fader (r/w).

These 3 interfaces will be independent together and independent from the remoting session (login/logout), then 3 different application could access these 3 different callback mechanisms.

Re: Discussing Voicemeeter Audio Interface

Posted: Thu Apr 14, 2016 12:49 pm
by Vincent Burel
We are currently testing our Audio Callback Model to propose 3 different audio points inside Voicemeeter. Client Application will be able to basically register a callback for 3 different streams (possibly 3 in the same callback as well as one callback in 3 different applications):
(1)Input Insert Stream will allow processing audio on the Voicemeeter input stage before being processed by strip (color panel, EQ, comp, gate and fader).
(2)Output Insert Stream will allow processing audio on the Voicemeeter BUS output stage before master section (before mode, mono, master EQ and fader).
(3)Main Stream provides all inputs (after input insert) and all outputs (after fader, so after output insert) to process all I/O and possibly modify or replace all Voicemeeter BUS outputs.

VB-AUDIO CALLBACK API will be provided by Voicemeeter remote API (in same DLL). It will provide only 4x functions:
VBVMR_AudioCallbackRegister()
VBVMR_AudioCallbackStart()
VBVMR_AudioCallbackStop()
VBVMR_AudioCallbackUnregister()

The main advantage to use VB-Audio Callback mechanism is to receive and process all synchronized channels in same time, whatever the audio devices managed behind by Voicemeeter. VB-AUDIO Callback will be driven by Voicemeeter Main Stream and will support low latency (from 128 samples to 2048 samples).
VoicemeeterVirtualAudioBoardCallback.jpg
VoicemeeterVirtualAudioBoardCallback.jpg (149.44 KiB) Viewed 16227 times