ts-easy-voicemeeter-remote is a Node.js typescript wrapper for the official voicemeeterRemote DLL available in the installation directory of Voicemeeter, Voicemeeter banana, or Voicemeeter potato. More informations about the DLL is available here
npm install ts-easy-voicemeeter-remote --save
import VoiceMeeter from "easy-voicemeeter-remote";
const voicemeeter = new VoiceMeeter();
voicemeeter.init().then(() => {
voicemeeter.login();
});
After the login method is successful you can use all the methods to interact with the instance of VoiceMeeter
// Connect
voicemeeter.login();
// Disconnect
voicemeeter.logout();
// Set the gain of the first Strip to -10db
voicemeeter.setStripParameter("gain", 0, -10);
// Mute the second Bus
voicemeeter.setBusParameter("mute", 1, true);
Get All available Parameters form all Strips and Buses. like : 'mono', 'solo', 'mute', 'gain', 'gate', 'comp' ...
console.log("getAllParameter || ", await voicemeeter.getAllParameters());
var data = await voicemeeter.getMultiParameter([
{ type: InterfaceType.strip, id: 0, getVals: ["mono", "Mute", "solo", "gain"] },
{ type: InterfaceType.bus, id: 0, getVals: ["mono", "mute", "gain"] },
]);
console.log("getMultiParameter || ", data);
/* { strips: [ { type: 'strip', id: 0, mono: 0, mute: 0, solo: 0, gain: -10 } ],
buses: [{ type: 'bus', id: 0, mono: 0, mute: 0, gain: -18.614171981811523 }]} */
- Get Level by Strip or Bus ID
- mode = 0= pre fader input levels. 1= post fader input levels. 2= post Mute input levels. 3= output levels.
- index strip or bus id
voicemeeter.getLevelByID(mode, index);
console.log("Level || ", voicemeeter.getLevelByID(3, 6));
voicemeeter.getMidi();
console.log("MIDI || ", voicemeeter.getMidi());
// Get all devices from the DLL
// They will be stored into an array in the voicemeeter-remote instance
voicemeeter.updateDeviceList();
// Get input devices
console.log(voicemeeter.inputDevices);
// Get output devices
console.log(voicemeeter.outputDevices);
ffi-napi
=> Read and execute the VoicemeeterRemote DLL
ref-napi
=> Turn Buffer instances into "pointers"
ref-array-napi
=> Create array (*pointer) for ffi
to return string from the DLL
winreg
=> Read the windows registery to find Voicemeeter installation folder and the DLL
MIT