ADC Value icon ADC Value Display ADC port voltage and 0-255 linear values (0-3.3/5V); configurable board/port, units, multiplier and sample interval. Try it →
Canada
LinkedIn Thingiverse Twitter YouTube TikTok
Asked

Soundboard Volume Zero Issue

I have a question about the ARC robot skill SoundBoard (EZB). Why can't the volume go to zero anymore?

I'm not sure when this changed, but it seems the soundboard volume can't be muted any longer. I found it really handy when troubleshooting to be able to turn the music down to zero if needed. If this change is permanent, would it be possible to get a Mute button (with on/off status) beside the Play/Stop button?



Related Hardware (view all EZB hardware)
EZ-B V4 by EZ-Robot
EZ-B v4/2 robot controller: dual Cortex ARM, Wi-Fi, audio/video, 24 servo/digital ports, I2C/UART, camera and Synthiam ARC control for custom robots
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skill (view all robot skills)
Soundboard (EZB) by Synthiam
Play WAV/MP3 via EZ-B v4, manage tracks, add timed scripts for synced robot actions, control via ControlCommand(), volume and clipping indicators.

ARC Pro

Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

Yes - you can work around this immediately and I can also help get a proper Mute button added to the SoundBoard(EZB) skill.

Summary

  • If the SoundBoard slider no longer allows 0% in the skill UI, you can still mute the EZB speaker programmatically with Audio.setVolume(0, ezbIndex).
  • You can add a simple script/button that toggles mute (stores and restores the previous volume).
  • If you’d like the SoundBoard skill itself to include a Mute toggle in the UI, please post that as a feature request on the SoundBoard skill page (link below) or tell me and I’ll point you how to create a skill/patch for it.

Quick toggle-mute script (JavaScript)

  • Add a Script robot skill (Project Add robot skill Script) and paste this JavaScript.
  • Update ezbIndex (0 is the usual first EZ-B) if you use a different board index.
// Mute toggle for EZ-B speaker (JavaScript for ARC)
// Uses global var $SoundboardPrevVolume to store previous volume
var ezbIndex = 0;

// Get current mute flag (default false)
var muted = getVar("$SoundboardMuted", "false") === "true";

if (!muted) {
  // Save previous volume and mute
  var prev = Audio.getVolume(ezbIndex); // returns 0-200
  setVar("$SoundboardPrevVolume", prev.toString());
  Audio.setVolume(0, ezbIndex);
  setVar("$SoundboardMuted", "true");
  print("Muted EZ-B (prev volume: " + prev + ")");
} else {
  // Restore previous volume
  var prevStr = getVar("$SoundboardPrevVolume", "100");
  var prevVol = parseInt(prevStr);
  if (isNaN(prevVol)) prevVol = 100;
  Audio.setVolume(prevVol, ezbIndex);
  setVar("$SoundboardMuted", "false");
  print("Unmuted EZ-B (restored volume: " + prevVol + ")");
}

How to use the script from a button

  • Add a Button control or UI element to your project.
  • Set the button action to run the above Script skill (or call it via ControlCommand if you embed it differently).
  • Button shows current mute state if you want - I can provide code to update a button label or toggle icon.

Notes & alternatives

  • controlCommand("Soundboard v4","Stop") will stop playback but does not "mute while continuing playback" - Audio.setVolume(0, ezbIndex) mutes without stopping the track.
  • If your audio is playing out of the PC (not EZ-B), use Audio.setVolumePC(volume) to change PC output volume.
  • SoundBoard has its own per-track / skill slider which may be clamped in the UI; Audio.setVolume() changes the EZB hardware volume and reliably mutes output.

Want me to add:

  • a version that updates a button text/icon to show Mute/Unmute?
  • a version that mutes only SoundBoard skill (if you have multiple EZ-Bs or multiple outputs)?

If you want SoundBoard to have a native Mute button in the skill UI, please vote/request it on the SoundBoard(EZB) support page so the skill author can consider adding it: https://synthiam.com/Support/Skills/Audio/SoundBoard-EZB?id=16060

Tell me:

  • Which ARC version and OS you’re using, and
  • Whether you want EZB speaker mute or PC audio mute.

I’ll help you set up the button/script or provide an updated script that changes the button label/icon.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#2  

There's never been a volume 0 in the soundboard ezb.

Looking in SVN, the soundboard was first introduced on Tuesday, November 5, 2013 @ 12:03:32 AM Mountain time

The volume was added the same morning November 5, 2013 3:24:05 AM Mountain time and the min volume value has been 1 every since. Looks like i had late night! I'm not fully sure how volume 0 would work or what it would do but you can try it with Athena's suggestion.

User-inserted image

User-inserted image

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#3  

Ha yup i see now what happens if you set the volume to 0 lol 

User-inserted image

Author Avatar
PRO
Canada
LinkedIn Thingiverse Twitter YouTube TikTok
#4  

That's very odd, I swear I could use the slider to bring the volume to zero. Is it possible that it was minimum: 1 on the backend and appeared as zero in the UI (and muted the sound)? Or maybe it was changed sometime between 2013 and 2026, and then was changed recently.

I will have to look at an older version of ARC with an older version of the Soundboard to check. It's something I automatically did in the past, but I was surprised that I couldn't mute the sound any longer.

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#5   — Edited

I think it's because you put it at 1 but you have to start and stop the audio for it to take effect. I tried at 1 and you can't hear it at all - u probably did that

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#6  

I might be able to change the volume in real time with the new encoder that was altered for esp32. i'll have to think about that

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#7  

Yeah i figured out how to do it. Next update will have real-time volume adjustment over the ezb audio protocol