Open Source Amp Sim Project?

Started by BubbaMc, February 02, 2010, 12:14:51 AM

Previous topic - Next topic

BubbaMc

It's really disenchanting these days when the technology for an almost perfect amp sim exists, yet I can't go into the store and buy one.

Are there any DSP engineers or enthusiasts that have experience with modeling electronic components and simulating an audio circuit using DSP?

Would anyone be interested in working on an open source VST plug-in?  Only one amp would need to be modeled initially, hell even a tube preamp would do.

A decent mathematical model for a vacuum tube would be needed.  Fractal Audio has one, no one else to my knowledge has succeeded, not even Line6/Digitech/Digidesign.  No doubt this would be doable if we put our heads together.


BubbaMc


rotylee

how about an open source vst host with a method for creating open source control surface with analog knobs.
how about the atom as a platform?
linux on a netbook

prefab
Transmission OS
http://www.64studio.com/oem_products
http://indamixx.com/

walk through on installing ubuntu remix on eee-pc
http://www.ouistiti.info/linux-music-production/linux-music-recording-with-an-eee-pc/

upgrade to ubuntu studio
https://help.ubuntu.com/community/Ubuntu%20Studio%20Upgrade%20from%20Ubuntu

audioartillery

Mathematical models exist for a variety of common tubes; you can find SPICE models with a quick google.  If you've ever run a SPICE simulation you know it takes a lot of CPU cycles.  I'm no expert but I would wager that we don't yet have fast enough CPU's to use a SPICE-like simulation to process real time audio.

You say Line6 has failed in amp modeling.  I'm confused by this.  I won't argue that their devices are quite as convincing as a real tube amp but they certainly have succeeded to a large degree.  If I were dabbling in amp modeling I would be aspiring to sound as good as Line6's tech.  I'm not familiar with the others you've mentioned.

BubbaMc

Quote from: audioartillery on February 07, 2010, 03:06:53 PM
You say Line6 has failed in amp modeling.  I'm confused by this.  I won't argue that their devices are quite as convincing as a real tube amp but they certainly have succeeded to a large degree.  If I were dabbling in amp modeling I would be aspiring to sound as good as Line6's tech.  I'm not familiar with the others you've mentioned.

I meant they've failed compared to the competition.  Fractal Audio has a nearly perfect tube model, check out some clips of the AxeFx.  Line6 is very far behind (they're still using the same tech as they did 10 years ago - yes it was great then).  I just wish they'd spend more time on designing a better model instead of cramming 500 amp sims into one box.  Digidesign has dropped the ball also, the Eleven Rack could have been a phenomenal piece of gear, but the end result is nothing better than a POD with Pro Tools.

If one man at Fractal Audio can near perfectly model a tube, I don't see why we can't brainstorm and get a similar result.  There has to be some way of making a spice model more suitable for real time applications.

If anyone has simulated an analog circuit on a DSP please chime in, I'm interested in knowing how you've gone about it.  I've not run any DSP algorithms other than digital filters.

Transmogrifox

The reason SPICE generally allows much closer models than typical real-time applications is because SPICE will solve matrices of nonlinear differential equations... which is an iterative process typically using a numerical convergence algorithm...very CPU intensive.  This is the only way to be mathematically true to the physical circuit being modeled...short of measuring a huge matrix of nonlinear impulse responses and using a lookup table and convolution.  This is still pretty CPU intensive, by the way...although on a modern PC at least you have enough RAM available for a lookup table of that magnitude.

We save CPU cycles by approximating things.  Classic tube modeling uses a bilinear transformation of all the filtering stages in between the tube stages, then a waveshaper is at the heart of the clipping characteristic.

A tube is dynamic, i.e., not just a waveshaper, so classic curve-fitting schemes usually fall short.  Some people make up for this with some approximated modeling for the dynamics and come pretty close....and then they can run the algorithm on a $5 DSP chip with cycles to spare for chorus and reverb.

Then of course, when you try to go beyond the preamp, you have the same challenges with modeling the cabinet and output transformer, and the interaction between the two...which is nonlinear, so standard convolution schemes falls short in this regard.

All the same, they come really close, and usually produce a nice sound.  Whether or not a line6 amp model  can convince a critic that they're hearing a real tube amp, they convince many pro musicians that it sounds good enough to make the devices the meat 'n' potatoes of their gear line-up.

Read up on research done by Julius O Smith.  Many of his articles are published on the CCRMA Stanford page.  Do a search for Julius O Smith and you'll find a lot of links to information about digitally modeling physical systems and circuits.  He's more into digital techniques for synthesizing different instruments, but the same types of principles apply to modeling analog circuits.

I think the Guitarix project has made some nice sounds:
http://sourceforge.net/projects/guitarix/
If you want to jump into an existing project and improve the tube modeling, Guitarix has a lot of ground already covered.

The modeling implemented is not any more advanced than line6.  It uses the classic Tube emulating waveshaper + dynamics approximations.  I think it sounds good, but does it sound like your favorite Amp stack?  Probably not...but likely for more reasons than the tube modeling algorithm.


Have a fast CPU?  You might be ok with this.
http://wavearts.com/products/plugins/tube/

If you want to do an open source project, I highly recommend Linux.  The programming environment is much less "evil" than M$...what I mean, is you can make use of really efficient open source libraries and if you need to gain some speed from something, you can modify the source of the library to suit your specific needs (for example, remove checks for functions you're not using, set certain variables to constants instead of calculating them to obtain the same result, etc...)....not to mention there is a lot of open source code for many things you may want to do that is written for the *nix environment.  Most people programming on Windows platform are doing it for money and they usually don't open their source.

In addition to that, the development environment itself doesn't cost you an arm and a leg.  Sure you can use MinGW libraries and Eclipse w/ C++ plugin or something, but with Ubuntu or Debian:
apt-get install  anyprogramIcouldeverdreamofwanting

Wait for some download time and computer thinking time and you have it :)

I'm personally not interested in developing a tube model at the level you describe because I'm perfectly satisfied with using analog stompboxes on the input, or for digital distortion,  EQ-->upsample-->waveshaper-->more EQ, etc.  I'm even happy using an equalizer to create a solid resonant tone instead of a cabinet emulator.  Forget tube amps already, how about just making good guitar sounds?  For real tube amp sounds I use a real tube amp, and for FX, I route the EFX send into my computer then back out to EFX return.   In the end, sometimes I find a preferred tone with a digital distortion simply because I can change the pre and post emphasis EQ easily.  Sometimes a wide variety of "imperfect tones" is far more valuable to a musician than one single perfect tone.  For those with the money to afford this quality...well they buy 12 different tube amps & cabinets for each purpose and hire a tech to assemble a patching/switching scheme to assign/store/load presets....so ok, the point of doing this digitally... good luck with that :)

trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.

audioartillery

Very informative writeup, thanks for that.

BubbaMc

Transmogrifox - very informative indeed, cheers!

I'll check out those articles you mentioned.

stratcat

I'm resurrecting this thread because I do believe there is a much better technology now available for modeling non-linearities. I came to it via pro-audio but I think it would be nuts if someone doesn't apply it to guitar amps. Its game changing IMO.

The general term for it would be Dynamic or non-linear convolution. The idea has been around for 10 years but I think its only finding applications now because of the appropriate increase in processing power as well as plentiful, cheap, and fast memory/storage. The results IMO are much better than previous technologies.

http://pcfarina.eng.unipr.it/Public/Presentations/notlinear_convolution_aes123.pdf

The focusrite liquid mix uses technology licensed from sintefx
http://www.sintefex.com/docs/appnotes/dynaconv.PDF

And the even more interesting (and more realistic IMO) Nebula uses the Volterra Kernel outlined by Farina.
http://www.acustica-audio.com/index.php?option=com_content&view=article&id=14&Itemid=133

I have a feeling this is what will finally get digital modeling over the hump.







BubbaMc

Interesting stuff stratcat, thanks.

valdiorn

#10
I'll be there shortly...

http://analogwindow.com/?page_id=20

I'm working on a valve module right now based on the Koren model with some modeled dynamics (basically what was mentioned before). There is no reason why this should not be able to sound good, AFAIK this is the method used by LePou and Onquel (of The Serina Experiment) and their ampsims are DAMN good. Only difference is I'm making all my stuff open source and intended for re-use.

Transmogrifox

Quote from: valdiorn on July 27, 2010, 05:42:31 AM
I'll be there shortly...

http://analogwindow.com/?page_id=20

I'm working on a valve module right now based on the Koren model with some modeled dynamics (basically what was mentioned before). There is no reason why this should not be able to sound good, AFAIK this is the method used by LePou and Onquel (of The Serina Experiment) and their ampsims are DAMN good. Only difference is I'm making all my stuff open source and intended for re-use.

That's exciting to hear ;).  I agree the LePou amp sims are incredible. 

I found that information also from pcfarina some time after my initial post.  What is particularly interesting is how nebula can emulate non-LTI systems--specifically phasers or other modulation effects.  I don't think it will be very long before a digital simulator can be used in place of the real thing with no measurable and perceptible difference in double-blind tests...the only reason the classic Analog FX will stay around is for purposes of nostalgia.  I think creation of boutique analog audio electronics will always be around for various good reasons...but we already see commercial products are getting to be almost exclusively digital.
trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.