Author Topic: Open-source Audio DSP shield idea!  (Read 11658 times)

0 Members and 1 Guest are viewing this topic.

Offline mikefatomTopic starter

  • Contributor
  • Posts: 13
Open-source Audio DSP shield idea!
« on: November 29, 2013, 03:34:15 am »
Hi everyone,

This is my first post so I hope that this doesn't come out as too forthright or undiplomatic.  I have been reading this forum for quite some time now and I'm a big fan of the EEVBlog.  I have never had much to contribute here until now. :)

Background:  I am a EE with an interest in audio.  I am currently employed by a fairly large manufacturer of professional audio equipment (power amps, powered speakers, mixers, etc..).  We have been using the SigmaDSP line of chips from Analog Devices for a few years now.  These chips are embedded in some of our products and take care of things such as limiting, EQing, filtering, etc.  Although my main gig is the electronics manufacturing aspect of the company, I have recently started to get involved with product development and got my hands on an evaluation board for the ADAU1701 SigmaDSP and SigmaStudio.  I am investigating the possibility of using that particular chip in a new product design.

SigmaDSP and SigmaStudio:  I would consider myself a noob when it comes to DSP coding (I have never done it).  My experience with embedded systems is with the usual PIC, AVR, ARM micros.  With that said, I was thoroughly impressed by the (FREE!) SigmaStudio Graphical Development Tool interface and how easy it is to create "code" for the DSP.  Being able to simply grab some graphical blocks and string them together to create a signal processing path is a huge time-saver for a beginner like myself!  It makes DSP seem easy.

This made me ponder on the idea of creating a real DSP shield for the Arduino platform.  Although some such solutions already exist, none of them are particularly easy to use for beginners.  They also lack power (because they rely on the AVR to do the heavy lifting) or are simply not flexible enough for anything more than basic algorithms.  My hope is that this new shield would allow hobbyist and inquisitive minds to toy around with a 'real' DSP, giving them access to all the good stuff that comes along with that.

Preliminary Design Idea:  This new DSP shield would integrate an ADAU1701 and interface with an Arduino via I2C for loading the DSP code (upon boot-up) and updating coefficients (i.e. parameters) in real-time.  It would also work stand-alone if required, with an EEPROM on-board to run the shield in self-boot mode.  The shield would utilize the ADAU1701's built-in ADC/DACs.  That means 2 ADC channels and 4 DAC channels, giving us one stereo input and two stereo outputs, all on 3.5mm jacks.   A breakdown of the main features are as follow:

- Minimal design to reduce build cost
- Shield or stand-alone operation
- On-board EEPROM for stand-alone operation (self-boot)
- All GPIO pins broken out to a header for experimentation
- GPIO pins can be configured for I2S I/O or user-interface I/O (pots, buttons, leds, ...)
- Stereo input via 3.5mm jack to the DSP's ADC
- Two Stereo outputs via 3.5mm jacks from the DSP's DACs
- The two stereo outputs will be able to drive 16 ohm headphones directly (via two LM4808)
- External power connector
- USBi port for connecting to ADI's own EVAL-ADUSB2EBZ.  This would enable real-time tweaking of all parameters from within Sigma Studio
- Open Source (of course!)


Why I am posting this here:  To open a constructive discussion with potential users of this shield.  I would be grateful for some ideas on refining the feature set and design.  Any comment is helpful.  I want this to be as useful as possible to as many people as possible.  Also, if you have any experience with the SigmaDSP chips and can point out the "traps for young players", please share. :)  I am sure that some of you will have questions (I certainly did not cover everything in this post) so please ask away.

Although I am mainly an Altium user, I will be doing the design in Eagle to keep things as accessible as possible.  This will add quite a bit of time to the project since I have to learn a new tool from scratch.  I hear that Eagle has a steep learning curve... :(  Any links to some good tutorials are appreciated.

If this project goes somewhere, I will consider doing a batch of boards and possibly putting it on kickstarter to make this commercially available.

Any feedback is welcome!

Thanks,

Mike
« Last Edit: November 29, 2013, 03:36:02 am by mikefatom »
 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6693
  • Country: nl
Re: Open-source Audio DSP shield idea!
« Reply #1 on: December 03, 2013, 12:05:35 am »
Those ICs are so incredibly limited ... why not use something based on C6000? TI supplies a free graphical programming environment for that :

http://www.ti.com/tool/c6flo-dsptool
 

Offline mikefatomTopic starter

  • Contributor
  • Posts: 13
Re: Open-source Audio DSP shield idea!
« Reply #2 on: December 04, 2013, 12:52:50 am »
The ADAU1701 is more than enough for any beginner looking to play with a DSP for audio.
The C6000 on the other hand is more general purpose (complex), more expensive and the c6flo graphical tool is no longer under development by TI.  Doesn't seem like a good choice to me for the hobbyist.  Especially when the said hobbyist is coming from the Arduino platform.
 

Offline apelly

  • Supporter
  • ****
  • Posts: 1061
  • Country: nz
  • Probe
Re: Open-source Audio DSP shield idea!
« Reply #3 on: December 04, 2013, 01:18:49 am »
Although I am mainly an Altium user, I will be doing the design in Eagle to keep things as accessible as possible.  This will add quite a bit of time to the project since I have to learn a new tool from scratch.  I hear that Eagle has a steep learning curve... :(  Any links to some good tutorials are appreciated.

Please consider KiCad, which is actually open, if less popular.
 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6693
  • Country: nl
Re: Open-source Audio DSP shield idea!
« Reply #4 on: December 04, 2013, 08:35:20 pm »
The ADAU1701 is more than enough for any beginner looking to play with a DSP for audio.
The C6000 on the other hand is more general purpose (complex), more expensive and the c6flo graphical tool is no longer under development by TI.  Doesn't seem like a good choice to me for the hobbyist.  Especially when the said hobbyist is coming from the Arduino platform.
It's enough to make yet another cross over box I guess ... ehh, boring. Any way ... did you notice that someone is doing a similar project using the ADAU1701 for Raspberry Pi? (They use Kicad BTW.)

http://www.crazy-audio.com/tag/dsp/
« Last Edit: December 04, 2013, 09:46:23 pm by Marco »
 

Offline Harvs

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: Open-source Audio DSP shield idea!
« Reply #5 on: December 05, 2013, 08:14:37 am »
It's enough to make yet another cross over box I guess ... ehh, boring.

Sounds like something that would be really useful to drop into my home build amps to replace the old analog crossover circuits (that really need re-tuning for new speakers.)  Obviously you're saying this sort of thing is already widespread.  Could you name a couple of decent flexible boards that are reasonably priced?
 

Online EEVblog

  • Administrator
  • *****
  • Posts: 37661
  • Country: au
    • EEVblog
Re: Open-source Audio DSP shield idea!
« Reply #6 on: December 05, 2013, 09:40:47 am »
Although I am mainly an Altium user, I will be doing the design in Eagle to keep things as accessible as possible.  This will add quite a bit of time to the project since I have to learn a new tool from scratch.  I hear that Eagle has a steep learning curve... :(  Any links to some good tutorials are appreciated.

Don't bother. Use the tool that you know. Spend the time on making the project work, not learning a new tool just for this.
Few people will complain that the original files are in Altium, let them re-do it in eagle if they are keen enough, a shield is not that big of a circuit.
 

Offline Stonent

  • Super Contributor
  • ***
  • Posts: 3824
  • Country: us
Re: Open-source Audio DSP shield idea!
« Reply #7 on: December 05, 2013, 10:05:52 am »
I guess if you can get your basic schematic out there, it should be fairly trivial to make a shield from it. LQFP-48 chip and looks like it needs minimal support components.

The larger the government, the smaller the citizen.
 

Offline mikefatomTopic starter

  • Contributor
  • Posts: 13
Re: Open-source Audio DSP shield idea!
« Reply #8 on: December 05, 2013, 02:24:12 pm »
Please consider KiCad, which is actually open, if less popular.

I had a look at KiCad and watched Dave's first-impressions video.  Unfortunately, it doesn't look like a tool that I would get along with.  I will download it anyway and give it a shot but I have already invested quite some time in learning Eagle, so no promises...

Eagle is ok. I am still learning new things every time I use it but so far so good.  One thing is for sure, it is a HUGE step back from Altium.   :(
 

Offline mikefatomTopic starter

  • Contributor
  • Posts: 13
Re: Open-source Audio DSP shield idea!
« Reply #9 on: December 05, 2013, 02:27:31 pm »
The ADAU1701 is more than enough for any beginner looking to play with a DSP for audio.
The C6000 on the other hand is more general purpose (complex), more expensive and the c6flo graphical tool is no longer under development by TI.  Doesn't seem like a good choice to me for the hobbyist.  Especially when the said hobbyist is coming from the Arduino platform.
It's enough to make yet another cross over box I guess ... ehh, boring. Any way ... did you notice that someone is doing a similar project using the ADAU1701 for Raspberry Pi? (They use Kicad BTW.)

http://www.crazy-audio.com/tag/dsp/

Yes, I have seen the Raspberry Pi DSP project.  It may be similar but it is far from the same.
 

Offline mikefatomTopic starter

  • Contributor
  • Posts: 13
Re: Open-source Audio DSP shield idea!
« Reply #10 on: December 05, 2013, 02:31:54 pm »
Although I am mainly an Altium user, I will be doing the design in Eagle to keep things as accessible as possible.  This will add quite a bit of time to the project since I have to learn a new tool from scratch.  I hear that Eagle has a steep learning curve... :(  Any links to some good tutorials are appreciated.

Don't bother. Use the tool that you know. Spend the time on making the project work, not learning a new tool just for this.
Few people will complain that the original files are in Altium, let them re-do it in eagle if they are keen enough, a shield is not that big of a circuit.

Thanks for your input Dave.  Unfortunately, I do not own an Altium license myself, my employer does.  The price is prohibitive for a single personal license at the moment.
 

Offline mikefatomTopic starter

  • Contributor
  • Posts: 13
Re: Open-source Audio DSP shield idea!
« Reply #11 on: December 05, 2013, 02:34:17 pm »
I guess if you can get your basic schematic out there, it should be fairly trivial to make a shield from it. LQFP-48 chip and looks like it needs minimal support components.

Yes.  It is a fairly simple part to implement with low parts count.  This makes it attractive for this project as I can keep the cost low.
 

Offline senso

  • Frequent Contributor
  • **
  • Posts: 951
  • Country: pt
    • My AVR tutorials
Re: Open-source Audio DSP shield idea!
« Reply #12 on: December 05, 2013, 03:15:37 pm »
If you jump over at DiyAudio, there are dozens of those things, with topics that have more than 1800 pages, lots of ideas, pcb's, clocks, buffers, adc's and dac boards, at least for audio there are lots of options, and for example the minidsp guys have affordable pcb's with a lot of software to generate the filter coefficients.
Take a look at them/maybe you already know all this  :-[
 

Online Marco

  • Super Contributor
  • ***
  • Posts: 6693
  • Country: nl
Re: Open-source Audio DSP shield idea!
« Reply #13 on: December 05, 2013, 04:13:51 pm »
Could you name a couple of decent flexible boards that are reasonably priced?
The MiniDSP guys have build a (closed source) business around boxes with these ICs.
 

Offline mikefatomTopic starter

  • Contributor
  • Posts: 13
Re: Open-source Audio DSP shield idea!
« Reply #14 on: December 05, 2013, 06:29:50 pm »
If you jump over at DiyAudio, there are dozens of those things, with topics that have more than 1800 pages, lots of ideas, pcb's, clocks, buffers, adc's and dac boards, at least for audio there are lots of options, and for example the minidsp guys have affordable pcb's with a lot of software to generate the filter coefficients.
Take a look at them/maybe you already know all this  :-[

Hi senso,

Yes, I've had a look at the miniDSP stuff which is unfortunately all proprietary (closed) has Marco mentioned already.

Thanks,

Mike
 

Offline ChrisGammell

  • Supporter
  • ****
  • Posts: 158
    • Chris Gammell's Analog Life
Re: Open-source Audio DSP shield idea!
« Reply #15 on: December 06, 2013, 04:01:56 pm »
If you are interested in trying KiCad (not just listening to Dave's first impressions), I recommend you try building a small board: http://contextualelectronics.com/buildpcbs

As I recall, Dave even said he might give KiCad a shot at some point in the near future!

More generally though, I agree with Dave though. A project is hard enough on its own. If you had the option (which it doesn't appear you do), I would definitely agree with "use what you already know". In my quest to convince people to use KiCad I leave people who use EAGLE/Altium/Etc alone because it is a considerable time investment. Once people decide they're ready to learn something new though, I pounce ;)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf