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@xxxxxx > > > > ci.icat.vt.edu > > l2ork.icat.vt.edu > > ico.bukvic.net > >