• 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!

ASR Open Source Streamer Project

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
Gadget mode is available on the Pi (zero and 4), and Ruslan's pending patches for the feedback endpoint have been tested on it. The reason it's not suitable is the I2S only supporting 2 channels.

Let me run through this again. Is there a stable, well working mainline kernel for RK3308? Where? Or was the gadget mode developed/ported to 4.x?
 

phofman

Senior Member
Joined
Apr 13, 2021
Messages
489
Likes
319
The only and best way is getting the board and trying. I would be surprised if there was a major issue with the latest kernel. Of course it will have to be (cross-)compiled and installed, maybe a bit configured, maybe some patches submitted for the particular use case. One cannot expect a 100% plug&play solution for any use case from the armbian team.

There are so many changes that I cannot see anyone porting to ancient 4.x kernels. The SBC must support the latest kernel.
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
I based my opinion on this: https://www.armbian.com/rockpi-s/
1620885038984.png
 

phofman

Senior Member
Joined
Apr 13, 2021
Messages
489
Likes
319
Well I guess then the issue should be taken with the radxa people, they should know the cause. Or for start it would make sense to use a board with more RAM, to avoid an issue like this. When some experience is gained, it may be possible to downgrade.

Or maybe it's some bootloader configuration, would need investigation. Or maybe asking this guy https://github.com/ayufan-rock64
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
Or for start it would make sense to use a board with more RAM, to avoid an issue like this. When some experience is gained, it may be possible to downgrade.
This. Best to avoid issues upfront. That's why I did not include it in the shortlist. When we have a working version with XMOS or Rock64, we can think about making it cheaper by using Rock Pi S and ironing out the issues.
 
Last edited:

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,682
Likes
2,962
Now I see what you mean by RPiS. A bit confusing :)
Fooled me too - I thought it was referring to the Raspberry Pi, hence the zero and 4 qualification in my reply.
Let me run through this again. Is there a stable, well working mainline kernel for RK3308? Where? Or was the gadget mode developed/ported to 4.x?
Gadget UAC2 has been around since way before 4.x, but without the feedback part that Ruslan's patches address. I'm not familiar with the other changes that might have happened since then, or how necessary they would be for this use case.
 

phofman

Senior Member
Joined
Apr 13, 2021
Messages
489
Likes
319
Last edited:

phofman

Senior Member
Joined
Apr 13, 2021
Messages
489
Likes
319
Do you have a 1.5MHz 24bit DAC? :) RPi4 I2S output slaved to external clock - 24bit sample (48bits per frame) @768kHz and 1,536kHz samplerates, square signal -144dB in one channel only, positive half-wave (i.e. all zeros but LSB=1). Only stereo though... :)
 

Attachments

  • NewFile3.png
    NewFile3.png
    39.8 KB · Views: 123
  • NewFile2.png
    NewFile2.png
    39.8 KB · Views: 126

phofman

Senior Member
Joined
Apr 13, 2021
Messages
489
Likes
319
sine 150kHz -6dB @768kHz samplerate, AK4493. Remains to test HW I2S loopback bit-perfection.
 

Attachments

  • NewFile4.png
    NewFile4.png
    40.5 KB · Views: 102

phofman

Senior Member
Joined
Apr 13, 2021
Messages
489
Likes
319
FYI: I2S out->in loopback (connected at the pinheader) verified to be bitpefrect at 1,024kHz/48bit frame width (= 49.152MHz bitclock). ARM64 is a pretty capable platform.
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
@phofman are you trying to tell us that RPi 4 is able to do 32bits x 8 channels x 192kHz in bit perfect mode using TDM?
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
I've just realized you were already writing about this, but good thing is I finally understood it, thanks!
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
How about Odroid N2(Plus) as a host (linux, 4.9 kernel) or as a USB Gadget (with a somewhat working 5.x kernel)? It has a rather well performing onboard DAC, nevertheless it still has an I2S on the board exposed through J7: https://wiki.odroid.com/odroid-n2/application_note/external_connector/7pin

The datasheet also says:
3 built-in TDM/PCM/I2S ports with TDM/PCM mode up to 384kHz x32bits x 8ch or 96kHz x 32bits x 32ch and I2S mode up to 384kHz x 32bits x 8ch

It's well supported and recommended by KODI (CoreElec using 4.9 kernel), Volumio.
Moode unfortunately requires Raspberry OS explicitly. I am not aware of it running on other OSes. Has it been ported perhaps?

Kernels with good GPU and other drivers are 4.9. But has a recent kernel too: https://forum.endeavouros.com/t/linux-odroid-is-in-the-aur/11415/20
Kernel wise slightly worse than the Rock*64 boards, but makes up with support from SW side.
 

bogart

Active Member
Forum Donor
Joined
Sep 10, 2019
Messages
248
Likes
304
How about Odroid N2(Plus) as a host (linux, 4.9 kernel) or as a USB Gadget (with a somewhat working 5.x kernel)? It has a rather well performing onboard DAC, nevertheless it still has an I2S on the board exposed through J7: https://wiki.odroid.com/odroid-n2/application_note/external_connector/7pin

The datasheet also says:


It's well supported and recommended by KODI (CoreElec using 4.9 kernel), Volumio.
Moode unfortunately requires Raspberry OS explicitly. I am not aware of it running on other OSes. Has it been ported perhaps?

Kernels with good GPU and other drivers are 4.9. But has a recent kernel too: https://forum.endeavouros.com/t/linux-odroid-is-in-the-aur/11415/20
Kernel wise slightly worse than the Rock*64 boards, but makes up with support from SW side.
If I’m not wrong I also see 2x onboard ADC’s on this device, which would give it potential capabilities for processing phono or line inputs. Not specified as audio per se but hopefully would be high enough performance to not mangle our records ;)

Edit: ignore this ^ just read the spec as 12 bit/1.8V so I suspect this is not useful for audio. Well. Maybe records :)
 
Last edited:

buz

Senior Member
Forum Donor
Joined
Dec 17, 2020
Messages
320
Likes
324
How about Odroid N2(Plus) as a host (linux, 4.9 kernel) or as a USB Gadget (with a somewhat working 5.x kernel)?

Massive overkill as USB gadget.

It's basically the fastest SoC this side of the (not really available in small volume) stuff that goes into phones and PCs/servers. Faster than some of those, even.
 

Kervel

Active Member
Forum Donor
Joined
May 20, 2019
Messages
112
Likes
139
Hi all, I have been following the thread only partially. Would another solution not be the following? Many of us use Roon. Can you use an Rpi4 as endpoint connected over USB to any four channel DAC+preamp, and tell Roon that channels 1 and 2 are highpassed L and R, while channel 3 is low passed mono for a 2.1 system? Then apply convolution filters to the three channels taken from REW? Honestly don't know whether this is currently feasible in Roon and haven't been able to find the answer.

Edit: it seems possible but requires a lot of tinkering: https://community.roonlabs.com/t/so...face-and-xo-in-a-f-a-s-t-configuration/139931
 
Last edited:
Top Bottom