OSC Enabled Soundboard for VRChat
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Volkor 5be6c2fd36
add support for multiple avatars under each folder
7 months ago
.gitignore add support for multiple avatars under each folder 7 months ago
README.md add support for multiple avatars under each folder 7 months ago
config.toml Initial Commit 7 months ago
osc-soundboard.py add support for multiple avatars under each folder 7 months ago
requirements.txt Initial Commit 7 months ago

README.md

VolkorSoundBoard (VSB)

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.

Software setup

  1. Ensure python 3.10 (or older!!) is installed, and you have the requirements installed. pip install -r requirements.txt
  2. 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.
  3. Ensure that the files are named properly, with proper numbering at the start of the filename.
  4. 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)
  5. Edit the config.toml to match your settings.

Avatar setup

  1. Create a submenu with the corresponding osc-parameter settings triggered by a button.
    1. TODO: add a photo or something to show my example
  2. Enable OSC in game (or test with AV3Emulator!)
  3. 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.

File naming

Files MUST be named correctly. 1. <name>.wav. 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.