[sdiy] hobbyist hardware DSP - choosing a platform

Andy Drucker andy.drucker at gmail.com
Thu Mar 23 21:14:01 CET 2017


Big thanks to everyone for your suggestions and feedback.  I am looking at
every option that gets mentioned.

>Yes, nearly every significant product that has DSP is based on SHARC or
TMS320. Even Pro Tools hardware has migrated from Motorola 56k to TMS320.

thanks Brian (and Cheater).  So I take it that the "grown-up" way to do DSP
on these is in assembly language, but at least for TMS320 one can go fully
with C.

The difficulty is that I'm not aware of hand-holdy resources for
successfully programming these chips.  The manuals I've found clearly
presume a more general professional background in hardware programming; for
example the SHARC Processor Programming Reference
<http://www.analog.com/media/en/dsp-documentation/processor-manuals/ADSP-2136x_2137x_214xx_pgr_rev2.4.pdf>
not very helpfully says

*The primary audience for this manual is a programmer who is familiar*
*with Analog Devices processors. [...] Programmers who are unfamiliar with
Analog Devices processors [...] should supplement it with [...] programming
reference manuals that describe their target **architecture.*

And this helps clarify the core thing for me---it is not that I insist on
using a Max-style GUI.  I've already gotten help from Max in learning about
modular-synthesis basics, and now I'm willing to code in C, say (though I
hope not assembly, for the time being). But at this point, given the extra
challenges/hurdles of hardware programming, I still want frameworks that
*either* have a simplified GUI/script, *or* have supporting tutorials with
more specific, friendly guidance through all the setup steps with complete
examples.

I have that for the Atmel AVR / Atmega chips in the form of Elliot
Williams' book, but these things are apparently not powerful enough to go
far beyond simple chipsounds, and the book is mostly about non-DSP
applications.  So I'm studying in the hope that the skills will transfer,
but without a clear plan.


>I think you're asking for the moon on a stick :)

Paula, yes I am :) and thanks for at least humoring me.

But I do so because I've already seen R Pi and other projects deliver
amazingly cheap hardware solutions that are also friendly enough for
hobbyists.  The fact that DSP lags behind may be largely due to its
niche/specialized status for hobbyists (combined with its having higher
processing needs than many other DIY projects).

When I see how cheap the core DSP chips are on industry sites, the whole
thing practically begs to be done cheaper than the Axoloti.  I should also
stress, I am happy to pay significant up-front costs for developer software
(including proprietary software, if it is reasonably friendly /
interoperable), expert advice, books, etc.; but I do hope to ultimately see
lower per-unit costs.   Maybe I am still missing part of the cost equation,
but I still wanted to ask.


>So you want an open source set of libraries that are optomised for your
specific CPU.

>You want a nice "gui" based development tool chain written by someone else?

Ideally yes, and hey, thought I'd ask; but see the above.  Also, they don't
need to be highly optimized for my specific CPU, just adequate for doing
fun things.  "Sounds amazing" wasn't on my requirements list, although I do
want to go beyond chiptune-style synthesis.   And if there are a small
number of industry-leading DSP chips then yes, I would hope to use nice dev
libraries / tool chains.


Best,
Andy


PS.  congrats Leonardo on your awesome Vult logo :)



On Thu, Mar 23, 2017 at 1:18 PM, Leonardo Laguna <modlfo at gmail.com> wrote:

> Hi Andy,
>
> I have been using Teensy boards with it's Audio Adaptor and I'm quite
> happy with the combination. If you like arduinos then it's a good choice
> because you can get good audio quality and the board has good power.
>
> To make the programming of the board more abstract I use Vult
> https://modlfo.github.io/vult/ , the programming language I develop. Some
> people has compared my language to Gen in Max, but I provide some cool
> features that are very useful for programming 32 bit microcontrollers.
>
> Leonardo
>
> On Thu, Mar 23, 2017 at 4:47 AM, Andy Drucker <andy.drucker at gmail.com>
> wrote:
>
>> I have followed Terry's announcement about Audio Weaver Lite with
>> interest, as well as web discussions of related tools like SigmaStudio,
>> because I am shopping around for something similar.  My question is quite
>> broad and not so well-formed, but let me describe where I'm at because I
>> think there are significant numbers of people in a similar place and there
>> is a big opportunity to make rich sound projects more accessible for
>> makers/tinkerers.  Any advice on choosing a framework would be greatly
>> appreciated.
>>
>> I am ~1 year into the synths/DSP/DIY realms as a hobby---much less
>> experienced than most commenters.  My best experiences so far have been in
>> Max/MSP, where I enjoy the easy interplay between signal processing and
>> logical control flow (although I would sometimes prefer a more
>> imperative-programming style control).  I really like the potential for
>> interaction and creative algorithmic music and synthesis.
>>
>> But on the use/performance side, I would rather interact with a fun
>> physical device away from the PC.  Being able to stick it into a
>> hardware-synth signal chain would also be a plus.  And most of all, I would
>> like to be able to design and produce instruments and sound-toys that a
>> wide range of folks could enjoy playing with.
>>
>> I am somewhat familiar with Arduino and R Pi.  However, it appears that
>> plain Arduino is quite weak for DSP, and pi has weaknesses stemming from
>> using so much of its juice to run general Linux.
>>
>> My main wish-list for a hardware platform + programming framework is:
>>
>> 1.  should have ready-made DSP primitives, at least sufficient to make a
>> subtractive synth (osc/filters/LFO/ADSR).  Ideally want real-time
>> frequency-domain stuff.
>>
>> 2.  should also allow for some patcher-style logical control flow, and,
>> easy interaction with sensors, buttons, etc. producing control information.
>>  (This is where I am less clear how e.g. Audio Weaver or SigmaStudio would
>> rate.)
>>
>> 3.  limited involvement in the details of hardware chips.  I am not
>> opposed to learning more about hardware, in fact I'm enjoying E. Williams'
>> book on AVR programming, but still want to be able to abstract away from
>> too many details of this stuff.  Arduino and Axoloti seem like good
>> examples of doing this well.  Other tools seem more aimed at professional
>> electronics designers, which is a concern.
>>
>> 4.  finally, and no small thing, I would like to be able to make devices
>> cheap enough to easily give away.  Let me not give a hard budget, but
>> suggest that e.g. Axoloti is quite a stretch at 65 EUR (and also a bit
>> bulky for toys).  A shame since I think it meets my other requirements.
>>
>>
>> Again for reference, frameworks I've been reading about include:
>>
>> -SigmaStudio or Audio Weaver in conjunction with appropriate chips
>>
>> -various combos of Arduino and R Pi with sound cards and other
>> peripherals, e.g. the pisound project, e.g. to run Pure Data on a Pi
>>
>> -Axoloti
>>
>>
>> Thanks!
>> Andy
>>
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20170323/da236b15/attachment.htm>


More information about the Synth-diy mailing list