Hi all, I was wondering if it is possible to accurately emulate an analog guitar pedal using DSP. I presume its a little more complicated than simply treating the pedal as a black box and feeding it with an impulse response. Are there any resourses which might help me learn more about this subject? Thanks for your help, Barry.
Guitar pedal emulation
Started by ●February 25, 2006
Reply by ●February 25, 20062006-02-25
<bg_ie@yahoo.com> wrote in message news:1140887594.463004.276310@p10g2000cwp.googlegroups.com...> Hi all, > > I was wondering if it is possible to accurately emulate an analog > guitar pedal using DSP. I presume its a little more complicated than > simply treating the pedal as a black box and feeding it with an impulse > response. Are there any resourses which might help me learn more about > this subject?The "black box" approach only works on linear time-invariant systems. Many of the more interesting guitar pedals don't fit into that category (e.g. distortion, compressor, flanging, chorus, etc.), although some simple ones do (e.g. EQ). Why don't you tell us what kind of guitar pedal you are trying to emulate? It would make a difference as to how I would approach the problem. For resources, try http://www.musicdsp.org/.
Reply by ●February 25, 20062006-02-25
On 25 Feb 2006 09:13:14 -0800, bg_ie@yahoo.com wrote:>Hi all, > >I was wondering if it is possible to accurately emulate an analog >guitar pedal using DSP.Since you can buy DSP based pedals , I guess the answer would be a qualified yes. A delay pedal is already digital, so you should have no problem emulating these :) Chorus, phasers and flangers should be easy. Tremolo and vibrato should be easy, too. Something like a Big Muff (a distortion pedal) might be a little harder. Accurate amplifier modelling is also a little tricky to get right. But it has been done. (Google for "Zoom effects pedal")>I presume its a little more complicated than >simply treating the pedal as a black box and feeding it with an impulse >response.Impulse responses are only useful for characterising LTI systems. Guitar pedals (or amps + speakers) are not usually LTI. So, yes, it is a little more complicated than that.>Are there any resourses which might help me learn more about >this subject?Harmony central? Allan
Reply by ●February 26, 20062006-02-26
just to chime in another "ding", it should be kept in mind that there are effects manufacturers (like Line6) who are definitely into this emulation thing. there are lotsa issues and sufficient sampling rate is arguably the first one. the characterization of non-linear systems is difficult. possibly more art than science (unless one were to brute-force employ Volterra series to do it). r b-j
Reply by ●February 27, 20062006-02-27
Thanks for your replies. The pedals I'm interested in emulating include - http://www.harmony-central.com/Effects/Data/MXR/Blue_Box-01.html http://www.harmony-central.com/Effects/Data/MXR/Phase_90-1.html http://www.harmony-central.com/Effects/Data/ProCo/Turbo_RAT-01.html I have never liked digital effects pedals to be honest but perhaps this is because these pedals try to do too much with a limited amount of processing power. One method of emulation would be to simply emulate each of the stages of the analog pedal - an amplifier would be emulated through multiplication for example. But I'd image this would ignore the nuances that make a particular analog pedal special. Is there a way of treating the pedal like a black box, feeding it signals and determining for the output a set of transfer function, which could then be applied to signals using DSP? I understand that inputting an impulse response wont work for the pedals above, but perhaps there are other methods. If such a method exists, I'd like to implement it in C. Thanks again, Barry.
Reply by ●March 6, 20062006-03-06
Any suggestions regarding my last post? I was thinking that perhaps I could replace the pots (dials) on the pedals with digital pots controllable from a PC. I could then feed signals to these pedals and have realtime digital control over the amount of effect being supplied to the signal. Any suggestions on this idea? Thanks for your help so far, Barry. bg_ie@yahoo.com wrote:> Thanks for your replies. > > The pedals I'm interested in emulating include - > > http://www.harmony-central.com/Effects/Data/MXR/Blue_Box-01.html > http://www.harmony-central.com/Effects/Data/MXR/Phase_90-1.html > http://www.harmony-central.com/Effects/Data/ProCo/Turbo_RAT-01.html > > I have never liked digital effects pedals to be honest but perhaps this > is because these pedals try to do too much with a limited amount of > processing power. > > One method of emulation would be to simply emulate each of the stages > of the analog pedal - an amplifier would be emulated through > multiplication for example. But I'd image this would ignore the nuances > that make a particular analog pedal special. > > Is there a way of treating the pedal like a black box, feeding it > signals and determining for the output a set of transfer function, > which could then be applied to signals using DSP? I understand that > inputting an impulse response wont work for the pedals above, but > perhaps there are other methods. If such a method exists, I'd like to > implement it in C. > > Thanks again, > > Barry.
Reply by ●March 6, 20062006-03-06
On 25 Feb 2006 21:50:01 -0800, "robert bristow-johnson" <rbj@audioimagination.com> wrote:>just to chime in another "ding", it should be kept in mind that there >are effects manufacturers (like Line6) who are definitely into this >emulation thing. there are lotsa issues and sufficient sampling rate >is arguably the first one. the characterization of non-linear systems >is difficult. possibly more art than science (unless one were to >brute-force employ Volterra series to do it). > >r b-jJust caught this. Why would sampling rate be the most important aspect?
Reply by ●March 6, 20062006-03-06
_DS wrote:> On 25 Feb 2006 21:50:01 -0800, "robert bristow-johnson" > <rbj@audioimagination.com> wrote: > > >just to chime in another "ding", it should be kept in mind that there > >are effects manufacturers (like Line6) who are definitely into this > >emulation thing. there are lotsa issues and sufficient sampling rate > >is arguably the first one. the characterization of non-linear systems > >is difficult. possibly more art than science (unless one were to > >brute-force employ Volterra series to do it). > > Just caught this. Why would sampling rate be the most important > aspect?i didn't say "most important", i said that it is arguably the first issue (chronologically) to deal with. the speed of the DSP (MIPS or MOPS or FLIPS or FLOPS, whatever) and the sampling rate define about how much computation you can do per sample and places an upper limit on complexity of the algorithm. it basically says how much emulation you can get away with. also, since the guitar amp emulation is definitely non-linear, there is generation of harmonics and, if the sampling rate is too low, these generated harmonics get folded around the Nyquist frequency (1/2 the sampling rate) and then become NON-harmonic (not good). that places a lower limit on the sampling rate. r b-j
Reply by ●July 26, 20062006-07-26
>Hi all, > >I was wondering if it is possible to accurately emulate an analog >guitar pedal using DSP. I presume its a little more complicated than >simply treating the pedal as a black box and feeding it with an impulse >response. Are there any resourses which might help me learn more about >this subject? > >Thanks for your help, > >Barry. > >There are many digital based Guitar Pedal emulators ( Multi Effects MFX) I have two, the DigiTech GNX3000 and a Yamaha How "accurately" they model the effect is debatable, but they are very close. DigiTech samples at 41K. They have a patent that explains their Amp and Cab modelling part very clearly. Distortions are also easy to implement as non linear functions. There are also many software that run on the PC and model Guitar effects. Some are free and also have a signal generator, so you can play with knobs and hear the output without playing a guitar.
Reply by ●July 26, 20062006-07-26
Barry wrote:>Hi all, > >I was wondering if it is possible to accurately emulate an analog >guitar pedal using DSP. I presume its a little more complicated than >simply treating the pedal as a black box and feeding it with an impulse >response. Are there any resourses which might help me learn more about >this subject? > >Thanks for your help, > >Barry. >Hi Barry, If you want to implement those effects in C, you could probably learn a lot from some ladspa plugin source codes. Those are open source and written in c or c++ and you find amplifier simulations, different distortion effects, tremolos... I don't think that you can run them on a windows machine (they are for linux), which is a drawback (if you happen to use a windows machine which is a drawback anyway IMHO) as you cannot hear effects, that might interest you. http://plugin.org.uk/faq.php http://tap-plugins.sourceforge.net/ http://quitte.de/dsp/caps.html http://www.ladspa.org/ http://www.ladspa.org/cmt/plugins.html gr. Anton






