HDMI audio not playing

I purchased an HDMI audio extractor: Amazon.com which was the cheapest box that would extract only audio from HDMI. I previously was using a USB dongle but found that hard shutdowns in Ubuntu corrupted the USB port requiring frequent reinstalls. I’m hoping that the HDMI audio output will be a bit more resilient in an embedded device. However, I can’t get any audio to play through the HDMI audio extractor. I’ve installed alsa-utils via apt-get. Could you help me troubleshoot the HDMI audio output?

When The HDMI audio converter powers up, it plays a frequency sweep, showing that it has power. However, no more sounds come out of it.

Here’s the output of aplay -L

null
Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=Black
TI BeagleBone Black,
Default Audio Device
dmix:CARD=Black,DEV=0
TI BeagleBone Black,
Direct sample mixing device
dsnoop:CARD=Black,DEV=0
TI BeagleBone Black,
Direct sample snooping device
hw:CARD=Black,DEV=0
TI BeagleBone Black,
Direct hardware device without any conversions
plughw:CARD=Black,DEV=0
TI BeagleBone Black,
Hardware device with all software conversions

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: HDMI nxp-hdmi-hifi-0
Subdevices: 1/1
Subdevice #0: subdevice #0

I tried to add a ~/.asoundrc

pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}

Then, it required only signed 32-bit little endian files:

aplay -vv music/samples/quadra.wav
Playing WAVE ‘music/samples/quadra.wav’ : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
aplay: set_params:1081: Sample format non available
Available formats:

  • S32_LE

So I made a stereo 32-bit version of the file and even tried sudo:

sudo aplay quadra_s32_le_stereo.wav
Playing WAVE ‘quadra_s32_le_stereo.wav’ : Signed 32 bit Little Endian, Rate 44100 Hz, Stereo
Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
please, try the plug plugin (-Dplug:default)
sudo aplay -Dplug:default quadra_s32_le_stereo.wav
Playing WAVE ‘quadra_s32_le_stereo.wav’ : Signed 32 bit Little Endian, Rate 44100 Hz, Stereo

Does anyone have any suggestions?

Thanks much.

My first impulse would be to somehow find out what EDID information the box was providing to the BBB.

If the box provides no EDID, or an improper EDID, the BBB may default to outputing a video resolution that does not support audio. There are only two resolution modes that support audio. See:
http://circuitco.com/support/index.php?title=BeagleBoneBlack_HDMI

You should read that whole page. There are other things that could affect your situation. Do you have a keyboard and mouse connected? HDMI may be “asleep” if you do not…

Don