I like this look better but I am not always a part the majority when it comes to things like this.
Ah so it is going to be node based, niceOf course, because otherwise anybody could just mess with it if it's on a shared network.
Here is a mockup of the home screen:
View attachment 412468
Any thoughts on it?
This is actually the biggest problem with the Duo S, it looks like multichannel might be "womp womp" but there is in fact a USB port driven by its single USB controller. I'm hoping that once this initial model gets off the ground, I can make a "plus" version with a better SoC and multichannel support.Looking at the https://milkv.io/duo-s - I could not find any I2S for multichannel audio HW I/O, any USB-device HW for a USB DSP box.
USB host port is quite common. However IMO a DSP device should have a USB device port (as handled by linux usb gadget drivers) , so that it can be easily connected to any USB host providing the data for DSP.but there is in fact a USB port driven by its single USB controller.
Why would that be better?This setup is basically pushing the Duo S to the limit but is still better than miniDSP's cheapest option!
You still have to use that total rat clown SigmaStudio piece of garbaj which is a total nonstarter for people like me who hate fussy proprietary Windows-only junk, AND you still need to make a case to hold it in!Why would that be better?
Cheaper yes, but so is a Tinysine (20-40$). Only missing digital out, but not so much because of price, but probably because of little customer interest.
Well the case is necessary anyway and about the price of a finished product, we will see. The tiny sine is already there and it is already low cost. MiniDSP is not the reference.You still have to use that rat clown SigmaStudio software which is a total nonstarter for people like me who hate fussy proprietary Windows-only junk, AND you still need to make a case.
Or using a single SoC with all the features inside, controlled by the linux kernel - that's what I would call a simple low cost Such SoCs have been commonly available for a number of years. Personally I have no problem with ARM, thus no problem with such very inexpensive SoCs.I see what you mean, but it's possible to have that and a host port in this case by connecting a USB -> I2S chip and simply using that as the "device" that your host sees. That would unfortunately take up a full I2S slot of which there are only 2, so the input would need to be switchable to support both optical and USB in while retaining an I2S output.
Building a new DSP from scratch with only two output channels seems a bit limited to me, to be honest.How about this?
Inputs:
- stereo analog in (through built in ADC)
- switchable stereo optical/USB in
Outputs:
- stereo analog out (through built in DAC)
- stereo optical and analog out (duplicated)
I have been thinking about such a USB audio filter for a while. Mirrorring controls of any DAC is actually quite non-trivial. Often these devices do not follow the UAC2 standard (which is in some parts not strictly defined) and quirks in the driver are required for the specific device (as easily seen in the linux uac driver). Then there are non-uac2 functions of the DACs, like special modes for firmware upload - that is very difficult to make universal. But just passing standard features like volume should be quite viable. Although the question is why the DAC should handle volume better than the DSP itself when vast majority of the DACs use digital volume anyway...The USB device exposed on IN should look almost exactly like the DAC. To wit, any requests that are not audio to be played should be forwarded to the OUT, and responses returned back to IN. For example, if the host (connected to IN) tries to adjust volume, or balance, or update the settings on my DAC, then that should continue to Just Work. Or, when the host connected to IN is querying the capabilities of what it thinks is a DAC, then it should be talking to the DAC, through you.
Check this one out: https://docs.banana-pi.org/en/BPI-F3/BananaPi_BPI-F3 It's a lot more expensive though.Or using a single SoC with all the features inside, controlled by the linux kernel - that's what I would call a simple low cost Such SoCs have been commonly available for a number of years. Personally I have no problem with ARM, thus no problem with such very inexpensive SoCs.
Yes, there are a number of options for a standalone USB UAC2 -> I2S receiver - these ancient 16bit ones, STM32 projects discussed on diyaudio.com, XMOS/Savitec/ComTrue/CMedia chips, etc. etc. But they add HW cost and complexity to a presumably low-cost DSP. Also, if they are to be part of some DSP bridge, their USB configuration/features reported to the USB host must be fully under control of the DSP controller which is either impossible or very complicated with these standalone chips, unlike a linux kernel module.Check out this datasheet for a potential USB input candidate:
Yes, that's a full-blown SoC with RISC-V instead of ARM, why not. Honestly I personally do not see any advantage of limiting the options to RISC-V when these peripherals for a real-world audio DSP are necessary and comparably-equipped ARM SoCs are easier to source, cheaper, and very likely better supported in linux. But that's just my view.Check this one out: https://docs.banana-pi.org/en/BPI-F3/BananaPi_BPI-F3 It's a lot more expensive though.
I have been thinking about such a USB audio filter for a while. Mirrorring controls of any DAC is actually quite non-trivial. Often these devices do not follow the UAC2 standard (which is in some parts not strictly defined) and quirks in the driver are required for the specific device (as easily seen in the linux uac driver). Then there are non-uac2 functions of the DACs, like special modes for firmware upload - that is very difficult to make universal. But just passing standard features like volume should be quite viable. Although the question is why the DAC should handle volume better than the DSP itself when vast majority of the DACs use digital volume anyway...
Nevertheless the first step in implementation in linux is adding multiple alternate settings to the UAC2 gadget, which still has a long way to go to the mainline https://patchwork.kernel.org/project/linux-usb/list/?series=893626&state=*
It's a very logical expectation. Yet AFAIK no such device, even just a simple USB DSP filter with configurable input samplerates and channel combinations, is on the market. Far from passing proprietary protocols further downstream I can imagine the DSP getting in way of the UAC2 protocol/function and just passing all the other functions (HID, mass storage, etc.).Let's say I want to send a command to change the color of the display on the DAC. The filter shouldn't know these things, instead just pass them along silently.