• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Multichannel audio on a Pi will get a whole lot easier and cheaper!

Hello me again,

one small question, i gues the Channel orientation (HDMI Board) with 7.1 is like this, right?:
1 --> Front Left
2 --> Front Right
3 --> Center
4 --> Subwoofer
5 --> Left Surround
6 --> Right Surround
7 --> Back Surround Left
8 --> Back Surround Right

Robert

That looks right but in my experience the HDMI to I2S extractor switches the center and LFE (subwoofer) channels. If you have a computer with HDMI output, you should be able to test the channel layout to confirm. Or you can easily confirm via listening as center and LFE sound very different.

Michael
 
That looks right but in my experience the HDMI to I2S extractor switches the center and LFE (subwoofer) channels. If you have a computer with HDMI output, you should be able to test the channel layout to confirm. Or you can easily confirm via listening as center and LFE sound very different.

Michael
Yes they swapped, by me too Center on Channel 4

Robert
 
@mdsimon2 @Frunse
Have you connected the I²S pins of the HDMI audio extractor directly to the GPIOs of the Raspberry Pi 5 or do they have different voltage levels?

I want to connect four PCM1502A-DACs to the I²S outputs of the Raspberry Pi 5 with 32bit-based digital volume control.
Does the Raspberry Pi 5 support 32bit@96kHz on the I²S GPIOs?
(I'm going to use ASRCs in slave mode between the HDMI extractor and the Raspberry Pi 5 in I²S master mode to convert 16/24bit to 32bit and re-sample to 96kHz).
 
Last edited:
@mdsimon2
Is it possible to configure a 5th I²S input/output pin on the Rasperry Pi 5 GPIOs for channel 9 + 10?
I have a similar setup like you (Apple TV 4K -> AVR -> TV) and want to replace the AVR with HDMI audio extractor + stereo ADC -> RaspberryPi 5 -> 5x PCM1502A > Technics SA-TX50 + headphones. :D
 
Last edited:
@mdsimon2 @Frunse
Have you connected the I²S pins of the HDMI audio extractor directly to the GPIOs of the Raspberry Pi 5 or do they have different voltage levels?

I want to connect four PCM1502A-DACs to the I²S outputs of the Raspberry Pi 5 with 32bit-based digital volume control.
Does the Raspberry Pi 5 support 32bit@96kHz on the I²S GPIOs?
(I'm going to use ASRCs in slave mode between the HDMI extractor and the Raspberry Pi 5 in I²S master mode to convert 16/24bit to 32bit and re-sample to 96kHz).

Yes, HDMI to I2S extractor directly to RPi5 GPIOs. I have only used 48 kHz I2S input but have successfully used 88.2/96 kHz I2S output.

@mdsimon2
Is it possible to configure a 5th I²S input pin on the Rasperry Pi 5 GPIOs for channel 9 + 10?
I have a similar setup like you (Apple TV 4K -> AVR -> TV) and want to replace the AVR with a HDMI audio extractor + stereo ADC -> RaspberryPi 5 -> 4x PCM1502A > Technics SA-TX50. :D

I don't think so but @phofman would know better.

It is pretty easy to integrate a turntable in a Apple TV 4K system if you are OK with AirPlay. I currently use a Wiim Pro as an ADC and AirPlay transmitter with my turntable and an Apple TV 4K. You can also implement similar solutions with a RPi and separate ADC via LMS and the WaveInput plugin, although the Wiim is a much more plug and play solution.

Michael
 
Yes, HDMI to I2S extractor directly to RPi5 GPIOs. I have only used 48 kHz I2S input but have successfully used 88.2/96 kHz I2S output.
Did you use a hardware ASRCs for different sample rates at the input and output of the RaspberryPi 5 or is the Raspberry somehow capable of software ASRC?
 
Did you use a hardware ASRCs for different sample rates at the input and output of the RaspberryPi 5 or is the Raspberry somehow capable of software ASRC?

I have not used I2S input and output at the same time.

As a software solution you could have CamillaDSP resample to 96 kHz and use a multichannel USB to I2S board like the miniDSP USBstreamer, miniDSP MCHstreamer or DIYINHK multichannel XMOS with your DACs.

Michael
 
@Frunse
Do you use Peerless SLS 12 drivers in your RiPols?
No i dont, they already old and i dont like them much, the Linear Moving capability is not that much, Maximum Linear Excursion X max=8.3mm (Datasheet).
In my opinion thats not much for an Subwoofer, so i use newer Driver from SB Accoustic from his SB34.... Range (Linear Travel of 22mm P to P, Xmax=11mm i guess) and they are still in his Box, so Ripol is on todo not ready yet.
I Contacted Mister Axel Ridtahler and send him the Parameter i measured from this Driver then he was Simulating it and could tell me the Chassis woud be good for Ripols.
In his Service he doing also the whole job with Measuring and so on. Just ask him.

He also paired the measured Data but thats not a big deal because the Parameter off all 4 Chassis wasn't that far away from each ;)

Also got an Drawing from him for this Projekt.

I was paying for that Service.

My Problem was i had this Driver already bought for an Closed Compoundsubwoofer when i read about the Ripols. ;)
So if iam not satisfied with the Sound i go for Closed Sub (Linkwitztransformed) anyway ;)

He hold's the Patend on this so wasnt a problem to pay for that service, but i Dont alowed to give the Data to Third Persons only to redirekt to him \o/.

IF you want to build one you can ask him dirketly, he is realy nice and the Prices ar fair enough, he also Selling his favorite Driver already Pared for the Konfiguration of 2 per Sub thats importand to have an nice Pair with neare the Same Parameter.
Problem is, in the Past some people build his own Ripols with may be not that good paired Driver or with wrong Parameters and that why he told Ripols sounds bad.

If you want to get an good one build ask himm directly!!!

BTW: https://voxativ.berlin/bass

This was designt by him in corporation with Voxativ!!! So i dont think Ripols ar bad from technical Point ;) If they construkted right.

I will Make the first Test Enclousures this Spring. For now i cant much tell about the Soundquality.

Robert
 
Last edited:
Is it possible to configure a 5th I²S input/output pin on the Rasperry Pi 5 GPIOs for channel 9 + 10?
IMO no, only 8ch I2S.

is the Raspberry somehow capable of software ASRC?
Software ASRC is implemented e.g. in alsaloop or CamillaDSP. Of course all software solutions increase latency.
 
@mdsimon2 @Frunse
Have you connected the I²S pins of the HDMI audio extractor directly to the GPIOs of the Raspberry Pi 5 or do they have different voltage levels?

I want to connect four PCM1502A-DACs to the I²S outputs of the Raspberry Pi 5 with 32bit-based digital volume control.

You might want to route 8 output channels to I2S, and the other two to another output device.
 
Hello,
I tried yesterday to Play Moode over HDMI Out to an second RPI5 (HDMI IN) with CDSP and MOTU UL and it worked.

But i didnt find a way to use the second HDMI Out only for Sound and HDMI one for TFT Screen.

With raspi-config you can only aktivate Audio on HDMI 1 or Headfone Out, And on Moode you cant switch between HDMI Outs, only on or off.

Any ideas?

Would like to keep the Waveshare HDMI Screen for Control with Moode.

Nice Weekend

Robert
 
My Pi4B has video output going to HDMI0 - to my TV - and 8 channels audio going out to HDMI1 - to my HDMI extractor, DACs and amplifiers. So I had similar requirements.

By adding a couple of lines in /etc/asound.conf, you can configure the default ALSA audio device. Below you can see I've set mind to HDMI1 (the second HDMI output). Please note that if your app sends output to PulseAudio or some other thing, this will be ignored. CDSP can be configured to use ALSA directly, or to send to Pulse (among others). I do not know about Moode.

Code:
gordoste@raspberrypi:/etc $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 2: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 3: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
gordoste@raspberrypi:/etc $ cat /etc/asound.conf
defaults.pcm.card 1
defaults.ctl.card 1
 
My Pi4B has video output going to HDMI0 - to my TV - and 8 channels audio going out to HDMI1 - to my HDMI extractor, DACs and amplifiers. So I had similar requirements.

By adding a couple of lines in /etc/asound.conf, you can configure the default ALSA audio device. Below you can see I've set mind to HDMI1 (the second HDMI output). Please note that if your app sends output to PulseAudio or some other thing, this will be ignored. CDSP can be configured to use ALSA directly, or to send to Pulse (among others). I do not know about Moode.

Code:
gordoste@raspberrypi:/etc $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 2: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 3: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
gordoste@raspberrypi:/etc $ cat /etc/asound.conf
defaults.pcm.card 1
defaults.ctl.card 1
Thx alot,
Ok at least Moode has also CDSP capabilities so i can handle it that way to i guess.

Robert
 
My Pi4B has video output going to HDMI0 - to my TV - and 8 channels audio going out to HDMI1 - to my HDMI extractor, DACs and amplifiers. So I had similar requirements.

By adding a couple of lines in /etc/asound.conf, you can configure the default ALSA audio device. Below you can see I've set mind to HDMI1 (the second HDMI output). Please note that if your app sends output to PulseAudio or some other thing, this will be ignored. CDSP can be configured to use ALSA directly, or to send to Pulse (among others). I do not know about Moode.

Code:
gordoste@raspberrypi:/etc $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 2: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 3: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
gordoste@raspberrypi:/etc $ cat /etc/asound.conf
defaults.pcm.card 1
defaults.ctl.card 1
frunse@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 0: b1 [bcm2835 HDMI 1], device 1: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3

looks diferent 2 times HDMI 1 no HDMI 0 ???

may be something i need to add in /boot/config.txt

like this???

dtoverlay=vc4-kms-v3d

What is the different between vc4-kms and bcm2835 ???

Sorry need lots to learn about Raspberry i guess ;)

Robert
 
Last edited:
frunse@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 0: b1 [bcm2835 HDMI 1], device 1: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3

looks diferent 2 times HDMI 1 no HDMI 0 ???

may be something i need to add in /boot/config.txt

like this???

dtoverlay=vc4-kms-v3d

What is the different between vc4-kms and bcm2835 ???

Sorry need lots to learn about Raspberry i guess ;)

Robert
Ok did it and now i got this:
frunse@moode:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

But no asound.conf here i guess i make one right?
;)
 
My Pi4B has video output going to HDMI0 - to my TV - and 8 channels audio going out to HDMI1 - to my HDMI extractor, DACs and amplifiers. So I had similar requirements.

By adding a couple of lines in /etc/asound.conf, you can configure the default ALSA audio device. Below you can see I've set mind to HDMI1 (the second HDMI output). Please note that if your app sends output to PulseAudio or some other thing, this will be ignored. CDSP can be configured to use ALSA directly, or to send to Pulse (among others). I do not know about Moode.

Code:
gordoste@raspberrypi:/etc $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 2: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 3: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
gordoste@raspberrypi:/etc $ cat /etc/asound.conf
defaults.pcm.card 1
defaults.ctl.card 1
After i wrote this to config.txt i could change the HDMI device in Moode Configure but get Alsa Error could not open the Device....

dtoverlay=vc4-kms-v3d

Robert
 
I've been living with the HDMI to I2S extractor in my main Okto / CamillaDSP setup for a while and have been very pleased. I am using an Apple TV 4K in to a u9 HDMI splitter, with the TV portion of the splitter going to a Vizio M558-G1 TV and the audio portion going to the HDMI to I2S extractor. This setup works with 4K Dolby Vision and 4:4:4 color (admittedly I typically leave my Apple TV at 4K @ 60 Hz SDR 4:4:4 as I don't really like Dolby Vision / HDR).

CEC still works and I control the Apple TV, TV and Okto with the Apple TV remote.

In order to get a stable platform for a semi-permanent setup I have the extractor mounted to the top of the RPi5 with standoffs.

View attachment 350457

I've been clocking the Okto directly from the extractor and it works well. I originally started with the TOSLINK output as shown in the above picture but have since moved to using the coaxial output for clocking. This results in the same number of boxes / power plugs as my previous setup which consisted of a HDMI to TOSLINK extractor + TOSLINK to coaxial converter, now replaced by the HDMI to I2S extractor + HDMI splitter. I could even get rid of one power plug if I power the HDMI to I2S extractor from the RPi5.

I am only using it with a stereo setup (LX mini + subs) and am doing 5.1 down mix in CamillaDSP. My sighted, biased impression is that dialog is clearer on movies with this setup compared to using the Apple TV for stereo down mix. At the very least being able to adjust the center channel level is helpful and you still have the option of switching to having the Apple TV down mix if needed.

Overall, Apple TV + HDMI to I2S extractor + u9 splitter + RPi5 seems like a very viable starting point for a DIY AVR replacement setup.

Michael

Unfortunately, after a month of using this setup I ran in to an issue. I was watching TV today and suddenly experienced a bunch of static, fortunately it seemed to be attenuated by the Okto volume control so it wasn't that loud.

Don't really understand what triggered it, my internet was being a bit flakey so I was getting stuttering video / audio which is the only thing I can think of. Maybe the Apple TV was sending something weird or was switching between stereo and multichannel PCM because of the internet issues.

Of course dealing with I2S is always a pain and it could be I need to play around with wiring, grounding and how it is all powered. I'll probably wait until a commercial or DIY HDMI input HAT is developed before trying this again.

Michael
 
Unfortunately, after a month of using this setup I ran in to an issue. I was watching TV today and suddenly experienced a bunch of static, fortunately it seemed to be attenuated by the Okto volume control so it wasn't that loud.

Don't really understand what triggered it, my internet was being a bit flakey so I was getting stuttering video / audio which is the only thing I can think of. Maybe the Apple TV was sending something weird or was switching between stereo and multichannel PCM because of the internet issues.

Of course dealing with I2S is always a pain and it could be I need to play around with wiring, grounding and how it is all powered. I'll probably wait until a commercial or DIY HDMI input HAT is developed before trying this again.

Michael
that is unfortunate, thanks for reporting.

(we should ask Henrik to create a static noise detector/filter for camilladsp)
 
Unfortunately, after a month of using this setup I ran in to an issue. I was watching TV today and suddenly experienced a bunch of static, fortunately it seemed to be attenuated by the Okto volume control so it wasn't that loud.

Don't really understand what triggered it, my internet was being a bit flakey so I was getting stuttering video / audio which is the only thing I can think of. Maybe the Apple TV was sending something weird or was switching between stereo and multichannel PCM because of the internet issues.

Of course dealing with I2S is always a pain and it could be I need to play around with wiring, grounding and how it is all powered. I'll probably wait until a commercial or DIY HDMI input HAT is developed before trying this again.

Michael
DIY HDMI input HAT Oh yeah that would be very Cool, Instand buy, i swear!!! but not for 1000€ ;)

Look here have also some Problems with HDMI.

https://audiosciencereview.com/forum/index.php?threads/rpi4-camilladsp-tutorial.29656/post-1903275

Robert
 
Back
Top Bottom