How To Fix Sound Issues On Raspberry Pi: Easy Solutions


Everything’s set: system installed, media player configured, and playlists ready. You press ‘Play’ and… nothing! Yeah, it’s frustrating. Let’s learn how to solve the most common audio problems on your Raspberry Pi (and quickly get back to listening to your favorite songs).

In most cases, sound issues on the Raspberry Pi can be fixed by selecting the right output device or increasing the volume in the system configuration.

If you already tried this, don’t worry. I’ll list all the solutions for you in this article. But first, let’s talk about the default sound options of the Raspberry Pi.

If you’re looking to quickly progress on Raspberry Pi, you can check out my e-book here. It’s a 30-day challenge where you learn one new thing every day until you become a Raspberry Pi expert. The first third of the book teaches you the basics, but the following chapters include projects you can try on your own.

How the Raspberry Pi handles your audio

Before trying more advanced things, let’s start with the basics: the output available and the default settings.

Sound output options

Most Raspberry Pi models have two audio outputs available:

  • HDMI: You can use your monitor or TV to play system sounds. Not all screens have built-in speakers, but it’s the easiest way to have sound with your Raspberry Pi, as no extra cable is required.
  • Jack: On most models, there is also a 3.5mm jack output. Typically, if you have typical computer speakers, you can plug them into the Raspberry Pi via this port.
Whether it comes with normal HDMI, mini HDMI or micro HDMI ports, your Raspberry Pi can use the display port for audio. Jack is also available on most models.

Additionally, the Raspberry Pi can also handle other common devices fairly well, such as:

So even if the Raspberry Pi can’t do everything, it can handle most audio devices pretty well. Unless you’re trying to plug an XLR mic, an RCA mixing table, or something fancy like that, it should work almost automatically.

But, I guess, you wouldn’t be reading this if it was working, so let’s jump to the configuration and troubleshooting part.

Default settings on Raspberry Pi OS

One more thing:

On a fresh installation of Raspberry Pi OS, the default audio output is configured to HDMI.

So if you use a TV or a monitor with speakers, it should work right away (if supported by the display device). However, if you plugged a speaker or headset into the jack output, you probably need to change the default device.

I’ll show you how to change this next, as it’s the most common problem.

Troubleshooting sound issues on Raspberry Pi

Preliminary checks

Let’s start with the basic checks any support guy will do or ask you to do. I know it’s boring, but we don’t want to break anything in the software part if it’s related to the physical connection or configuration options.

Physical connections

Before going any further, especially if you use some kind of typical setup, I highly recommend taking a few seconds to double-check the physical connections:

Download now
Download Your Essential Linux Commands Guide!
It’s a free PDF guide containing every Raspberry Pi Linux command you should know!
Download Now

  • Is the cable properly plugged in on both sides?
  • Is the cable in good shape?
  • Is it plugged into the correct Raspberry Pi or speaker?
  • If you can change the volume on the output device, try to increase it a bit.

I know what you’re thinking, but it can happen to anyone (“Oops, the TV was on mute.”).
It’s better to find a basic issue now than after you spend an hour tweaking the system configuration.

Default output

Now, the next thing you need to check is the default output for your Raspberry Pi.

By default, Raspberry Pi OS uses the HDMI device as the main audio output. With a desktop interface, it can be changed by clicking the audio icon in the top-right corner. Select the device to use in the dropdown list.

It looks like the following image:

In this example, I have three devices detected: jack, HDMI and Bluetooth. The Bluetooth is selected. It can be changed by a left-click on the device I want to use.

If you don’t have access to the desktop interface, it can be changed via the command line too. Start the configuration tool:
sudo raspi-config

Then go to “System Options” > “Audio” and select the right audio output:

In most cases, it should fix your sound issue. If it doesn’t resolve the issue, continue reading. I have many other tips for you.

Are you a bit lost in the Linux command line? Check this article first for the most important commands to remember and a free downloadable cheat sheet so you can have the commands at your fingertips.

Volume levels

Not only do you need to check the volume on the external device, but also on the Raspberry Pi system.

If you have a desktop interface, you can manage it from the same place (the audio icon in the top-right corner). It might be slightly different based on your system, but you’ll easily find it. Just make sure it’s high enough.

Without a GUI, it can generally be changed with this command:
sudo alsamixer

On Raspberry Pi OS, it will give you something like:

You can use the keyboard arrows to change the volume or select a different output. You can also use the shortcuts to access a different sound card if needed.

Try the quick fixes

If the basics seem good, there might be a recent system update or a bug in the system. This can generally be fixed by installing the latest updates or by rebooting the Raspberry Pi.

System updates

If you haven’t done these in a while, it’s probably a good idea to try installing the latest updates for your system before trying anything else.

Open a terminal and type these commands to update your system:
sudo apt update
sudo apt upgrade

This will download and install the latest packages for your system. So, if it was a bug, it might also already be fixed by the developers.

Raspberry Pi reboot

Another thing you can try before going further is to simply restart the Raspberry Pi.

It might be a recent update that temporarily disabled your audio device, or maybe a recent bug needs a reboot to be completely fixed.

Reboot the Raspberry Pi via the interface or by typing this command:
sudo reboot

And see how it goes after that.

Still there? Try this next

Well, at this point, we need to try less obvious solutions. If your system has critical data on it, make sure to have a recent backup of the Raspberry Pi, and only try the following solutions if you understand the risks.

PulseAudio

PulseAudio was the default sound server on older versions of Raspberry Pi OS (Raspbian). It’s no longer the case, and if you have upgraded your system for a few versions, it might be the issue (you still have it even if not necessary).

On recent Raspberry Pi OS versions, PulseAudio is no longer required and can cause audio problems.

Uninstall PulseAudio with:
sudo apt remove --purge pulseaudio

Reinstall everything

It sounds cliché, but I’ve seen it work several times, so you can try it if nothing else worked.

A more radical solution is to reinstall the core packages handling the sound devices: especially “alsa-utils” and “alsamixer”.

You can do this with these commands:

sudo apt remove --purge alsa-utils alsamixer
sudo apt clean
sudo apt autoremove
sudo apt update
sudo apt install alsa-utils alsamixer

Then, restart the Raspberry Pi and see how it goes.

Other potential hardware issues

If you’ve done everything listed previously, it’s likely that the issue comes from your hardware, or something related to it.

Jack

If you are trying to use the jack output, I’d recommend testing the cable on a different device to make sure it’s working.

Can you use the same cable and speaker with another device (like your phone)? Does it work?

If not, try another cable. There is a wide range of quality when it comes to jack cables. I highly recommend using a shielded cable like this one. Free ones included with monitors or other devices are generally pretty bad and won’t work for long.

USB

If you are trying to use a USB speaker or sound card, it’s a bit more tricky, as it can be an issue with the driver or the system might not be detecting it correctly.

You can first check if the USB device is detected with this command:
lsub

And, list the audio devices available with:
aplay -l

Make sure your USB sound card is compatible with Linux/Raspberry Pi OS, and check online forums or the manufacturer’s website for any known issues or solutions.

In some cases, it might also help to disable the default sound card by adding this in /boot/config.txt:
dtparam=audio=off

You can do this directly on the Raspberry Pi with Nano (check my guide here if needed), or from your computer directly (you can read the SD card files from it, even on Windows).

HDMI

HDMI is a bit like a jack when it comes to quality. Maybe your cable is just not working anymore, or isn’t good enough to support the audio output.

First, make sure to not use an adapter. Using an adapter is already an issue for the display output, it’s even worse for the audio.

Get the right cable for your model:

It’s a few dollars to get the right cable, but it will fix most of the issues. I can’t tell you how many problems I had while trying to use adapters for everything. Nothing better than the right cable.

If it’s not the cable, you can also try to set the hdmi_drive parameter in /boot/config.txt to force HDMI audio mode:
hdmi_drive=2

According to the Raspberry Pi documentation, the hdmi_drive command allows you to switch between HDMI and DIV modes:

  • 1 – DVI Mode (no sound)
  • 2 – HDMI mode (sound enabled if supported)

It shouldn’t be necessary, but it doesn’t cost much to try if nothing else has worked.

Bluetooth

If you use a Bluetooth device, there is a specific setup to pair and configure the device properly.

I have a full guide on how to use Bluetooth devices with a Raspberry Pi. I recommend you start there and see how it goes.

Once the device is properly configured, it should work the same way as any other device (by just switching the default output via the GUI or raspi-config).

Download now
Download Your Essential Linux Commands Guide!
It’s a free PDF guide containing every Raspberry Pi Linux command you should know!
Download Now

Want to chat with other Raspberry Pi enthusiasts? Join the community, share your current projects and ask for help directly in the forums.

What’s next?

If your audio is now working properly, here are a few interesting projects you can try:

And if you still experience issues, feel free to jump into the community to ask your questions. Give us all the details about your configuration and we’ll try to help.

Whenever you’re ready, here are other ways I can help you:

The RaspberryTips Community: If you want to hang out with me and other Raspberry Pi fans, you can join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.

Master your Raspberry Pi in 30 days: If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiple projects with step-by-step guides.

The Raspberry Pi Bootcamp: Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.

Master Python on Raspberry Pi: Create, understand, and improve any Python script for your Raspberry Pi. Learn the essentials step-by-step without losing time understanding useless concepts.

You can also find all my recommendations for tools and hardware on this page.

Sharing is caring!

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?