Very Low Volume Output via Mini-Speaker/USB Sound Adapter on BB Blue

I’m using " amixer set Speaker 100%" to turn the volume all the way up, but the sound level coming out of my mini-speaker (via USB sound adapter) is barely a whisper - but it is definitely audible. Do I just need a bigger speaker? Lower Ohms? Different “amixer” settings?

Anyway, here is a link to the audio adapter:

https://www.amazon.com/gp/product/B00IRVQ0F8/ref=ppx_yo_dt_b_asin_title_o09_s01?ie=UTF8&psc=1

and here is a link to the mini-speaker.

https://www.adafruit.com/product/1890?gclid=CjwKCAiAlNf-BRB_EiwA2osbxVKKNeMPMA_9rEXRKPnz9IsqDNvQx1z-Oz6XTPvXRog8NjRMjgmNchoC_ZQQAvD_BwE

Here is the output of the “amixer” commands:

debian@beaglebone:/var/lib/cloud9$ amixer set Speaker 100%

Simple mixer control ‘Speaker’,0

Capabilities: pvolume pswitch pswitch-joined

Playback channels: Front Left - Front Right

Limits: Playback 0 - 37

Mono:

Front Left: Playback 37 [100%] [0.00dB] [on]

Front Right: Playback 37 [100%] [0.00dB] [on]

debian@beaglebone:/var/lib/cloud9$ amixer

Simple mixer control ‘Speaker’,0

Capabilities: pvolume pswitch pswitch-joined

Playback channels: Front Left - Front Right

Limits: Playback 0 - 37

Mono:

Front Left: Playback 37 [100%] [0.00dB] [on]

Front Right: Playback 37 [100%] [0.00dB] [on]

Simple mixer control ‘Mic’,0

Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined

Playback channels: Mono

Capture channels: Mono

Limits: Playback 0 - 31 Capture 0 - 35

Mono: Playback 16 [52%] [-7.00dB] [off] Capture 20 [57%] [8.00dB] [on]

Simple mixer control ‘Auto Gain Control’,0

Capabilities: pswitch pswitch-joined

Playback channels: Mono

Mono: Playback [on]

debian@beaglebone:/var/lib/cloud9$ aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE ‘/usr/share/sounds/alsa/Front_Center.wav’ : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

The result is a barely audible female voice saying “front center”.

Any help/guidance will be greatly appreciated !!!

Amazon.com

  At best, this device has /headphone/ level output (and likely aimed at
in-ear buds, not around-the-ear cups), at worst it could be line-level
output. (Input could be microphone or line-level)

and here is a link to the mini-speaker.

Mini Metal Speaker w/ Wires - 8 ohm 0.5W : ID 1890 : $1.95 : Adafruit Industries, Unique & fun DIY electronics and kits

  Bare board speaker -- no amplifier stage.

  Headphone jacks typically only provide about 10mW (give or take).
Headphones are spec'd using a 1mW signal. Normal speakers are spec'd using
a 1W! signal (most of these headphones are also high-impedance devices --
32Ohm is common). An 8Ohm speaker is going to suck up the power, and
requires much higher power to produce "equivalent" sound levels.

  Oh, and a second thought -- that's a stereo adapter, but the speaker is
mono... How are you wiring the adapter to the speaker?

  Suggest you consider something like

(and add a second matching speaker for the stereo -- and do NOT set level
to 100%; your speaker can only handle 1/8th of the full power*)

* audio is tricky. As I recall, for 3.7W max, reducing perceived volume to
half means 0.37W, which is in range for your speaker. Quarter perceived
volume is 0.037W, 1/8th perceived volume is 0.0037

Have you seen this page?
https://gist.github.com/interwebjill/157055cc4e2bd7c33181f7e7e8bf4659

You might consider something like this or if you have a PC speaker you could try that:
https://www.amazon.com/s?k=Mini+Hamburger+Speaker&i=electronics&ref=nb_sb_noss

Jon

Thanks Jon!

I like the mushroom speaker idea since it includes a built-in amplifier powered through the USB adapter, but the size might be a little large for my smart dog door project.

Otherwise, I am able to control and get volume out of the mini-speaker using the ‘amixer’ cmds so I didn’t see anything that would help in the github link (but maybe I missed something?). That you shared.

If I can’t find a soln for the low mini-speaker volume, then I’ll likely try the mushroom speaker link that you provided !!

Thanks again,

Steve

I had a Sabrent USB-SBCV sitting around so I connected it to a Beaglebone Black.
https://www.amazon.com/Sabrent-External-Surround-Sound-Adapter/dp/B002R33VWW

NOTE: I ended up using a powered USB Hub since the BBB was not happy playing sounds through this device when connected straight to the board.

This is what I see with it connected:

debian@beaglebone:~$ cat /proc/asound/devices
2: [ 0- 0]: digital audio playback
3: [ 0] : control
4: [ 1- 0]: digital audio playback
5: [ 1- 0]: digital audio capture
6: [ 1] : control
33: : timer

debian@beaglebone:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: davinci-mcasp.0-i2s-hifi i2s-hifi-0 [davinci-mcasp.0-i2s-hifi i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

I ran the example as such:

debian@beaglebone:~$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1

NOTE: CARD=1 is reference to the USB device

Also, to change the volume, the Master can be used. I got an error when trying with Speaker:
Ex:
debian@beaglebone:~$ amixer -D pulse sset Master 100%

This works with one of those small self powered speakers.
If the volume is still too low for your config, then you may consider the Amp device from Adafruit Dennis suggested. Or, if you are handy with electronics, build your own amp circuit.

Cheers,

Jon