Integration

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.

1

Open SoundPad Settings

In SoundPad, go to Settings (gear icon) and navigate to the Remote Control section.

2

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).

3

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 stopped

Effects

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 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 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
# Set SoundPad volume (0-100)
volume = 75

CPH.RunAction("Set SoundPad Volume", f'{{"volume": {volume}}}')

Stop and Random Playback

Stop and random sound control
# 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.