TCP Clients icon TCP Clients — Monitor incoming TCP Server connections when TCP Server is enabled under Connection > Config; view and track live connections. Try it →
Asked
Discussion about ARCx audio

Discussion About Arcx Audio

@DJ and @Customer Service. First thanks for your constant attention to us and our needs.

DJ mentioned above: "There's no need to be playing back 44khz or 128khz audio, haha - that's ridiculous."

Could someone expand on that statement? * Why? * What is happening that playing back audio at these settings is not needed or even causing problems? * What is a good playback setting for this? * I've always been concerned with sound quality. I want the best sounding and natural to the ears playback, I've always used the highest settings that I could. When these settings are lowered to what is considered "not ridiculous", does the sound quality suffer to the extent that human ear could really tell? And if so, by how much?

If these questions need to be placed in a new thread let me know. In any case, thanks in advance for the insight.


ARC Pro

Upgrade to ARC Pro

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.

#1   — Edited

"There's no need to be playing back 44khz or 128khz audio, haha - that's ridiculous."

Could someone expand on that statement? Why?

As DJ mentioned in the other thread (ARCx 2026.09.30.03 | ARCx Release Notes - Synthiam), you don't need the extra processing because you won't notice the higher-rate audio.

What is happening that playing back audio at these settings is not needed or even causing problems?

This unnecessary extra CPU usage could be used for scripts and other robot functions.

What is a good playback setting for this?

ARCx determines playback (starting at 22khz), and the quality is great. What you are used to in ARC is less than half of that.

I've always been concerned with sound quality. I want the best sounding and natural to the ears playback, I've always used the highest settings that I could. When these settings are lowered to what is considered "not ridiculous", does the sound quality suffer to the extent that human ear could really tell? And if so, by how much?

DJ's statement is regarding "ridiculously wasting CPU on unnecessary audio playback frequency"

If these questions need to be placed in a new thread let me know. In any case, thanks in advance for the insight.

We put this in a new thread here:)

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#2  

What I'm saying is exactly that - your ear listens to 22khz. ARCx is the default 22.5khz at 16-bit resolution. To put that in perspective, ARC is 16 kHz at 8-bit resolution, which is less than half of ARCx. If this were a home theater setup, I'd probably say it should be a higher bitrate. But your CPU is doing more than just playing audio. I don't think this is a concern. I don't think you've seen me as the kind of person to spend a ton of time analyzing data to make a poor decision lol:) It's good... it's going to be ok:D

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#3  

That’s a great question, and DJ’s comment is really about practical audio engineering tradeoffs in ARCx, not that "higher is bad" in every context.

Short version

  • ARCx audio is already high quality at 22.05 kHz / 16-bit
  • Most people won’t hear a meaningful improvement above that for robot speech, prompts, and playback
  • Higher sample rates increase CPU and memory work
  • That extra processing is usually better spent on robot control, vision, scripting, navigation, etc.
  • Compared to old ARC audio, ARCx is a big upgrade already

Why 22 kHz is usually enough

Human hearing tops out around 20 kHz, and in real-world speech playback:

  • Most useful speech information is well below 10 kHz
  • Natural voice quality is preserved well at 22.05 kHz
  • 16-bit depth gives plenty of dynamic range for clean audio

So for a robot speaking, responding, playing sound effects, or doing conversational audio, 22 kHz is generally more than sufficient.

Why very high settings can be wasteful

When you increase playback rate:

  • more samples must be processed per second
  • more data must be buffered
  • more CPU work is required during playback
  • other ARC tasks can get less headroom

For a robot, the important thing is usually:

  • clear speech
  • low latency
  • stable performance
  • reliable multitasking

Not ultra-high-fidelity playback.

Will sound quality suffer?

In a way, yes - but usually not in a way humans notice for robot use.

At 22.05 kHz:

  • you lose some ultrasonic content above ~11 kHz
  • but that content is not important for intelligible speech
  • most listeners will not say "that sounds worse" in a practical way

If you compare side-by-side in a studio environment with music or pristine vocals, you might notice differences.
For robot speech and interaction, the difference is typically negligible.

Good playback setting

For ARCx:

  • 22.05 kHz, 16-bit is a very solid default
  • That’s already far above the old ARC audio quality
  • If you’re doing speech, prompts, robot sounds, casual playback, this is a good target

If you’re doing something more like:

  • music playback
  • home-theater style audio
  • high-fidelity voice/music processing

then you might choose different tradeoffs, but that’s not usually the goal in a robot control environment.

Practical recommendation

If your robot is sounding clean and understandable at ARCx defaults, that’s the right place to be.
You’ll likely get the best balance of:

  • audio quality
  • performance
  • responsiveness

Bottom line

DJ’s point is basically:

"Don’t spend extra CPU on audio settings higher than what the human ear and robot use actually need."

And for ARCx, 22.05 kHz / 16-bit is already excellent for robot audio.

If you want, I can also explain this in terms of sample rate vs bit depth and what each one changes in a robot application.

I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.
#4  

@DJ and customer support. Thanks for the great answers. I wasn't being critical, judgemental or panicking about anything. I'm simply trying to understand the best approach to making my robot sound the best it can. I'm really a non-pro in training when it comes to stereophonics in general along with how a computer processes the sound. Your answers have helped me to understand that I really don't need to send sound files at the high resolutions I always have been using. Thanks! I still have more to learn.

#5  

OK, in addition to the post I just sent, I have a question about these sound sample rates any ARC (not Arcx).

So most of the sound files I use in my ARC project for my robot are edited by me in Audacity. When I'm through and ready to export to use in ARC I'm presented with a box that asks me what sample rate and bit rates to save them in. From what little I know I understood that 44100k, 16 bit was most recommended so that is what all my sound files used in my ARC project are saved at.

OK, my question is: does my sound file saved rates of 44100k, 16 bit (which is higher than what you say ARC's recommended rate of 22.05 kHz / 16-bit) use more CPU power when ARC plays them back? It kinda sounds to me like there are two different things here. They being, the rate that the files are saved at and what ARC actually plays them back at? Is there a setting in ARC to change these playback rates or are these playback rates hard coded in ARC and not adjustable?

Still learning. LOL. Thanks!

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#6  

Yes - you’re thinking about it the right way. There are two different things here:

1) The file’s saved sample rate

That’s what you set in Audacity when you export, for example:

  • 44.1 kHz / 16-bit
  • 22.05 kHz / 16-bit
  • etc.

That is the format of the audio file itself.

2) ARC’s playback engine format

That is how ARC interprets or streams audio when it plays it.

So if ARC is using a lower playback rate than the file, ARC has to convert/resample the file internally while it plays it.


Does a 44.1 kHz file use more CPU in ARC than a 22.05 kHz file?

Usually, yes - a little.

Why:

  • A 44.1 kHz file contains twice as many samples as a 22.05 kHz file for the same duration
  • That means more data to read, manage, and possibly convert
  • If ARC (or the playback path) is ultimately using a lower internal playback rate, the higher-rate file has to be processed down to that rate

For short sound effects or robot speech, the difference is usually not huge.
But if you have lots of audio, long files, or you’re trying to maximize system performance, it makes sense to use the file format that is already close to what ARC needs.


Is the playback rate adjustable in ARC?

For the normal ARC audio playback path, the playback behavior is generally built into the software/skill and not something you tweak like a DJ mixer slider.

So in practice:

  • You usually optimize the file export settings
  • rather than trying to change ARC’s internal playback rate

If you are using a specific robot skill for sound playback, its own settings may matter too. For example, the SoundBoard (EZB) skill has its own behavior and volume controls.
Here’s the skill docs if you’re using that:


What should you export from Audacity?

For robot speech and sound effects, a good rule of thumb is:

  • 22.05 kHz / 16-bit for most robot audio
  • 44.1 kHz / 16-bit is fine too if that’s your normal workflow and the files are not huge
  • avoid unnecessarily high sample rates unless you really need them

If your goal is clear robot speech, 22.05 kHz / 16-bit is usually plenty and keeps the file smaller and easier to process.


Will 44.1 kHz sound better than 22.05 kHz?

Sometimes on paper, yes.
In real robot use, most people won’t notice a meaningful difference for:

  • speech
  • sound effects
  • prompts
  • alerts

You’re more likely to notice differences caused by:

  • the original recording quality
  • microphone quality
  • noise reduction
  • EQ
  • clipping / distortion
  • speaker quality

Those matter more than pushing the sample rate higher and higher.


My practical recommendation

For ARC projects:

  • Speech: export at 22.05 kHz / 16-bit
  • General effects: 22.05 kHz / 16-bit is also a good default
  • Keep 44.1 kHz / 16-bit if that’s convenient, but know it’s usually more than needed for a robot

One important note

If you’re using SoundBoard (EZB), the audio pipeline can be more sensitive to streaming and network conditions than the file’s original sample rate alone. That’s one reason Synthiam recommends practical, efficient settings rather than overworking the system.

You may also find this helpful:


If you want, I can also give you a simple Audacity export recipe for ARC - like the exact sample rate, bit depth, and file type I’d use for:

  1. robot speech
  2. sound effects
  3. music clips
I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.
Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#7  

Athena is incorrect because she doesn’t know how about the inner workings of ARC soundboard code.

The file is resized during import. You can export at any rate that you wish.

#8  

OK, thanks @DJ and @Athena

I use ARC PC soundboards exclusively. I have many of them and Like I mentioned above, all the files are formatted at 44.1 kHz / 16-bit.

I've never had any problems with sound quality during playback. My questions are purely educational and to calm my inner need of perfection. LOL.

What I'm understanding from this is that when I import a sound file into one of ARC's soundboards, the program resizes it at that time? Maybe this is more info than I need to know but do you mean that ARC compresses the sound file when I import it into ARC's soundboard to save space? Then when called, ARC will decompress a file and then send it to the computer's sound system or an EZB depending on which type of soundboard I'm using?