Making a Convolution amp simulator plugin for OSX: please read and respond

aletheian-alex

New Metal Member
Dec 30, 2006
10
0
1
Hello.

A lot of you guys seem interested in using cabinet impulses in convolution reverb plugins for speaker simulation. I am working on one for myself, but I would be happy to tweak it for you all to use.

Basically, I wanted a CPU-friendly, single channel realtime convolution plugin to run in OSX JUST for loading cabinet impulses which just had 2 controls: load sample and output level. I MAY even slim it down to one control and use an automatic gain control to keep the effected audio from being SUPER loud, but for right now there is just a gain control.

Here is the deal: I can build a VST an AU version. I can't do RTAS or TDM because Digidesign are pretty stiff about handing out their SDKs (ever wonder why there are no open-source freebies for ProTools? THAT'S why), and I can't get ahold of one... so no free plugs for ProTools guys, sorry, write to Digidesign and tell them to stop being so frigging stingy with their development kits and you all will have more free plugins to use.

The interface is built to work with Apple's new engine: cocoa. The problem is that a few DAWs are way behind the times (like... 6 years behind the times) when it comes to the plugin UIs that they can load. Examples are Digital Performer 5 (v6 will support cocoa!), older Cubase/Nuendo versions, ProTools (not that it matters since I don't have their SDKs), older versions of Logic, Ableton's stuff, etc. They only support carbon UI, which is 6 years out of date.

That being the case, until I can figure out a way to do the same thing in Carbon, I can make a seperate version for those DAWs WITHOUT a gui, so you can still use it... it just won't look pretty. The problem for those is that you can't access the pulldown menu to load up an impulse... BUT i can load a bunch of impulses into the plugin since they are very small anyway, and set them up as selectable presets. So here is what I would need for the guys with non-cocoa DAWs:

-You all to tell me what your favorite impulses are
-I need permission from the guys that made the impulses to put them in the plugin for you

I would throw in a few that I made myself, a few that are posted elsewhere online under public licence, and then whichever ones you guys decide on... some of the GuitarHacks impulses come to mind.

Anyway, after I get some feedback here I'll build the plugin and post a link to download the installer.
 
Great idea.
Do you think youll get the latency down? Im using SIR1 and it has a lot of latency.

I have a suggestion.
What i woulld like in an ampimpulse plugin is to be able to load two diffrent impulses and have a mixknob between them. So you can blend the two ones to taste without like today having to use two sepreate tracks and two seperat plugs.
 
Other great impulses is DSS3

I second Splatts and guitarhacks.

I think you shoulld throw in some Ampeg bass impulses aswell. Atleast one.
 
Great idea.
What i woulld like in an ampimpulse plugin is to be able to load two diffrent impulses and have a mixknob between them.
You can do that in Revalver MK II - use the Signal splitter and insert 2 convolution speaker simulators -> voila - you can blend and even pan them to your liking.

Alex, that plugin is a great idea. My fav impulses were already mentioned (guitarhack's, Splatt88's and DSS3's), so I can't help much, just wishing you good luck and thanks. Too bad I'm using a PC (that's for mac users only, right?). :loco:
 
Great idea.
Do you think youll get the latency down? Im using SIR1 and it has a lot of latency.

This one is stripped for low CPU, not low latency...sorry. Eventually I am going to build up a realtime, super-optimized version from scratch that should be able to deal with it, but THIS version was quick-and-dirty from ready-made code and was made for re-amping and lowest possible CPU headroom, not live performance. The problem is that real-time convolution is patented, so I'll have to see what is up with that.

There is no latency on playback or rendering tracks, but there is from the hardware input. I built it up this way because when i write demo tracks, I can load up a dozen instances of it and have no issues like I do with all my other convolution plugs that make my CPU scream! As it stands, the latency is about half of SIR1, but it uses linear interpolation for the sake of speed, so there will be latency... but the CPU load will be much less. If you want a low-latency plugin right now, the LAConvolver will do it, but at 4-5x the CPU load (on my machine) even though that is a pretty efficient plug as it is.

BUT, what it will also do that SIR1 will not is that it can load stereo and mono, WAV, AIF or SD2 impulse files.


I have a suggestion.
What i woulld like in an ampimpulse plugin is to be able to load two diffrent impulses and have a mixknob between them. So you can blend the two ones to taste without like today having to use two sepreate tracks and two seperate plugs.

I can make that happen. I'll see if I can whip it up for you. Again, I can't promise low latency (it will be about 4096 samples).

I'll post the plugins Saturday afternoon or so, after I get the installer finished. Until then, here is a screenshot:
plug.jpg


And here is a quick audio demo with the default patch... a Helmet riff double-tracked with a bit of reverb: Helmet Riff



Why just mac???????
Are you shure?

Yes, I am sure. I just make plugs for myself and I use a Mac, but I figured I'd give them to you guys just for another alternative to what is out there. There are plenty of free convolution plugs out there for Windows and Linux, but only one or two for macs. I don't have a compiler or programing environment set up for Windows either but maybe if when I go through the bother of doing a realtime version from scratch, I'll port it over to Windows as well.
 
That's a cool idea... I'm actively looking for a "cheap" & good convolution plugin on mac, because SIR2 is still in the beta phase... AltiVerb and Waves Ir are still a little bit expensive... Will your vst run on Intel and PPC ?
 
OK, I have the very first attempt uploaded to my FTP site. I need sone guinea pigs to try it out. It SHOULD run on PowerPC and Intel just fine, even though it is native Intel. Make sure to read the text file included before you install and use. I rolled together an installer package that puts the VST and AU versions where they go, and it installs the runtime framework in the /Library/Frameworks folder. It will make you reboot after installing to make sure everything loads up right.

It should work fine and I tested the installer and plugins on a couple machines, but just to be sure: after you install, BEFORE you try to run it, as with any install: repair your disk permissions with disk utility (shift-apple-U and double click on disk utility) just to make sure that OSX changed the permissions of the files properly and didn't just copy over the permissions from my computer to the plugs.

Consider this an Alpha version that may be a bit buggy, but it is functional. It works 100% in Logic and Garageband, about 99% in Cubase 4 and LE4 (it works fine but sometimes Cubase opens a window bigger than the plugin) and about 50% in Digital Performer and Cubase LE1 (you can't use any of the controls or load any impulses, but you can use the default sample).

If the owners of the impulses you all mentioned post in this thread that I have permission to install their impulses in the plugin, I'll do that and then credit them in the readme file. That way users of Digital Performer and older VST programs will have more choices than the one impulse that is included.

Link removed... see further down

So let me know if it installs and runs properly. Post back here if you have a success or failure. If youhave a problem, post the details of your system: you DAW, your OS version, any error you got, etc.
 
K unfortunately either I am retarded (possible) or this isn't working:

Cubase picture of the plug (no biggie I think you mentioned that this is how it looks on older cubases)
Picture1-2.png

When I try to load an impulse in the drop-down menu I get this error:
Picture2.png

Checked out the AU verson as well (same issue but as you can see I have a gui yay!)
Picture5.png


So let me know if I did something wrong I just ran the installer and did my thing (didn't move anything).

I didn't try (in the AU one) to load any of my own impulses. Maybe I will go try that now.
 
Wait a sec, did you just use Sonic Birth to make this plug? I appreciate the effort, dude, but Sonic Birth is already free and comes with a convolution plug, and seeing as how yours has the same problem in Cubase that it does (the lack of a GUI), well - why did you bother?
 
Wait a sec, did you just use Sonic Birth to make this plug? I appreciate the effort, dude, but Sonic Birth is already free and comes with a convolution plug, and seeing as how yours has the same problem in Cubase that it does (the lack of a GUI), well - why did you bother?

CRAP! I pulled down the file from the server because I forgot to link the impulses. I'll re-up a verson soon with the impulse folder. I'll pull off the UI and get it running. Sorry about that. I should have tested the install on another machine first!!!

I just used the sonicbirth framework since it is simple and open-source. It is either that compile a Linux open source libraries to run on OSX, and sonicbirth ended up being more compatible and more crash-free. I have been working on the basic code from the sonicbirth svn to get it backward compatible, but it is slow going. I'll eventually get it to the point where I can just use Apple's accelerate.framework so that it does not fall prey to the same bugs.

Let me strip it down and re-up a version that should work.


EDIT:

If you have installed the plugin already and it didn't work in Cubase, here is a version with no UI that will.

VST no IU version with impulses

There are instructions on how to use it in the ZIP file, but here it is anyway:

Drag plugin to this folder:

/Library/Audio/Plug-ins/VST

Drag the folder "impulses" to this folder:

/Library/Audio/Plug-ins/Components

The Impulse files in there are just dummies so that the plugin does not complain. You can replace them with any impulses you want, but you have to RE-name them a capital letter of the alphabet and access them from the "presets" menu.

I'll fix the installer package with the AU plugin as soon as I can get to it, and hopefully I'll have time next weekend or so to work on a realtime or at least very low latency version that does not need to install the additional files... just the plugs.
 
Question: I don't have a VST/RTAS wrapper, but this and/or ReValver III would make it a worthwhile purchase. I know RVIII is going to eventually support RTAS, but in the meantime, do you know if your plugin would work in a wrapper?
 
Question: I don't have a VST/RTAS wrapper, but this and/or ReValver III would make it a worthwhile purchase. I know RVIII is going to eventually support RTAS, but in the meantime, do you know if your plugin would work in a wrapper?

I don't know. Those RTAS wrappers are always twitchy. The ReValver guys are working on RTAS support for the next version though, so if they can get it going, you may be in luck.
 
Whats wrong with revalvers convolution engine? It's one of the best IMO.

Absolutely nothing is wrong with it! Except that I prefer Pro Tools to Cubase and Logic. :p But yeah, Michael at Alien Connections/Peavey has said although there won't be native RTAS support at launch, RVIII will add RTAS capability as a free update before too long. I'm just looking for something to use in Pro Tools in the meantime.