How to add the Soundboard (EZB) robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Audio category tab.
- Press the Soundboard (EZB) icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Soundboard (EZB) robot skill.
How to use the Soundboard (EZB) robot skill
This soundboard will play audio files through the EZ-B v4 speaker. You may load WAV or MP3 files into the library to have multiple audio files. Use the ControlCommand() scripts to trigger specific audio files.Main Window

1. Stop Button
This button stops the audio coming from the Soundboard.
2. Clean Button
If audio files are deleted from the tracklist, they will leave a blank row. This button removes the blank rows from the tracklist.
3. Clipping Indicator
If the volume level bar is too high, this indicator will turn red and tell you that the audio is clipping. Clipping is a form of audio distortion where the top and bottom of the sound wave are "clipped" off, resulting in lower quality sound at a higher volume.
4. Volume Display
This displays the current volume percentage coming from the Soundboard. Depending on the volume slider's position, this value can be from 1(lowest) to 200% (highest).
5. Volume Slider
This slider adjusts the volume of the audio coming from the Soundboard.
6. Track Number Column
This column is where the track number is listed. These numbers are important when using controlCommand() scripts.
7. Tracklist Column
The track titles (+ file format) are listed in this column. Left-click on this area to add a track to the corresponding numbered row.
8. Track Management Buttons
These buttons play the audio, edit the track to include timed scripts, and delete the track.
Settings

1. Title Field
This field contains the title of the skill. You can change it if you'd like. *Note: Changing the title will also change the title in the controlCommand() associated with this skill.
2. Board Index Drop-down
Use this drop-down to select the board number that your EZ-B v4 represents. Double-check the number in the connection skill.
3. Get Music! Button
If you are connected to the internet, this button links you to the freemusicarchive.org, where you can download royalty-free music.
How to Use Soundboard (EZB)
1) Add the Soundboard (EZB) Skill to your ARC project (Project -> Add Skill -> Audio -> Soundboard (EZB)).
2) Click on the skill's Track List, then find and add a .mp3 or .wav file to the Soundboard.
3) Ensure you are connected to an EZ-B v4 with the ARC software, press the play button, and listen for audio to come out of the EZ-B v4 speaker.
Track Editor

The Track Editor is a unique feature of this skill. It allows you to add scripts to multiple timestamps in the track to execute robot movements (or other actions) that correspond with the audio track. Right-click on the audio waveform to have access to the following options:
- Add Script Here: Adds a script to the selected timestamp.
- Delete selected script: Deletes the script from the timestamp.
- Play from here: Plays the audio track from the selected position.
- Set selection start: Sets the audio track starting position for the selected timestamp.
- Set Selection End: Sets the audio track finishing position for the selected timestamp.
- Clear Range: Clears any "Start" and/or "End" positions added to the track.
- Delete Selection: Deletes everything in between any set "Start and "End" positions.
- Cut Selection: Cuts everything in between any set "Start and "End" positions.
- Copy Selection: Copies everything in between any set "Start and "End" positions.
- Paste Selection: Pastes everything in between any set "Start and "End" positions.
- Delete Everything Before Here: Deletes the part of the waveform before the selected area.
- Delete Everything After Here: Deletes the part of the waveform after the selected area.
- Actions: Adds Auto Position actions instantly to the track into order to create quick dances and animations.
Control Commands
The soundboard accepts ControlCommand()'s and is published in the Cheat Sheet tab. Pressing the Cheat Sheet tab will display the ControlCommands() for all skills, including the Soundboard. You can control the behavior of the soundboard with control commands, such as:- controlCommand("Soundboard v4", "Track_xxx") - The "Track_xxx" can be substituted with the tracking number. For example, "Track_0" will play the first track of the soundboard, or track "Track_10" will play the tenth track, etc.
- controlCommand("Soundboard v4", "Track_xxx", "ignoreScript") - This is similar to the previous command, with the "ignoreScript" option. The "ignoreScript" option will instruct the soundboard to play the audio but not to run any scripts associated with the audio. - The "Track_xxx" can be substituted with the track number. For example, "Track_0" will play the first track of the soundboard, or track "Track_10" will play the tenth track, etc.
- controlCommand("Soundboard v4", "Track_Random") - Will play a random track on the soundboard.
- controlCommand("Soundboard v4", "Stop") - Will stop playing the audio from the soundboard.
Requirements
An EZ-B v4 I/O Controller.
Resources
To create your sound recordings or edits to play in the Soundboard, you can use open-source audio software such as Audacity. Note that the sound files must be saved in .wav or .mp3 format. Here's a community tutorial on using Audacity for sound clips.
There's a also a community tutorial for using the Soundboard skill in general: here
Related Tutorials
tutorial

Break Out Sound Hack: Ez-B V4 External Sound Hack
Hey everyone! Following Dave Schulpiuss tutorial for adding a 3.5mm headphone jack to the ez-b I successfully connected...
tutorial

Soundboard PC & Soundbard EZ-B Tutorial.
This tutorial will guide you through how to set up and use the Soundboard controls to give your robot the ability to...
tutorial

The Robot Program Episode 009: Getting Six To Move
This lesson will demonstrate how to connect to and move the Revolution Six robot. Follow along with The Robot Program...
tutorial

The Robot Program Episode 006: Introducing ARC
This lesson introduces the EZ-Builder Robot Software by exploring options and describing features. At the end of this...
tutorial

The Robot Program Episode 003: Getting JD To Move
This lesson will demonstrate how to connect to and move the Revolution JD robot. Follow along with The Robot Program...
tutorial

Breaking Out The Sound From The V4 Ezb
Hi all, EDIT: the below post has been changed to reflect changes to correct wrong information and show the successes I...
Related Robots
Related Questions
question

Soundboard Ticking-Noise Scriptcode - Energy Pulse
Dear Synthiam Crew and Friends, its an old problem since the beginning of EZB. The Ticking/ Clicking-Noise from the EZB...
question

Amplifying Audio From A Iotiny
Im using the soundboard exb to play audio files but they are very faint. Is there a way to add an amplifier like on the...
question

$Ezbplayingaudio Variable Not Changing To 1 When Playing...
, Maybe Im misunderstanding what the Variable $EZBPlayingAudio is used for. I understand its a default variable in ARC...
question

Error Playing Audio
What does the following error mean when playing an audio file using PlayAudio command? My files are MP3 but I might...
Upgrade to ARC Pro
Join the ARC Pro community and gain access to a wealth of resources and support, ensuring your robot's success.
I know nothing at this point about writing Java or python scripts.
EZ script does it all anyway
I am happy there is EZ script, it reminds me where we all came from EZ -Robot - it was easy :-)
EzAng
Arc doesn’t support Java. It does use JavaScript, however. It has a sleep command documented here: https://synthiam.com/Docs/javascript-api/javascript-overview
ezscript is actually very slow in comparison to JavaScript.
A more efficient option is to wait until the sound is completely played by monitoring the audio status variable in a loop. Add a sound (wait) in the Blockly UI and take a look at the JavaScript code.
here’s an example screenshot since I’m on my phone
and I created the code example by adding a sound (wait) in blockly
any chance to get source code to improve it for dynamic load files and play them?