DSPRelated.com
Forums

Which processor for processing guitar output

Started by Brian January 22, 2006
Hi All,

I am currently trying to build a tool that is capable of providing 
information about the real time characteristics of the output of a 
electric guitar.  Bascially I want to determine what note (or 
combination of notes) is being played in real time, based on this info I 
will give some sort of feedback to the user.  It has been suggested to 
me that I should use a wavelet transform or FFT to do this, but since my 
knowledge of DSP is limited to a senior level course in introductory 
DSP, I have little clue on how to implement this in real time.

I am planning to do this using the Motorola 56F800 series chips or the 
silicon labs C8051F12X series chips.

Can anyone provide me with any guidance or input?  At this point I could 
use whatever help I can get.

Thanks.
For note detection, a 16-bit processor is adequate.  For multi-effect
processing, 24-bit, 32-bit or floating point is necessary to battle the
noise floor.  People like the output quiet when not playing.

You want to purchase an evaluation board to do experiments and the TI
C5xxx, Analog Devices Blackfin, and Motorola 563xx/568xx processors are
supported by stand-alone evaluation boards.  For floating point, the TI
C6xxx and Analog Devices SHARC processors are supported by the
evaluation boards.  All evaluation boards are between $300-$600 US and
come with Windows development software for C/asm programming and
debugger controlled via USB.

I am not sure if you want to stream samples or just detected notes to
the PC.  Some of the boards have on-board RS-232 support.  TI and
Analog Devices daughtercards with USB peripherals for streaming sample
data.

Regarding algorithms, Wavelet, FFT, prefiltering (high-pass to get rid
of harmonics on the high strings) and counting zero-crosssings are all
workable techniques.  Expect harmonics.

Good luck,

Dan Ash

Thanks a lot for your reply that was very helpful.

> For note detection, a 16-bit processor is adequate. For multi-effect > processing, 24-bit, 32-bit or floating point is necessary to battle the > noise floor. People like the output quiet when not playing.
The requirements for my project have changed slightly, the DSP will not be outputting any audio, it will simply detect notes and based on the note, it will output control signals to a decoder logic circuit that will control some LEDs.
> You want to purchase an evaluation board to do experiments and the TI > C5xxx, Analog Devices Blackfin, and Motorola 563xx/568xx processors are > supported by stand-alone evaluation boards. For floating point, the TI > C6xxx and Analog Devices SHARC processors are supported by the > evaluation boards. All evaluation boards are between $300-$600 US and > come with Windows development software for C/asm programming and > debugger controlled via USB.
Our university team is restricted to a budget of 375 USD, is there anything in the sub 200 USD range that can satisfy my requirements? We have found a chip from Silicon Labs, the C8051F120 that fits our price range but seems a lot less powerful than the chips you suggested. Can we get away with using the C8051F120?
> Regarding algorithms, Wavelet, FFT, prefiltering (high-pass to get rid > of harmonics on the high strings) and counting zero-crosssings are all > workable techniques. Expect harmonics.
I think we will stick with FFT because we don't have the expertise to come up with algorithms for Wavelet transforms. It also seems that the wavelet transform is more computationally intensive.
> Good luck,
Thanks again for your feedback.
>Our university team is restricted to a budget of 375 USD, is there >anything in the sub 200 USD range that can satisfy my requirements?
EBay is your friend...
>I think we will stick with FFT because we don't have the expertise to >come up with algorithms for Wavelet transforms. It also seems that the >wavelet transform is more computationally intensive.
Forget about FFT for single note detection, especially if you want to detect transients reliably. And I have no idea who suggested to use Wavelets for this purpose: I haven't seen any useful implementation of Wavelets for pitch detection (Correct me if I am wrong...) On the subject of FFT, somebody (Georg von Bekesy ?) once said: "Dead cats and Fourier transforms have harmed hearing science more than anything else".
> Forget about FFT for single note detection, especially if you want to > detect transients reliably. > And I have no idea who suggested to use Wavelets for this purpose: I > haven't seen any useful > implementation of Wavelets for pitch detection (Correct me if I am > wrong...)
Can you suggest another more effective way for us to implement pitch detection? I am particularly concerned with being able to handle transients.
> > On the subject of FFT, somebody (Georg von Bekesy ?) once said: > "Dead cats and Fourier transforms have harmed hearing science more than > anything else". >
I have never heard of that quote but that sure is interesting! :)
"Dan Ash" <dan_ash@sbcglobal.net> wrote in message 
news:1138027041.979088.172920@g49g2000cwa.googlegroups.com...
> For note detection, a 16-bit processor is adequate. For multi-effect > processing, 24-bit, 32-bit or floating point is necessary to battle the > noise floor. People like the output quiet when not playing. > > You want to purchase an evaluation board to do experiments and the TI > C5xxx, Analog Devices Blackfin, and Motorola 563xx/568xx processors are > supported by stand-alone evaluation boards. For floating point, the TI > C6xxx and Analog Devices SHARC processors are supported by the > evaluation boards. All evaluation boards are between $300-$600 US and > come with Windows development software for C/asm programming and > debugger controlled via USB. > > I am not sure if you want to stream samples or just detected notes to > the PC. Some of the boards have on-board RS-232 support. TI and > Analog Devices daughtercards with USB peripherals for streaming sample > data. > > Regarding algorithms, Wavelet, FFT, prefiltering (high-pass to get rid > of harmonics on the high strings) and counting zero-crosssings are all > workable techniques. Expect harmonics. > > Good luck, > > Dan Ash >
Cheapest eval board (for a fast dsp) is the blackfin stamp 533 approx US$170 Would need to get an audio addon board All easy to purchase through digikey. http://blackfin.uclinux.org/ http://docs.blackfin.uclinux.org/doku.php?id=buy_stuff http://www.analog.com/en/prod/0%2C2877%2CBF533%25252DSTAMP%2C00.html http://www.analog.com/en/prod/0%2C2877%2CBF537%25252DSTAMP%2C00.html Another cheap one approx US$80 is the freescale MC56F8300DSK Uses their 56f8323 chip http://www.freescale.com/webapp/sps/site/taxonomy.jsp?nodeId=0127956292 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC56F8300DSK&nodeId=0162468636QNBX&tid=tdfp http://rocky.digikey.com/WebLib/Motorola/Web%20Data/MC56F8300DBUM.pdf http://rocky.digikey.com/WebLib/Motorola/Web%20Data/MC56F8300DEMOPB.pdf digikey.com search on MC56F8300DSK Can you use an fpga ? You should be able through xilinxs uni program to get the software tools and a couple of S3 starter kits (donations). see http://www.xilinx.com/univ/ Of course you would need more time to learn to use the tools. See under http://www.xilinx.com/univ/teaching_material.htm for course notes. Need to get a login to get the materials. If you get the tools and a couple of boards (may not be large enough for what you need) could spend some of the money on a larger fpga board like Digilentincs xupv2pro board http://www.digilentinc.com/Products/Detail.cfm?Nav1=Products&Nav2=Programmable&Prod=XUPV2P http://www.xilinx.com/univ/xupv2p.html Digilentinc also had addon boards. There is also the new S3e starter kit which is comming on sale soon. Alex