Main Page | Report this Page
Science Forum Index  »  Electronics - Design Forum  »  DSP Device for Guitar Pedal Effect...
Page 3 of 6    Goto page Previous  1, 2, 3, 4, 5, 6  Next

DSP Device for Guitar Pedal Effect...

Author Message
Fred...
Posted: Wed Oct 28, 2009 1:41 pm
Guest
The development boards are $125, although the SDK only runs on XP. I
kicked M$ to the curb years ago. I have to talk with Spin's tech
support about making it WINE compatible.

It's been quite a while since I did any coding, and even then it was
only a some numerical routines for crypto stuff on the Digital Mars C
compiler. So, any coding now is going to be like the first time...

I did start off with IBM 360/370 BAL in college. Gee, that was al the
way back in the eighties. I used to dream in assembler back then. :)

Anyway, I'll have to work out which will be the most direct
prototyping a VST plugin or going right to the development board.

My views on sample rate is that ten time over the highest frequency is
good. That would make mean 200kHz for audio work. I have a
mechanical engineer buddy that has done stress analysis on stuctures
with DAQs and pressure sensors. According to him to get good enough
samples for analysis you have to ten times over.

In my SPICE work, I found for FFT audio plots you have to go ten time
over to get smooth plots. In guitar effects that use low sampling
rates, 44.1kHz and lower, I can hear the difference in sound quiality
from the ones that use 96kHz processing, like The TC Electronics
effects and the Rocktron Voodu Valve and Expression units. Their
effects especially the delays and compression have a sweet liquid
smoothness to them that is just superior.

Cheers,

Fred
 
Fred...
Posted: Wed Oct 28, 2009 5:44 pm
Guest
On Oct 28, 10:39 pm, Vladimir Vassilevsky <nos... at (no spam) nowhere.com> wrote:
[quote]Les Cargill wrote:
No, I gotcha. Audio-oriented DAC/ADC are generally going to support
20Hz to 20KHz well no matter what, though. Aliasing reall isn't a
consideration, unless the transform within the GPP in the middle
somehow causes it.

Aliasing is a BIG problem if doing non-linear audio effects in digital.
You want the sample rate of 192kHz or even higher.

Vladimir Vassilevsky
DSP and Mixed Signal Design Consultanthttp://www.abvolt.com
[/quote]
Yep, and my effect will be non-linear.
 
Vladimir Vassilevsky...
Posted: Wed Oct 28, 2009 8:39 pm
Guest
Les Cargill wrote:


[quote]No, I gotcha. Audio-oriented DAC/ADC are generally going to support
20Hz to 20KHz well no matter what, though. Aliasing reall isn't a
consideration, unless the transform within the GPP in the middle
somehow causes it.
[/quote]
Aliasing is a BIG problem if doing non-linear audio effects in digital.
You want the sample rate of 192kHz or even higher.


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
 
Les Cargill...
Posted: Wed Oct 28, 2009 9:03 pm
Guest
Jon Slaughter wrote:
[quote]Les Cargill wrote:
Jon Slaughter wrote:
Les Cargill wrote:
Fred wrote:
I was wondering what DSP chip would be appropriate for a guitar
pedal effect. I need to sample the incoming signal preferably at
96kHz perform a simple numeric function upon each sample and
output he result.


I'd drop the 96kHz requirement to half that. At most. For guitar,
an Fs of 20Khz might be good enough. You might be able to proto the
thing in a VST plugin.

There are many good reasons to oversample. It is always used in
medium to high end digital audio stuff nowdays. (mainly because most
pro audio ADC's do it) Generally it helps with writing better and
more accurate filters.

Mainly it fixes the problems of aliasing. If you sample and audio
signal then you need to have either a very sharp analog filter at,
say, 20khz or a very gradual one at, say, 1Mhz with 10x
oversampling. Then you can write better digital filters for the
sharp filtering. It is easier for to create a sharp digital filter
than an analog filter if your doing other digital processing.


I'm vainly trying to imagine why a guitar pedal would need a sharp
filter *internally*.... they're generally collections of allpass
filters at the most sophisticated.

You'll get well-oversampled D/A and A/D anyway, which is where the
steep ones are needed.

All I'm saying is that electric guitars obey a relatively modest
bandlimit. Not all of them, mind you - a Firebird or Danelectro
can throw 30KHz.



You don't understand. It's not necessarily from the guitar(the guitar
has it's own low pass filter). Any signal that might get on the
line(from radiation or whatever) can be aliased back if not filtered.
This is always the case what ever the source. You must filter before
sampling or you will get aliasing of the higher frequencies(above the
nyquist) into the frequency band your after. (in fact this can be useful
in some cases)

The guitar's bandwidth maybe, say, 15khz so you sample at 30khz. The
guitar is bandlimited because of filtering(assuming it has one) but any
noise on the line that introduces frequencies above 15khz will be
aliased back into the signal(and effectively be part of the signal). A
very sharp low pass filter at 15khz would take care of all that since it
will remove any potential for aliasing(except any created between the
filter and the ADC or in the ADC).




[/quote]
No, I gotcha. Audio-oriented DAC/ADC are generally going to support
20Hz to 20KHz well no matter what, though. Aliasing reall isn't a
consideration, unless the transform within the GPP in the middle
somehow causes it.

--
Les Cargill
 
Fred...
Posted: Thu Oct 29, 2009 1:15 pm
Guest
On Oct 29, 4:39 pm, Vladimir Vassilevsky <nos... at (no spam) nowhere.com> wrote:
[quote]Nico Coesel wrote:
Vladimir Vassilevsky <nos... at (no spam) nowhere.com> wrote:

Les Cargill wrote:

No, I gotcha. Audio-oriented DAC/ADC are generally going to support
20Hz to 20KHz well no matter what, though. Aliasing reall isn't a
consideration, unless the transform within the GPP in the middle
somehow causes it.

Aliasing is a BIG problem if doing non-linear audio effects in digital.
You want the sample rate of 192kHz or even higher.

Depends on the A/D D/A converter. All the codecs (A/D D/A converter in
one chip) I encountered so far have decent anti-aliasing filters
built-in. Aliasing shouldn't be a problem.

It is unrelated to A/D and D/A. If you do a nonlinear function with
already sampled signal, you will get aliasing.

Let's say there is a sine wave at 10kHz, and a 48kHz ADC -> digital
limiter -> DAC system. At the output, you will get 18kHz, 2kHz, 16kHz
and so on, so forth.

Vladimir Vassilevsky
DSP and Mixed Signal Design Consultanthttp://www.abvolt.com
[/quote]
That's just about the picture. The Spin chip has 48kHz converters.
So, it'll be:

48k ADC > Digital Compression > 48k DAC.

What I am wondering about is hearing the aliasing. In the early CD
players I could hear it. In low quality digital effects like delay
and reverb I can still hear it.
 
Nico Coesel...
Posted: Thu Oct 29, 2009 2:14 pm
Guest
"Jon Slaughter" <Jon_Slaughter at (no spam) Hotmail.com> wrote:

[quote]Nico Coesel wrote:
"Jon Slaughter" <Jon_Slaughter at (no spam) Hotmail.com> wrote:

Les Cargill wrote:
Fred wrote:
I was wondering what DSP chip would be appropriate for a guitar
pedal effect. I need to sample the incoming signal preferably at
96kHz perform a simple numeric function upon each sample and
output he result.


I'd drop the 96kHz requirement to half that. At most. For guitar,
an Fs of 20Khz might be good enough. You might be able to proto the
thing in a VST plugin.

There are many good reasons to oversample. It is always used in
medium to high end digital audio stuff nowdays. (mainly because most
pro audio ADC's do it) Generally it helps with writing better and
more accurate filters.

Mainly it fixes the problems of aliasing. If you sample and audio
signal then you need to have either a very sharp analog filter at,
say, 20khz or a very gradual one at, say, 1Mhz with 10x
oversampling. Then you can write better digital filters for the
sharp filtering. It is easier for to create a sharp digital filter
than an analog filter if your doing other digital processing.

Not really. Sharp filters usually need a high Q which means you'll
lose resolution if you're not carefull. Sharp digital filters do have
their pitfalls. Besides, it is easier to make a sharp filter close to
half the sampling frequency (i.e. max bandwith) than half way the
sampling frequency because you can have the zeroes closer together.

Um... really. Look it up. Read up on oversampling and you might learn
something.

http://en.wikipedia.org/wiki/Oversampling
[/quote]
Thats first grade theory (note the word 'theory').

[quote]There are three main reasons for performing oversampling:

a.. It aids in anti-aliasing because realisable analog anti-aliasing
filters are very difficult to implement with the sharp cutoff necessary to
maximize use of the available bandwidth without exceeding the Nyquist limit.
By increasing the bandwidth of the sampled signal, the anti-aliasing filter
has less complexity and can be made less expensively by relaxing the
requirements of the filter at the cost of a faster sampler. Once sampled,
the signal can be digitally filtered and downsampled to the desired sampling
frequency. In modern integrated circuit technology, digital filters are much
easier to implement than comparable analog filters of high order.
[/quote]
I wouldn't say easier. I'd say a digital filter is more predictable
but has other isssues to deal with.

[quote]b.. In practice, oversampling is implemented in order to achieve cheaper
higher-resolution A/D and D/A conversion. For instance, to implement a
24-bit converter, it is sufficient to use a 20-bit converter that can run at
256 times the target sampling rate. Averaging a group of 256 consecutive
20-bit samples adds 4 bits to the resolution of the average, producing a
single sample with 24-bit resolution.
[/quote]
That isn't right. IIRC a while ago someone here explained you you'll
get two extra bits. Not 4. Besides that, if you have a perfect DC
level between two bit values at the input of your 20 bit converter
you'll never get a reading that has a >20 bits accuracy. Oversampling
only works well for delta-sigma converters because they have
(basically) an error feedback.

[quote]Which obviously completely contradicts what you have said. Of course I
imagine your just another person who believes facts just get in the way?
[/quote]
Nope. Experience speaking here. I bet you never actually built
something with an ADC that has to maintain full bit resolution through
numerous digital filter / signal processing stages.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
"If it doesn't fit, use a bigger hammer!"
--------------------------------------------------------------
 
Nico Coesel...
Posted: Thu Oct 29, 2009 2:19 pm
Guest
Fred <frederick.brown at (no spam) gmail.com> wrote:

[quote]The development boards are $125, although the SDK only runs on XP. I
kicked M$ to the curb years ago. I have to talk with Spin's tech
support about making it WINE compatible.

It's been quite a while since I did any coding, and even then it was
only a some numerical routines for crypto stuff on the Digital Mars C
compiler. So, any coding now is going to be like the first time...

I did start off with IBM 360/370 BAL in college. Gee, that was al the
way back in the eighties. I used to dream in assembler back then. :)

Anyway, I'll have to work out which will be the most direct
prototyping a VST plugin or going right to the development board.

My views on sample rate is that ten time over the highest frequency is
good. That would make mean 200kHz for audio work. I have a
mechanical engineer buddy that has done stress analysis on stuctures
with DAQs and pressure sensors. According to him to get good enough
samples for analysis you have to ten times over.
[/quote]
That is another problem. If you look at dots you can't see the signal.
If you use a signal reconstruction algorithm like Cooledit does, you
can see the original signal. The word see is very important here; the
brain is the problem, not the sampling frequency. If you play the
signal back through a D/A converter you'll also get the original
signal back (assuming the original signal's bandwidth doesn't exceed
the A/D and D/A converter's bandwidth).

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
"If it doesn't fit, use a bigger hammer!"
--------------------------------------------------------------
 
Nico Coesel...
Posted: Thu Oct 29, 2009 2:22 pm
Guest
Vladimir Vassilevsky <nospam at (no spam) nowhere.com> wrote:

[quote]

Les Cargill wrote:


No, I gotcha. Audio-oriented DAC/ADC are generally going to support
20Hz to 20KHz well no matter what, though. Aliasing reall isn't a
consideration, unless the transform within the GPP in the middle
somehow causes it.

Aliasing is a BIG problem if doing non-linear audio effects in digital.
You want the sample rate of 192kHz or even higher.
[/quote]
Depends on the A/D D/A converter. All the codecs (A/D D/A converter in
one chip) I encountered so far have decent anti-aliasing filters
built-in. Aliasing shouldn't be a problem.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
"If it doesn't fit, use a bigger hammer!"
--------------------------------------------------------------
 
Vladimir Vassilevsky...
Posted: Thu Oct 29, 2009 2:39 pm
Guest
Nico Coesel wrote:

[quote]Vladimir Vassilevsky <nospam at (no spam) nowhere.com> wrote:



Les Cargill wrote:



No, I gotcha. Audio-oriented DAC/ADC are generally going to support
20Hz to 20KHz well no matter what, though. Aliasing reall isn't a
consideration, unless the transform within the GPP in the middle
somehow causes it.

Aliasing is a BIG problem if doing non-linear audio effects in digital.
You want the sample rate of 192kHz or even higher.

Depends on the A/D D/A converter. All the codecs (A/D D/A converter in
one chip) I encountered so far have decent anti-aliasing filters
built-in. Aliasing shouldn't be a problem.
[/quote]
It is unrelated to A/D and D/A. If you do a nonlinear function with
already sampled signal, you will get aliasing.

Let's say there is a sine wave at 10kHz, and a 48kHz ADC -> digital
limiter -> DAC system. At the output, you will get 18kHz, 2kHz, 16kHz
and so on, so forth.

Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
 
JosephKK...
Posted: Tue Nov 03, 2009 6:30 am
Guest
On Sun, 25 Oct 2009 19:46:54 -0700 (PDT), Fred
<frederick.brown at (no spam) gmail.com> wrote:

[quote]I was wondering what DSP chip would be appropriate for a guitar pedal
effect. I need to sample the incoming signal preferably at 96kHz
perform a simple numeric function upon each sample and output he
result.
[/quote]
Could work, just remember that you are always faced with two samples
of delay due to the data converters.
 
JosephKK...
Posted: Tue Nov 03, 2009 6:35 am
Guest
On Sun, 25 Oct 2009 20:26:21 -0700 (PDT), Fred
<frederick.brown at (no spam) gmail.com> wrote:

[quote]On Oct 25, 11:08 pm, "mook johnson" <m... at (no spam) mook.net> wrote:
"Fred" <frederick.br... at (no spam) gmail.com> wrote in message

news:2c03acbb-9d7a-45b6-adc8-2e6924b1ff87 at (no spam) b18g2000vbl.googlegroups.com...

I was wondering what DSP chip would be appropriate for a guitar pedal
effect. I need to sample the incoming signal preferably at 96kHz
perform a simple numeric function upon each sample and output he
result.

How simple is simple? A number of devices can do that. If you care about
audio quality I wouldn't use the build int ADCs and DACs though.

The function will be floating point and contain trig functions. Each
sample is run through the function once and outputed.

ADC and DAC convertion will need to either be contained in the chip or
sorted out separately.

I understand there are PICs out there and other similar things that
can do this, I'm just unfamiliar with there devices and trying to wade
though the websites to figure out what would work is kinda rough when
your clueless. :)

Fred
[/quote]
If you want trig functions it may be DSP/FPGA only. They take lots of
CPU to compute.
 
don...
Posted: Tue Nov 03, 2009 6:45 am
Guest
[quote]frederick.brown at (no spam) gmail.com> wrote:

I was wondering what DSP chip would be appropriate for a guitar pedal
effect. I need to sample the incoming signal preferably at 96kHz
perform a simple numeric function upon each sample and output he
result.

[/quote]
http://www.circuitcellar.com/microchip2007/winners/DE/MT1518.html
 
JosephKK...
Posted: Tue Nov 03, 2009 6:45 am
Guest
On Mon, 26 Oct 2009 17:33:16 +0100, Frank Buss <fb at (no spam) frank-buss.de>
wrote:

[quote]ChrisQ wrote:

The other point being avoidance of floating point and do it in fixed
point if at all possible. If you use a cheap micro, fp will be too much
of a performance hog with many C libraries, not to mention the amount of
code space it takes up...

Maybe you can attach an old 80287 to a microcontroller, there are still
some cheap ones at eBay:

http://tinyurl.com/80287-ebay

Many years ago I had to choose to add more RAM or a FPU chip to an Intel
80386 based computer. I decided to add 2 MB RAM, which was great, because
then Windows 3 worked Smile
[/quote]
Interesting idea, too bad it (80287, 8MHz) cannot compute a trig
function in time (10 microseconds).

Back in the day, the FPU was necessary (over 100:1 speed difference)
to run SPICE. So was maximum RAM.
 
JosephKK...
Posted: Tue Nov 03, 2009 6:54 am
Guest
On Mon, 26 Oct 2009 22:24:24 +0000, ChrisQ <meru at (no spam) devnull.com> wrote:

[quote]Tim Wescott wrote:

C?!?

This is a job for assembly, unless you want an obnoxiously big,
expensive, and power hungry part in there.

C isn't a good fit for fast DSP algorithms. Unless you luck out with a
very wise compiler you're best hand-fitting the code to the application.


Never used them, but I understand that the Texas dsp C compilers are
pretty good these days and are optimised closely to the target
architecture. Probably the same for ad stuff as well. It's a fairly
competitive market, so the vendors would take advantage of every
hardware wrinkle the device could offer, which itself will be optimised
for the compiler output. If you have control over both, there should be
no need for asm most of the time.

/rant on
If you are designing anything other than trivial software, a high level
language allows abstract system concepts to be translated into code far
more readily than asm. Other benefits include creation of standard
source libraries that often just need a recompile for another
architecture, as just about everything is ansi C now. The whole point of
standard libs is that you don't end up reinventing the wheel for every
project and you avoid the sort of "cut and paste into a new project"
style development, complete with all the old project's bugs, that serves
as a development model in some places that i've seen. Finally, it saves
time and money.
/rant off

Probably teaching granny here etc. Apologies if going on a bit Smile...

Regards,

Chris
[/quote]
Nothing new here, move along.
The grandfathered old poor code already is an issue in the FPGA world.
As if you didn't already know.
 
JosephKK...
Posted: Tue Nov 03, 2009 6:59 am
Guest
On Mon, 26 Oct 2009 12:58:47 -0500, Tim Wescott <tim at (no spam) seemywebsite.com>
wrote:

[quote]On Sun, 25 Oct 2009 21:17:51 -0700, miso at (no spam) sushi.com wrote:

On Oct 25, 9:04 pm, hal-use... at (no spam) ip-64-139-1-69.sjc.megapath.net (Hal
Murray) wrote:
In article
ae3a0936-286a-4a0f-9830-42a5ddf52... at (no spam) e18g2000vbe.googlegroups.com>,



 Fred <frederick.br... at (no spam) gmail.com> writes:
On Oct 25, 11:08 pm, "mook johnson" <m... at (no spam) mook.net> wrote:
"Fred" <frederick.br... at (no spam) gmail.com> wrote in message

news:2c03acbb-9d7a-45b6-
adc8-2e6924b1ff87 at (no spam) b18g2000vbl.googlegroups.com...

I was wondering what DSP chip would be appropriate for a guitar
pedal
effect.  I need to sample the incoming signal preferably at 96kHz
perform a simple numeric function upon each sample and output he
result.

How simple is simple?  A number of devices can do that.  If you care
about audio quality I wouldn't use the build int ADCs and DACs
though.

The function will be floating point and contain trig functions.  Each
sample is run through the function once and outputed.

ADC and DAC convertion will need to either be contained in the chip or
sorted out separately.

I understand there are PICs out there and other similar things that
can do this, I'm just unfamiliar with there devices and trying to wade
though the websites to figure out what would work is kinda rough when
your clueless.  :)

Are you going to build one or a million?  If the latter, the cost of
the silicon is important.  If you only build a few, the silicon is
free. The expense is the time to develop the software so you should
look for an software environment you like.

You said 96kHz.  Call that 100 kHz, or 10 microseconds per sample. You
need a CPU that is fast enough to run your algorithim in the alloted
time.  Trig functions can be messy.  I'd suggest getting a development
board and timing things.  (If you might buy a million, the FEs will be
helpful.  If not...)

Why do you think you need floating point?  The input isn't floating.
The output isn't floating.

As a (probably crazy) straw-man, you could consider table lookup. It
doesn't take much time, but it sure eats memory.  It might be
worthwhile to implement the algorithim on a PC and look at it on a
graph.  Can you compress that graph?  Think interpolation, or curve
fitting.  A cheap CPU with external memory might be less expensive than
a CPU fast enough to do the trig functions.

--
These are my opinions, not necessarily my employer's.  I hate spam.

Coordic.

Dunno about cordic -- to get that kind of speed from an inexpensive DSP
you probably need to go with something like a polynomial best-fit. This
would make the "knob" adjustment easy, as you'd just change the
coefficients of the polynomial.
[/quote]
Cordic algorithms have similar properties.
Besides there is nothing wrong or all that (time) expensive about a
post multiply.
 
 
Page 3 of 6    Goto page Previous  1, 2, 3, 4, 5, 6  Next
All times are GMT - 5 Hours
The time now is Tue Dec 01, 2009 11:13 am