VSB is a cool python-based, OSC-enabled vrchat soundboard. It uses a avatars radial menu to trigger .wav files to play via a audio device, mostly voicemeeter.
- Ensure python 3.10 (or older!!) is installed, and you have the requirements installed.
pip install -r requirements.txt
- In the SFX folder, create a folder for the avatarid, for example
avtr_3ec08725-aa6c-42ec-b411-a1466f69fb61, and then move the audio files in.
- Ensure that the files are named properly, with proper numbering at the start of the filename.
- Ensure that the files are in WAV format. I don't think the sound library supports playing anything else (and I haven't added it working)
- Edit the config.toml to match your settings.
- Create a submenu with the corresponding
osc-parametersettings triggered by a button.
- TODO: add a photo or something to show my example
- Enable OSC in game (or test with AV3Emulator!)
- Upload avatar (or play mode if AV3Emu) and run the button, and see if it is registered in the program.
Python 3.11 or newer
We use the tomli library for toml, but python 3.11 and newer has tomllib built into python, so you'll have to change the import and references.
Stuff I learned making this
- How OSC works! (osc4py3 is neat, especially multithreading stuff)
- signals library for clean ctrl+c exiting
- playing audio on windows from python (sounddevice, soundfile)
- reading toml files from python.
Files MUST be named correctly.
The number in the filename corresponds to the number in the parameter menu in VRC.
Files MUST be in .wav format. Seriously. I'm not requiring ffmpeg for a small size reduction.