Integration

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

1

Enable Voicemod API

Open Voicemod settings and enable the Third-Party Integration option. This allows external applications to control Voicemod.

Screenshot: Voicemod API settings
2

Note the Port

Voicemod runs its API on a local port (usually 59129). Make note of this if it differs on your system.

3

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 switched
Voice Changer Toggled Voice changer was enabled/disabled
Mute State Changed Microphone mute was toggled
Sound Playing Soundboard sound started
Sound Stopped Soundboard sound ended

Effects

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.