• 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

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,754
Likes
3,053
Moode seems to be heading in that direction. The 12 band PEQ in the current 7.0.x version is implemented using a LADSPA plugin in the alsa config and can be configured via web gui. CamillaDSP integration is continuing, also with web gui. It's been mentioned on the forum that the PEQ, Crossfeed etc. could all be reimplemented in CamillaDSP which would get around the current either/or situation where you can have EQ or crossfeed, but not both. This would need some web gui work to make it as simple to use as it currently is. The foundations are there - it's "just" a matter of putting extra web gui bits in to do the bits we need to add. The devs there seem receptive so long as you're contributing code rather than making demands. I have some appreciation that getting the gui right may be harder than the foundations, but it's better than having to do both.

On the LMS/piCorePlayer side there are a few approaches. The various SuperPlayer versions are heading towards putting CamillaDSP and a web gui to configure it on the client end. You can find code on github and discussion at diyaudio. YPLD is working on putting CamillaDSP on the LogitechMediaServer end, similar to the abandoned(?) BrutefirDRC plugin used in Archimago's guide.

I haven't tried the Volumio brutefir plugin recently, but IIRC it was heading towards integrating one of the automated correction methods, and the developer was receptive to detailed bug reports.
 

bogart

Active Member
Forum Donor
Joined
Sep 10, 2019
Messages
251
Likes
312
But regardless of where in the chain we think things should be done, here are three of the features Amir specifically requested for this project:
[...]
4. Support for active speakers using software crossovers and multiple external DACs. Support for sub-woofer outputs using independent DAC or whatever is in RPi if it is any good. If not, some kind of low cost HAT DAC.
I think it is worth understanding the "so that" behind requirement #4. What makes the external DAC more valuable than integrated?
  • Permits reuse of existing equipment?
  • Permits selection to taste?
  • Permits extensibility?
I can accept the requirement at face value, but I think I'm missing the motivation for it.

To the earlier point, this is focused a lot on hardware, though it seems to be a bit of complication to the software to manage and coordinate potentially internal and external DACs (and potentially managing variable numbers of them). Just seeking to understand more of the background.
 

Koeitje

Major Contributor
Joined
Oct 10, 2019
Messages
2,306
Likes
3,965
Is Spotify Connect an option? That works flawlessly on all platforms I listen on and Spotify is going to introduce lossless streaming if it being lossy is an argument against it.
 

TimW

Major Contributor
Joined
Aug 15, 2018
Messages
1,065
Likes
1,407
Location
Seattle, WA
I think it is worth understanding the "so that" behind requirement #4. What makes the external DAC more valuable than integrated?
  • Permits reuse of existing equipment?
  • Permits selection to taste?
  • Permits extensibility?
I can accept the requirement at face value, but I think I'm missing the motivation for it.

To the earlier point, this is focused a lot on hardware, though it seems to be a bit of complication to the software to manage and coordinate potentially internal and external DACs (and potentially managing variable numbers of them). Just seeking to understand more of the background.
That is Amir's requirement so I can't say what his motivations were. But it does seem that they want this project to remain modular, so supporting many different DACs makes sense. Amir is also a big fan of excellence in engineering which is why he praises what he calls "instrument grade" DACs. I imagine he wants to see support for these SOTA devices.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,513
Likes
3,366
Location
Detroit, MI
I get the feeling the solution will have to be extremely modular to meet all requirements.

Suggestion: can we somehow split the project into a hardware and a software track? Obviously, the hardware will influence what software can be used (e.g. the Daphile doesn't support ARM processors), and vice-versa, but I after all the suggestions I would like to converge on a consensus on the basic platforms.
We might need more than two tracks, given the diversity of the requirements at the software level -- the actual streamer that needs to connect to the outside world to get the data, the classification and selection of the tracks, the digital signal processing etc.

@amirm, do we have a facility to store a common spreadsheet-like document where we could structure the information?

As evidenced by the Audiophonics solution, a miniSHARC would not be a bad building block for a modular system as it is relatively low cost ($185), has 8 channels of digital output, pretty flexible inputs and can do FIR filtering.

That being said I understand the desire to keep all processing in the RPi and as mentioned previously the miniSHARC would require a separate computer to configure (although a WI-DG would allow wireless configuration from a separate computer).

The other issue is that it only has I2S outputs which are not plug and play for most consumers but maybe the project could come up with some well thought out options to make this relatively pain free. For example a clock buffer + WM8805 I2S to SPDIF/TOSLINK/AES board option for folks that want to use external DACs and a clock buffer + I2S DAC option for those that want internal DACs. You could scale the solution depending on how many channels of output you needed (up to 8 channels). The biggest issue would be coming up with a good clock buffer. IanCanada's McFIFO / McDualXO works well but it is not cheap ($275) and will add a minimum of 100 ms of delay which is not good for applications requiring audio/video sync.

Michael
 

bogart

Active Member
Forum Donor
Joined
Sep 10, 2019
Messages
251
Likes
312
That is Amir's requirement so I can't say what his motivations were. But it does seem that they want this project to remain modular, so supporting many different DACs makes sense. Amir is also a big fan of excellence in engineering which is why he praises what he calls "instrument grade" DACs. I imagine he wants to see support for these SOTA devices.
Fully agree with your intuition on why; perhaps just thinking it's worth confirmation since there are (likely) trade-offs between hardware modularity and software complexity.
 

Thomas savage

Grand Contributor
The Watchman
Forum Donor
Joined
Feb 24, 2016
Messages
10,260
Likes
16,305
Location
uk, taunton
It would be great if this thing could work for idiots but also provide a gateway to learning like the old BBC computers.

So a functional instrument that dosnt exclude anyone but can be taken further with the support of the community ton help that process .

Modern digital music offers everything a audio enthusiast would want but there sometimes is fear in the unknown and learning .

Removing that fear and being assessable to novice and pro alike would be wonderful.
 

dc655321

Major Contributor
Joined
Mar 4, 2018
Messages
1,597
Likes
2,235
Doesn't the miniSHARC have a very limited number of taps available for FIR filtering? If so, low frequency FIR capability (eg: subwoofer xover, room correction, etc) may not be adequate.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,513
Likes
3,366
Location
Detroit, MI
Doesn't the miniSHARC have a very limited number of taps available for FIR filtering? If so, low frequency FIR capability (eg: subwoofer xover, room correction, etc) may not be adequate.

Yes, relatively low. 9600 taps at 48 kHz for 8 channel applications (2048 taps max per channel) and 12288 taps @ 48 kHz for 2 channel applications. You definitely are not going to be able to do a linear phase brick wall sub crossover but something like a 4th order linear phase crossover at 60 Hz is achievable.

The miniSHARC is the underlying DSP used in the DDRC-22D, DDRC-88A and DDRC-88D so it definitely can do room correction.

Michael
 
Last edited:

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,397
Likes
18,350
Location
Netherlands
Yes, relatively low. 9600 taps at 48 kHz for 8 channel applications (2048 taps max per channel) and 12288 taps @ 48 kHz for 2 channel applications. You definitely are not going to be able to do a linear phase brick wall sub crossover but something like a 4th order linear phase crossover at 60 Hz is achievable.

The miniSHARC is the underlying DSP used in the DDRC-22D, DDRC-88A and DDRC-88D so it is definitely can do room correction.

Michael

CamillaDSP can run 8 channels 96kHz with 65k taps on a PI4. I’d say: no need for a hardware DSP… says the guy with hardware DSP HAT :facepalm:
 

dc655321

Major Contributor
Joined
Mar 4, 2018
Messages
1,597
Likes
2,235
CamillaDSP can run 8 channels 96kHz with 65k taps on a PI4. I’d say: no need for a hardware DSP

I'm a bit more jaded - imo, a hardware dsp is a liability here, with respect to development environment and capability.
I managed to achieve sub-millisecond conversions for 64-ktap filters at 44.1kHz on a bog-standard i5 laptop.

something like a 4th order linear phase crossover at 60 Hz is achievable.

Is a filter resolution is of ~23Hz (48kHz / 2048 taps) adequate in that example though?
lr4_60hz_2048taps.png


The miniSHARC is the underlying DSP used in the DDRC-22D, DDRC-88A and DDRC-88D so it is definitely can do room correction.

Do you know if IIR is perhaps used in the case of room correction there, instead of FIR? Maybe a mix?
Just curious...
 

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,397
Likes
18,350
Location
Netherlands
Do you know if IIR is perhaps used in the case of room correction there, instead of FIR? Maybe a mix?

If you buy the Dirac version, it is definitely a hybrid. It has only about 26ms propagation. That is about 1200 taps, probably a bit less.
 

TimW

Major Contributor
Joined
Aug 15, 2018
Messages
1,065
Likes
1,407
Location
Seattle, WA
CamillaDSP can run 8 channels 96kHz with 65k taps on a PI4.
So how hard do you think it would be to get this working with an external DAC and an easy to use interface? Is there a graphical user interface for CamillaDSP?
 

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,397
Likes
18,350
Location
Netherlands
So how hard do you think it would be to get this working with an external DAC and an easy to use interface? Is there a graphical user interface for CamillaDSP?
There is a web interface in the works. Basics are already working as far as I could gather. The fir engine is quite portable, so possibly some more performance could be squeezed out. As for external DAC: any Linux compatible multi channel USB interface would work.
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,513
Likes
3,366
Location
Detroit, MI
I'm a bit more jaded - imo, a hardware dsp is a liability here, with respect to development environment and capability.
I managed to achieve sub-millisecond conversions for 64-ktap filters at 44.1kHz on a bog-standard i5 laptop.



Is a filter resolution is of ~23Hz (48kHz / 2048 taps) adequate in that example though?
View attachment 115886



Do you know if IIR is perhaps used in the case of room correction there, instead of FIR? Maybe a mix?
Just curious...

As you allude to you can do way better if you mix IIR / FIR. Here is an example showing phase and magnitude response of a 60 Hz LR4 LPF with 2048 taps from a miniSHARC using a IIR LPF with a FIR reverse APF to linearize phase. Magnitude response is perfect and phase response only has a few minor squiggles.

I understand the extra processing power of software DSP and would love if this project could make something user friendly with tons of processing power. That being said I am perfectly happy with my miniSHARC based streamer today :).

Michael
LPF LR4 60 Hz Magnitude.png
LPF LR4 60 Hz Phase.png
 

TimW

Major Contributor
Joined
Aug 15, 2018
Messages
1,065
Likes
1,407
Location
Seattle, WA
There is a web interface in the works. Basics are already working as far as I could gather. The fir engine is quite portable, so possibly some more performance could be squeezed out. As for external DAC: any Linux compatible multi channel USB interface would work.
Where can I learn more about this? diyaudio?
 

gingerbeer

Member
Joined
Jun 30, 2018
Messages
33
Likes
44
Fully agree with your intuition on why; perhaps just thinking it's worth confirmation since there are (likely) trade-offs between hardware modularity and software complexity.
I think it is worth understanding the "so that" behind requirement #4. What makes the external DAC more valuable than integrated?
  • Permits reuse of existing equipment?
  • Permits selection to taste?
  • Permits extensibility?
I can accept the requirement at face value, but I think I'm missing the motivation for it.

To the earlier point, this is focused a lot on hardware, though it seems to be a bit of complication to the software to manage and coordinate potentially internal and external DACs (and potentially managing variable numbers of them). Just seeking to understand more of the background.

Point #4 is the primary reason for my great interest in this project. I have a RPi and a couple of old DACS already, so I can build a great 2 way active with the spare parts I already have. Then in the future it can go 3 or 4 way and just plug in another USB DAC and more amplification.

Two channel DACs are mature, commonplace and great performance is already available at a low price.

Integrating room correction and active cross overs are the opposite - expensive and limited good options available - if this can be done on the RPi then it becomes exponentially more accessible. CamillaDSP already supports Rpi, other Linux, OSX and Windows and as software can always be upgraded.
 
Top Bottom