[sdiy] AUDIO effects in the code domain/?

Scott Gravenhorst music.maker at gte.net
Mon Mar 21 20:10:18 CET 2011


Dan Snazelle <subjectivity at hotmail.com> wrote:
>Thanks everyone!!
>
>
>Why are some processors called DSPs and others which can run dsp are just called pics?
>
>Are they specifically made to easily run DSP code??

Any CPU can do DSP, that is, it can process digital signals.  How fast depends on many things,
hardware multipliers help (some older microprocessors force writing multiplies using methods like
shift and add which can take many clock ticks).  Parallelism within the processor helps too.

DSP processors have internal hardware enhancements that make DSP more clock tick efficient.  dsPIC
is one of them, it has, for example, a MACC (Multiply and ACCumulate) instruction which make DSP
structures like FIR filters "faster", i.e., more gets done within a clock tick that would be done
by a regular PIC.

So yes, easier and faster.

>Sent from my iPhone
>
>On Mar 21, 2011, at 2:35 PM, Scott Gravenhorst <music.maker at gte.net> wrote:
>
>> Hi Dan,
>> 
>> Welcome to the wonderful world of DSP, Digital Signal Processing.
>> 
>> Here is just one of many places to get some information: 
>http://www.dspguide.com/ The book's > chapters are available 
>online free of charge. > > Any thing you do that alters the 
>"stream" of numbers that goes to the DAC is DSP. > > All of what 
>you mention is possible, distortion, waveshaping, filtering and 
>more. > > What I will say is that perhaps an 8 bit processor is 
>not the best platform for much of DSP, > but the end result will 
>tell you whether that is true to your ears or not. > > dan 
>snazelle <subjectivity at hotmail.com> wrote: >> i am trying to find 
>any ways to mangle audio within the code >> domain. (right now 
>its in the arduino/c format but this is a >> general question 
>that could apply to any sound program) >> >> in other words, lets 
>say that right now I have a number that is >> the result of 
>calculations in my program. it is between one and >> 255. this 
>gets sent out to the DAC and creates the sound. >> >> >> i am 
>looking for ways to mess with or manipulate that number within 
>the program. >> >> >> one way i have used is to set up a loop 
>with an IF statement that >> adds ten to the number on each pass. 
>if it gets to be above a >> certain number it resets the number. 
>>> >> >> that is one easy way to change its course. >> >> >> can 
>anyone think of others? to waveshape or filter or distort etc? >> 
>>> >> >> >> another one i am trying is multiplying the number (we 
>can call >> the variable SOUND OUT) by arduinos RANDOM function. 
>>> >> >> i know some of you have been programming for AGES and 
>must know >> tons of ways of changing a value over time. >> >> 
>thanks! >> >> >> _______________________________________________ 
>>> Synth-diy mailing list >> Synth-diy at dropmix.xs4all.nl >> 
>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy >> > > -- 
>ScottG > 
>________________________________________________________________________ 
>> -- Scott Gravenhorst > -- FPGA MIDI Synthesizer Information: 
>home1.gte.net/res0658s/FPGA_synth/ > -- FatMan: 
>home1.gte.net/res0658s/fatman/ > -- NonFatMan: 
>home1.gte.net/res0658s/electronics/ > -- When the going gets 
>tough, the tough use the command line. > > 
>_______________________________________________ > Synth-diy 
>mailing list > Synth-diy at dropmix.xs4all.nl > 
>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy > 
>_______________________________________________ Synth-diy mailing 
>list Synth-diy at dropmix.xs4all.nl 
>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy 
>

-- ScottG
________________________________________________________________________
-- Scott Gravenhorst
-- FPGA MIDI Synthesizer Information: home1.gte.net/res0658s/FPGA_synth/
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.




More information about the Synth-diy mailing list