SoundPad
Control SoundPad soundboard application with full support for sound playback, volume control, categories, and random sound selection.
Overview
FaustBot integrates with SoundPad via its remote control API, providing:
Sound Playback
Play sounds by index or title search.
Stop Control
Stop individual sounds or all sounds.
Volume Control
Adjust SoundPad volume from 0-100.
Category Selection
Play random sounds from categories.
Random Playback
Play random sounds from library.
Pause/Resume
Toggle pause state for sounds.
Setup
Enable SoundPad Remote Control
SoundPad must have its remote control feature enabled for FaustBot to connect.
Open SoundPad Settings
In SoundPad, go to Settings (gear icon) and navigate to the Remote Control section.
Enable Remote Control
Enable the remote control option. You can choose between Named Pipe (Windows only, lower latency) or HTTP mode (cross-platform). Note the port if using HTTP mode (default: 51234).
Connect from FaustBot
In FaustBot, go to SoundPad in the sidebar. Select the connection mode matching your SoundPad settings. If using HTTP, enter the port number. Click Connect.
Connection Mode
On Windows, Named Pipe mode is recommended for the lowest latency. HTTP mode works on all platforms but may have slightly higher latency.
Triggers
Respond to events from SoundPad:
Sound Started A sound began playing (provides soundIndex, soundTitle)Sound Stopped A sound stopped playing (provides soundIndex, soundTitle)All Sounds Stopped All sounds were stoppedEffects
SoundPad provides action effects for controlling playback:
Playback Control
Play by Index
Play sound by its index number.
Play by Title
Play sound by searching title.
Play Random
Play a random sound.
Play from Category
Random sound from category.
Stop Control
Stop by Index
Stop a specific sound.
Stop All
Stop all playing sounds.
Pause/Resume
Toggle pause on a sound.
Volume
Set Volume
Set volume level (0-100).
Scripting with Actions
SoundPad does not have a direct scripting API. Instead, control SoundPad by creating
actions with SoundPad effects and triggering them from your scripts using CPH.RunAction().
How It Works
Create an action in FaustBot with the desired SoundPad effect (e.g., "Play by Title"). Then call that action from your script, optionally passing parameters to override effect settings.
Play Sound by Title
# Play a sound by title using an action
sound_title = "airhorn"
# Create action with SoundPad effect configured to play by title
CPH.RunAction("Play SoundPad Sound", f'{{"soundTitle": "{sound_title}"}}')Play Sound by Index
# Play a sound by its index number
sound_index = 5
# Trigger action with index parameter
CPH.RunAction("Play SoundPad Index", f'{{"soundIndex": {sound_index}}}')Volume Control
# Set SoundPad volume (0-100)
volume = 75
CPH.RunAction("Set SoundPad Volume", f'{{"volume": {volume}}}')Stop and Random Playback
# Stop all sounds
CPH.RunAction("Stop All SoundPad Sounds")
# Play a random sound
CPH.RunAction("Play Random SoundPad Sound")
# Play random from a specific category
category_index = 2
CPH.RunAction("Play From Category", f'{{"categoryIndex": {category_index}}}')Creating SoundPad Actions
For each SoundPad operation you want to use from scripts, create a dedicated action
in the Actions panel. Add the appropriate SoundPad effect, then reference the action
name in your CPH.RunAction() calls.