+ How To Add This Control To Your Project (Click to Expand)
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.

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 increased too high this indicator will turn red and let you know 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. This value can be from 1(lowest) to 200% (highest) depending on the volume slider's position.
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
This column is where the track titles (+ file format) are listed. 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.

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.
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 an .mp3 or .wav file to the Soundboard.
3) Ensure you are connected to an EZ-B v4 with the ARC software then press the play button and listen for audio to come out of the EZ-B v4 speaker.

The Track Editor is a unique feature to this skill. It allows you to add scripts to multiple timestamps in the track in order to execute robot movements (or other actions) that correspond with the audio track. Simply right-click on the audio waveform to have access to the following options:
Every Soundboard ControlCommand() is published in the Cheat Sheet tab. Pressing the Cheat Sheet tab will display the ControlCommands() for all skills, including the Soundboard. To play/stop a track from a script, you would use commands such as:
An EZ-B v4 I/O Controller.
To create your own sound recordings or edits to play in the Soundboard you can use open source audio software such as Audacity. Note that the sound files will have to be saved in .wav or .mp3 format. Here's a community tutorial on using Audactiy for sound clips.
There's a also a community tutorial for using the Soundboard skill in general: here
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 increased too high this indicator will turn red and let you know 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. This value can be from 1(lowest) to 200% (highest) depending on the volume slider's position.
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
This column is where the track titles (+ file format) are listed. 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 an .mp3 or .wav file to the Soundboard.
3) Ensure you are connected to an EZ-B v4 with the ARC software then 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 to this skill. It allows you to add scripts to multiple timestamps in the track in order to execute robot movements (or other actions) that correspond with the audio track. Simply 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.
Code Samples
Every Soundboard ControlCommand() is published in the Cheat Sheet tab. Pressing the Cheat Sheet tab will display the ControlCommands() for all skills, including the Soundboard. To play/stop a track from a script, you would use commands such as:
controlCommand("Soundboard v4", "Track_0")
controlCommand("Soundboard v4", "Track_Random")
controlCommand("Soundboard v4", "Stop")
Requirements
An EZ-B v4 I/O Controller.
Resources
To create your own sound recordings or edits to play in the Soundboard you can use open source audio software such as Audacity. Note that the sound files will have to be saved in .wav or .mp3 format. Here's a community tutorial on using Audactiy for sound clips.
There's a also a community tutorial for using the Soundboard skill in general: here
Related Content
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 EZ-Builder
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...
tutorial

Break Out Sound Hack: Ez-B V4 External Sound Hack
Hey everyone! Following Dave Schulpius's tutorial for adding a 3.5mm headphone jack to the ez-b I successfully connected...
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

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...
I have been trying to get my JD robot to play sounds and songs in response to some voice commands. I used the block ControlCommand(soundboard_v4, "Track_1") in the speech recognition settings but when I use the command, the robot does not play the sounds. I am able to play the sounds from the soundboard only if I go in and edit the tracks. It does not let me play by pressing the play button on the soundboard window either.
What have I been doing wrong? There must be something I have missed.
When you open ARC - turn off your anti -virus - I can't connect to ARC with mine.
I just tested - I made a small mp3 file in audacity. called test5.mp3
Opened ARC, clicked on audio, opened soundboard (PC) loaded the file, then I added "speech recognition, added in the java script with controlCommand("Soundboard", "Track_0");
Too come out of your "robot" - open ARC , you need to connect to robot - (EZB4) open soundboard EZB add - speech recognition - add in the in the java script with - controlCommand("Soundboard v4", "Track_0");
I only had one track, so it is "Track_0" - I added a second track, so it is "Track_1" - and so on, and on...
In the computer world, we count 0 , 1, 2 ,3 etc... not 1, 2, 3 etc...
It works well.
Hope this helps you
EzAng
I noticed that there's an underscore in your code that shouldn't be there on "Soundboard v4".
Otherwise, the track should play in the Soundboard skill when you press play. I've never seen any issues with this unless a script is already using the Soundboard control or the volume is at 0.
reference this manual page: https://synthiam.com/Docs/Programming/control-command
Version 2020.09.08.00
https://synthiam.com/Products/ARC
EzAng
Here is an update. I have the latest version of ARC and my commands were written the same as in the cheat sheet. The underscore in my earlier comment was a typo. I managed to get my program working by switching off the speech recognition controls after activating the sequence using a voice command. If I leave the voice recognition on, my program terminates after taking in the background noise.
One thing I have noticed though, is some of the sounds I have included in my program do not play all the way through. I have included a short "BOING" sound that should play for 2 seconds but it gets cut 200 ms in. Is there a way of fixing this that you can recommend?
What do you mean by switching off the speech recognition controls? Do you mean that they’re removed/deleted from the project?
lastly, is the microphone a Bluetooth connection?
I'll try adding some silence on the end of the shorter tracks.
By switching off the speech recognition controls I meant I click the pause button on the speech recognition window in ARC so that the speech recognition is not picking up the background sounds and causing the program to cancel prematurely.
At the moment, I have been using my laptop's built-in microphone not a Bluetooth enabled device. Going to invest in a pair of noise-cancelling headphones eventually.
A copy of the error message should get us aligned to find out what’s going on
Ps / answers to this question are specific to speech recognition so I have moved them to here: https://synthiam.com/Docs/Skills/Audio/Speech-Recognition?id=16118
I think if worst comes to the worst, I'll try to use a different track for my audio (a longer sound) but the weird thing is that this cutting off effect has happened with one of my longer tracks too.
Sleep(3000)
If you have a sleep command then make sure it's 3 seconds or longer. This will pause the script until the sound is played before moving to the next command.
Let us know how it goes.
Often I'll want two actions to happen at the same time without a pause that normally would have the second command cancel out or stop the first action. Kinda like what happened to you with your sound file. To make this work I'll make a second script with the second command action. Then in the first script that holds the first command, after that command is executed, I'll state a (ControlCommand) to start that second script. Because of Windows ability to do Multithreading both commands will run from the two different scripts. That is as long as they are not using the same control like a sound board.
Have fun! Keep us posted on your progress. We love this stuff!
Kat777, check out the Speech Synthesis below , I explained how to add all the windows hidden voices for you.
EzAng
Thanks Dave for bringing up the "wait" function.
EzAng
I am happy there is EZ script, it reminds me where we all came from EZ -Robot - it was easy :-)
EzAng
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