• 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

Skeptischism

Active Member
Joined
Sep 6, 2019
Messages
229
Likes
124
regarding ODROID, it has no multichannel i2s. if you look at the pinout on the odroid connector that they rather strangely claim contains multichannel i2s (J7) it is a 7 pin connector that only has 2 channel i2s, GND, +5V and spdif. 7 pins isnt enough for 8 channels i2s, even if they wanted to (you need minimum 10 for that and that's without mclk, spdif, 5v, or GND). it seems perhaps someone on the DEV team wanted it to have 8 channel so much they said it did, but it doesnt :). It doesnt give a lot of hope for the platform when they cant even get that right and the information is left there since 2018 without being corrected. I thought it was strange that nobody knew it had 8 ch i2s. there is an outside chance it contains multiplexed TDM (but certainly not at those speeds), but its much more likely someone just screwed up and just pulled those numbers from their ass,. The SoC supports it I believe, but no dice exposing it on the odroid. I found this, which contains a bit of handwaving, ending in 'no, but you are free to try and make multiplexed TDM work yourself if you wish'. TDM input on DAC chips is fairly rare, its doable with an FPGA, or dedicated receiver chip, but is it worth the trouble?
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
The SoC supports it I believe, but no dice exposing it on the odroid. I found this, which contains a bit of handwaving, ending in 'no,
Now that you mention it, I remember reading that thread, but forgot about it. So thanks for the double-check, we can drop the Odroid N2+ board too.
 

Skeptischism

Active Member
Joined
Sep 6, 2019
Messages
229
Likes
124
Just to prove its a happening thing :) soz, really have been a bit waylaid when it comes to quality time to spend on this, plus, as you can see I started adding the buffers and got a bit carried away with the idea of having it on all channels, just as a nice to have, but will do finished layout without too. Just showing you its taking shape. power for the buffers (+/-8-9VDC) will be fed directly from the preregulator stage, as PSRR is pretty high. the PCB is 100 x 100mm 4 layer for first spin, moving to 6 for the main board to clean up some grounding and power plane, as well as routing for all isolated control signals etc. will adjust spacing and give a bit more room if need be to 100mm x 125mm. the whole layout needs a little more breathing space with the buffers and those arent the intended output connectors (nor placement).

thinking i'm going to use FPC to connect to an output board, which need only be 2 layer, similar to the i2s input connector (at top). a total of 9 regulators so far, with a couple small commodity LDOs for plain jane digital and housekeeping circuits.

the i2s input connector was just hooked up by means of illustration and working with space/placement, without any kind of thought towards termination or trace length, nor impedance matching. the clock input and circuit and trace width is calculated to be about right for 4 layer depending on pre-preg/stackup etc.
 

Attachments

  • 8_channel_9028_2021-05-25_23.39.04.jpg
    8_channel_9028_2021-05-25_23.39.04.jpg
    381.4 KB · Views: 285
Last edited:

Skeptischism

Active Member
Joined
Sep 6, 2019
Messages
229
Likes
124
Taking an RDO to work on this this week, so should make some good progress this weekend.
 

thefsb

Addicted to Fun and Learning
Joined
Nov 2, 2019
Messages
796
Likes
657
I'd call it: YAPS - Yet Another Pi Streamer ;)
We could do with another. I didn't find something that I like among those out there.

So I use my own configs of upmpdcli on Raspbian for the renderers, Minim Server and Samba on the media server, and BubbleUPnP for control. I don't especially like having to maintain these configs so if someone, e.g. ASR, would make a Pi Streamer image that suits me, that would be real swell.

Btw, BubbleUPnP is great. I'd suggest making a requirement in this project of supporting it as a controller.
 

Rick Sykora

Major Contributor
Forum Donor
Joined
Jan 14, 2020
Messages
3,514
Likes
7,026
Location
Stow, Ohio USA
Hi folks,

Been doing some catchup on the good efforts here and am writing because I think we are closing in on a good point to sync with the Directiva project.

I will also share that have not heard from @StefaanE in a while and his last response indicated some family health issues. Hope he is making headway on that key front, but feel we should move forward. I wish him and his family well and fully support that priority!

As this thread has focused on technical implementation, I plan to use the overall open source project thread for coordination discussions. Please join me there if you are interested.

Thanks,

Rick
 

Skeptischism

Active Member
Joined
Sep 6, 2019
Messages
229
Likes
124
Somebody doesnt want me to do this design. every single major IC I designed into this board has been bought out everywhere, 1 by one. first the 9038PRO, then after deciding the 9028PRO was more suitable for this build anyway, as the huge output current of the 9038PRO makes quite a few restrictions on the design and adds considerable cost to do it properly, for zero audible benefit vs 9028 and the 9028 appears to be tuned for SNR over THD (which is more important to us with digital XO) anyway. after that, as i'm about to buy, someone buys the last 5 mouser pieces till july. then the FDA i'm using .... then the xmos I wanted sold out too. ... anyway, we managed to secure enough XMOS for protos to get us by testing until july and after hitting buy on my mouser cart and finding the 50 pieces of FDA were all gone, as well as at digikey and E14. I went ahead and made a one off order direct from Ti. so july isnt far now anyway and the PCBs will take a few weeks till they get here, so wont be such a big deal. I wangled a couple pieces 9028, so everything can keep moving.
 

Skeptischism

Active Member
Joined
Sep 6, 2019
Messages
229
Likes
124
But I had a bit of a breakdown when I saw all the FDA were sold out everywhere too...
 

Dougey_Jones

Addicted to Fun and Learning
Forum Donor
Joined
May 27, 2020
Messages
552
Likes
460
Will someone be maintaining a preorder list for people who want to get one of these when the design is finalized and production begins?
 

Rick Sykora

Major Contributor
Forum Donor
Joined
Jan 14, 2020
Messages
3,514
Likes
7,026
Location
Stow, Ohio USA
Will someone be maintaining a preorder list for people who want to get one of these when the design is finalized and production begins?

Sure, we need to finalize the streamer first and work out build plans as yet. With Stefaan out, am working to backfill rn.
 
Last edited:

Evozero

Member
Joined
Dec 9, 2019
Messages
18
Likes
17
Hi All,
Really enjoying this thread and the possibilities for the ASR streamer, thanks for the interesting project.
In preparation I have started trying out Moode & Camilla DSP.
All is working in respect of functionality using my Mac/Umik/REW to MMM Measure and create filters for PI4 running Moode / camillaDSP however the results always sound worse than no filters.
It must be my method and lack of understanding not the tech!

It made me think how useful to new users of DSP / microphones / measuring, if there was an ASR tool kit front end that would assist setup of room correction.
Maybe utilising PI4, Moode,Umik,REW,CamillaDSP with prompts to test channels and phase before measuring and creating filters, adding room curves, adding a sub etc.
Would allow people like me to get to grips with the process and achieve better results once the ASR Streamer hardware is available.
Any thoughts?

Cheers
Ian
 

Marc v E

Major Contributor
Joined
Mar 9, 2021
Messages
1,106
Likes
1,606
Location
The Netherlands (Holland)
Hi All,
Really enjoying this thread and the possibilities for the ASR streamer, thanks for the interesting project.
In preparation I have started trying out Moode & Camilla DSP.
All is working in respect of functionality using my Mac/Umik/REW to MMM Measure and create filters for PI4 running Moode / camillaDSP however the results always sound worse than no filters.
It must be my method and lack of understanding not the tech!

It made me think how useful to new users of DSP / microphones / measuring, if there was an ASR tool kit front end that would assist setup of room correction.
Maybe utilising PI4, Moode,Umik,REW,CamillaDSP with prompts to test channels and phase before measuring and creating filters, adding room curves, adding a sub etc.
Would allow people like me to get to grips with the process and achieve better results once the ASR Streamer hardware is available.
Any thoughts?

Cheers
Ian
Best is to start a seperate thread and post your graphs before and after. That way people with more experience can see what you're doing.

By the way: I have just ordered a umik-1, so will post my results and thoughts too.
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
Had a very fruitful chat with @amirm. The key takeaways are the following (and I hope i relay them unaltered):

He is OK with using Moode as a baseline.
At the same time he'd like the end result be a plug & play solution (basically an OS image/distribution), without any manual installation steps over SSH, etc. This is important. Moode OS already fulfills this, with the notable exception of RoonBridge, as their T&Cs forbids including their binaries in any 'other' program (or OS image). Roopie solved this with some clever automated 'post-install' steps.

AMIR would also like to see a display attached to the streamer showing either a VU meter (to be able to recognize highly compressed sources or bad mixing, clipping in the digital space) and/or a spectrum analyzer - both working in real time. Under real-time we understand latencies that are considered being under lip-sync thresholds.

This means we need volunteers for:
  1. Developing the spectrum analyzer and VU visualization SW. This includes picking a suitable, fast display for RPi and figuring out the the best point to hook up the stream monitoring code to send output to the (non HDMI) display. Keep in mind we want to use CamillaDSP, thus ideally, we want to visualize the stream that was already altered by CamillaDSP.
  2. Creating and maintaining an OS image. Using Moode OS as a starting point appears to be the easiest at the moment. We can either do a complete fork, or build on it in a modular way using some kind of build hooks and post-install hooks to:
    1. Install RoonBridge during first start, without including the binary in the image itself. If we do it on top of Moode OS, Tim Curtis from Moode welcomes such PRs.
    2. add support for the display,
    3. support for anything else we decide to enhance this streamer later on.

If anyone feels like contributing in these areas (or even others), please drop a note here.

PS: If a brave soul is willing to face the challenge of porting the necessary SW and components to a different base OS or rolling distro like arch/manjaro arm64, he's welcome to submit his proposal.
 

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,223
Likes
17,799
Location
Netherlands
I think the way this is going it will slowly self destruct. 26 pages of people having all kinds of ideas, requests, proposals and even some actual designing going on, but no actions have been taken to make any consolidation and try to get some community consensus on anything. Now we get some more specs handed down from “upper management”. Frankly, I really don’t think that this is a constructive way to get anything done.
 

notabenem

Active Member
Joined
Mar 1, 2021
Messages
183
Likes
118
I think the way this is going it will slowly self destruct. 26 pages of people having all kinds of ideas, requests, proposals and even some actual designing going on, but no actions have been taken to make any consolidation and try to get some community consensus on anything. Now we get some more specs handed down from “upper management”. Frankly, I really don’t think that this is a constructive way to get anything done.

It may very well seem like that but I am positive we made several agreements (most of them in #478). Even at this point i don't think any of those is invalidated, but rather built upon.

Do you have any specific proposals how to make this more constructive?
 

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,223
Likes
17,799
Location
Netherlands
It may very well seem like that but I am positive we made several agreements (most of them in #478). Even at this point i don't think any of those is invalidated, but rather built upon.

You just invalidated the VU meter one at least, which is listed under “don’t”.

Do you have any specific proposals how to make this more constructive?
There’s gonna be a bit of incoherent rambling, but let’s try:

Well, first of, finding the things “agreed upon” (who actually agreed, was it validated that these are indeed the most relevant points?) in some random post is not very helpful. Updating the first post with the most current Information would be very helpful. Possibly Amir could somehow make you the topic starter so you can edit the post?

I also still think it’s a major flaw not to define a budget. If you don’t know what your in for, you’d less compelled to actually contribute. It’s also a driver for innovative thinking. It’s very easy designing things with an unlimited budget.

What would be good is a easily accessible total overview of the project, tasks, goals, timelines, needs, wants. That will make it much easier to chip in.

I’m also missing the design rationale. Why do we want a,b,c, but not x,y,z? One could make some user stories for that in the form: “as user x I want y because of z”.. this way you keep away from specific implementation details, and leave more room for creative thinking. Now I’m not saying there hasn’t been any creative thinking already, but this will streamline it better and also delivers clear goals.

Next up, create smart requirements based upon these user stories. This will really help contain the scope of the project. These can then be used in the design and POC phases, which will eventually lead to a decent product (or in this case multiple)(hopefully).

Now I really feel a lot of steps were skipped, are missing or are incomplete, leading to people jumping ship that might otherwise be useful.
 

Rick Sykora

Major Contributor
Forum Donor
Joined
Jan 14, 2020
Messages
3,514
Likes
7,026
Location
Stow, Ohio USA
It may very well seem like that but I am positive we made several agreements (most of them in #478). Even at this point i don't think any of those is invalidated, but rather built upon.

Do you have any specific proposals how to make this more constructive?

Thanks for picking up and helping with this project! :D

It was unfortunate that we had a gap in leadership, but agree that no major aspect of the requirements have changed. If anything, it accelerated faster than I expected and am still catching up. So, if anyone is at fault, it is me. So send the complaints my way. If Amir wants, he can reduce my pay too! ;)
 

Rick Sykora

Major Contributor
Forum Donor
Joined
Jan 14, 2020
Messages
3,514
Likes
7,026
Location
Stow, Ohio USA
You just invalidated the VU meter one at least, which is listed under “don’t”.


There’s gonna be a bit of incoherent rambling, but let’s try:

Well, first of, finding the things “agreed upon” (who actually agreed, was it validated that these are indeed the most relevant points?) in some random post is not very helpful. Updating the first post with the most current Information would be very helpful. Possibly Amir could somehow make you the topic starter so you can edit the post?

I also still think it’s a major flaw not to define a budget. If you don’t know what your in for, you’d less compelled to actually contribute. It’s also a driver for innovative thinking. It’s very easy designing things with an unlimited budget.

What would be good is a easily accessible total overview of the project, tasks, goals, timelines, needs, wants. That will make it much easier to chip in.

I’m also missing the design rationale. Why do we want a,b,c, but not x,y,z? One could make some user stories for that in the form: “as user x I want y because of z”.. this way you keep away from specific implementation details, and leave more room for creative thinking. Now I’m not saying there hasn’t been any creative thinking already, but this will streamline it better and also delivers clear goals.

Next up, create smart requirements based upon these user stories. This will really help contain the scope of the project. These can then be used in the design and POC phases, which will eventually lead to a decent product (or in this case multiple)(hopefully).

Now I really feel a lot of steps were skipped, are missing or are incomplete, leading to people jumping ship that might otherwise be useful.

Agree that the project needs better goal definition and structure. Very sure it is not staffed to do a full blown agile infrastructure. As it is a volunteer effort, it needs more volunteers or it will struggle even more.

I get the frustration but we just did a review and @notabenem shared the updated goals. Am still thinking there are at least 2 deliverables at this point. A basic streamer and a more premium one. To the point about a budget, message received and will take that action item.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,682
Likes
2,959
CamillaDSP exposes peak and rms levels for input and output channels on a network socket. Moode already supports at least the Pi 7" touchscreen for the interface, which is the web interface running inside a local browser. Is the meter expected to be part of the main page, or something you would navigate to if you wanted to check things?

I guess the thing to do if you're interested in implementing any of these things is to start a thread on the Moode forum, and if it goes anywhere open a feature request and/or pull request.
 
Top Bottom