Voicemod
Control Voicemod voice changer directly from FaustBot. Switch voice effects, play soundboard sounds, and manage mute states for interactive stream content.
Overview
FaustBot connects to Voicemod via its local API, providing control over voice changing and soundboard features:
Voice Selection
Switch between voice effects by name or ID.
Random Voice
Select a random voice for variety.
Voice Toggle
Enable/disable voice changer globally.
Soundboard
Play and stop soundboard sounds.
Hear Myself
Toggle audio monitoring.
Mute Control
Mute microphone and meme sounds.
Setup
Connect to Voicemod
Enable Voicemod API
Open Voicemod settings and enable the Third-Party Integration option. This allows external applications to control Voicemod.
Note the Port
Voicemod runs its API on a local port (usually 59129). Make note of this if it differs on your system.
Connect from FaustBot
In FaustBot, go to Voicemod in the sidebar. The connection should establish automatically if Voicemod is running with the API enabled.
Voicemod Pro
Some features like custom voice parameters may require Voicemod Pro. Basic voice selection and soundboard work with all versions.
Triggers
Respond to Voicemod state changes:
Voice Changed Active voice effect was switchedVoice Changer Toggled Voice changer was enabled/disabledMute State Changed Microphone mute was toggledSound Playing Soundboard sound startedSound Stopped Soundboard sound endedEffects
Voice Control
Select Voice
Switch to a specific voice effect.
Random Voice
Select a random voice effect.
Toggle Voice Changer
Enable/disable voice changing.
Set Parameter
Adjust voice effect parameter.
Audio Control
Toggle Hear Myself
Enable/disable audio monitoring.
Toggle Mute
Mute/unmute microphone.
Toggle Background
Enable/disable background effects.
Mute Meme For Me
Mute soundboard in your ears.
Soundboard
Play Sound
Play a soundboard sound by ID.
Stop Sounds
Stop all playing sounds.
Set Beep Sound
Enable/disable beep on mute.
Scripting API
Control Voicemod programmatically from your scripts:
Connection & Status
# Check connection
if CPH.VoicemodIsConnected():
state = CPH.VoicemodGetState()
CPH.Log(f"Voice changer enabled: {state['voiceChangerEnabled']}")
CPH.Log(f"Current voice: {CPH.VoicemodGetCurrentVoice()}")Voice Control
# Get available voices
voices = CPH.VoicemodGetVoices()
for voice in voices:
CPH.Log(f"Voice: {voice['friendlyName']} (ID: {voice['id']})")
# Select a voice by ID
CPH.VoicemodSetVoice("voice-id-here")
# Select a voice by name
CPH.VoicemodSetVoiceByName("Robot")
# Select random voice
CPH.VoicemodSelectRandomVoice()
# Enable/disable voice changer
CPH.VoicemodSetVoiceChangerEnabled(True)
CPH.VoicemodSetVoiceChangerEnabled(False)
# Toggle voice changer
CPH.VoicemodToggleVoiceChanger()
# Check if enabled
if CPH.VoicemodIsVoiceChangerEnabled():
CPH.Log("Voice changer is ON")Audio & Mute Control
# Hear myself (monitoring)
CPH.VoicemodSetHearMyselfEnabled(True)
CPH.VoicemodToggleHearMyself()
# Mute control
CPH.VoicemodSetMuteEnabled(True) # Mute
CPH.VoicemodSetMuteEnabled(False) # Unmute
CPH.VoicemodToggleMute()
# Check mute state
if CPH.VoicemodIsMuteEnabled():
CPH.Log("Mic is muted")
# Background effects
CPH.VoicemodSetBackgroundEffectsEnabled(True)
CPH.VoicemodToggleBackgroundEffects()
# Mute meme sounds for yourself only
CPH.VoicemodToggleMuteMemeForMe()Soundboard
# Get soundboards
soundboards = CPH.VoicemodGetSoundboards()
for sb in soundboards:
CPH.Log(f"Soundboard: {sb['name']}")
# Play a sound by ID
CPH.VoicemodPlaySound("sound-id-here")
# Play a sound by name
CPH.VoicemodPlaySoundByName("Airhorn")
# Stop all sounds
CPH.VoicemodStopAllSounds()
# Beep sound on mute
CPH.VoicemodSetBeepSoundEnabled(True)
CPH.VoicemodSetBeepSoundEnabled(False)Voice Parameters
# Get available voice parameters
params = CPH.VoicemodGetVoiceParameters()
for param in params:
CPH.Log(f"Parameter: {param['name']} = {param['value']}")
# Set a voice parameter (Pro feature)
CPH.VoicemodSetVoiceParameter("pitch", 0.5)See the full API reference for all available Voicemod methods.