From: Geraldo Nascimento <geraldogabriel@gmail.com>
To: Ico Bukvic <ico@vt.edu>
Cc: alsa-devel@alsa-project.org
Subject: Re: Fwd: Odd issue with ALSA connecting directly to HDMI audio output
Date: Wed, 19 Jul 2023 00:51:35 -0300 [thread overview]
Message-ID: <ZLddxy5Bxgudk9vi@geday> (raw)
In-Reply-To: <ZLbH+qC2j9FQ5pTE@geday>
On Tue, Jul 18, 2023 at 02:12:31PM -0300, Geraldo Nascimento wrote:
> On Tue, Jul 18, 2023 at 12:22:35PM -0400, Ico Bukvic wrote:
> > Hi all,
>
> Hi Ico and friends,
>
> >
> > I have a consumer-level setup audio question. My research project uses a
> > Raspberry Pi in conjunction with a small portable monitor that has built-in
> > loudspeakers that are to be used via HDMI connection. The goal here is
> > portability and minimal cost.
> >
> > Curiously, when trying to connect to monitor's loudspeakers (via HDMI)
> > using ALSA, no matter what settings I pick, at worst I cannot get
> > audio out, and at best, get a buzzy sound whose waveform is in the attached
> > image. The sound is clearly periodic and impulse-like. It happens every 59
> > samples. Changing sample rate increases pitch, suggesting 59 samples remain
> > constant regardless of the sampling rate. When playing the actual audio,
> > you can hear it in the background, but this buzz is easily overpowering it.
> >
>
> Ico, just a wild guess but are you sure you are not capturing the raw SPDIF
> signal going through HDMI instead of Linear PCM audio signal?
Here's a comment from the VC4 HDMI driver:
* HDMI audio is implemented entirely within the HDMI IP block. A
* register in the HDMI encoder takes SPDIF frames from the DMA engine
* and transfers them over an internal MAI (multi-channel audio
* interconnect) bus to the encoder side for insertion into the video
* blank regions.
And there's this perhaps closely related old issue with the vendor
kernel and Android:
https://github.com/raspberrypi/linux/issues/4654
>
> > Changing sample rate or bit depth, or buffering, makes no difference.
> > Selecting 8 channels for output (one of HDMI's standards, as far as I can
> > tell), sometimes manages to output a tiny chunk of a good audio sample, and
> > then goes silent.
> >
> > Now, even more curiously, when using the portaudio backend and connecting
> > to the default pulseaudio sink, works just fine. What could be causing this
> > discrepancy?
>
> Perhaps PortAudio is forcing the Linear PCM bits on the underlying ALSA
> backend somehow, see for example:
> https://fossies.org/linux/alsa-lib/src/conf/pcm/iec958.conf
> But this is just wild speculation, it may or may not be the case with
> your report. It's best if you ask Takashi Iwai and Jaroslav Kysela
> directly through the list with Cc: in case nobody else has any more
> ideas of what could be the root cause of your report.
You're probably sending PCM data to HDMI, which expects SPDIF frames
instead, and PortAudio + PulseAudio seems to be aware of this. That's my
theory at least. Setting the necessary bits and necessary IEC958 format
on your ALSA playback may resolve your issue.
>
> Good luck,
> Geraldo Nascimento
>
> >
> > Best,
> >
> > Ico
> >
> > --
> > Ivica Ico Bukvic, D.M.A.
> > Director, Creativity + Innovation
> > Director, Human-Centered Design iPhD
> > Institute for Creativity, Arts, and Technology
> >
> > Virginia Tech
> > Creative Technologies in Music
> > School of Performing Arts – 0141
> > Blacksburg, VA 24061
> > (540) 231-6139
> > ico@vt.edu
> >
> > ci.icat.vt.edu
> > l2ork.icat.vt.edu
> > ico.bukvic.net
>
>
next prev parent reply other threads:[~2023-07-19 3:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAJrgGbZfPYHhf+p1TJO_LQe=pxkxDtAMPsY6sXOh1xVxq0b69w@mail.gmail.com>
2023-07-18 16:22 ` Fwd: Odd issue with ALSA connecting directly to HDMI audio output Ico Bukvic
2023-07-18 17:12 ` Geraldo Nascimento
2023-07-19 3:51 ` Geraldo Nascimento [this message]
2023-07-19 5:58 ` Ico Bukvic
2023-07-19 8:08 ` Takashi Iwai
2023-07-19 12:27 ` Ico Bukvic
2023-07-19 12:39 ` Takashi Iwai
2023-07-19 13:21 ` Geraldo Nascimento
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZLddxy5Bxgudk9vi@geday \
--to=geraldogabriel@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=ico@vt.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox