I'm interested in getting feedback for a project, namely building an
audio interface, with the goal of creating freely available schematics
and code required. Hence, an Open Sound Interface.
Once I've heard from all those interested, we may want to migrate the
discussion to another development oriented list such as the
linux-audio-dev list to work out nitty-gritty technical details. For
now, it's enough just to gauge interest and deal with planning issues.
The concept is to create a modular and scalable system that allows
users to create a sound interface with an arbitrary number of
Goals of the system:
1. low latency
2. isolate design considerations
3. abstraction of data transport types
4. flexibility of adc/dac/preamp combinations
5. no unnecessary features--keep it lean; niche features can be added
in by those interested
My idea for how to do it, and components/tasks to design:
1. Modules for dac and adc with on-board identifiers (mixed-signal design)
2. A FPGA-based programmable system board with connectors for
respective modules (high-frequency circuit design)
3. FPGA code for buffers, clocks, and device discovery (VHDL/Verilog
4. Data transport modules (FPGA code plus hardware design), could be
USB, FW, ETH, PCI, wireless, etc...
5. Kernel modules for each type of transport (software design)
6. Power supplies (not especially difficult, but tough to find
off-the-shelf components to meet specs)
What I'm doing:
studying VHDL coding and preparing to test I2C/SPI dacs on a Digilent
Basys-2 board with breadboards (maybe over a few months)
studying high frequency electronics design
This sort of problem would take a good team to do well. There's room
for many levels of software/hardware expertise, especially those who
understand linux audio kernel modules (design for many parts of the
system depend on capabilities to design for).
It may be a chore, but some kind of organization and design documents
will be needed. All the components are inter-related: it takes a
combination of top-down (whole system) and bottom-up (per module)
considerations to build a complete design.
Any feedback, insights, practical considerations, and reasonable
expectations for taking a complex project like this to completion
would be welcome.
Linux-audio-user mailing list