views:

149

answers:

5

which tech should I pick up? Should I write a driver or something? Thank you very much

A: 

DirectX - see the FAQ http://msdn.microsoft.com/en-us/library/bb219721.aspx

x0n
+1  A: 

You shouldn't have to write a driver, everything should be doable in userspace.

For one, the amplifier part you shouldn't even need a computer for, unless you are talking about emulating overdrive or other effects.

In that case you'll need to be able to read the microphone, do some transforms on the waveforms and then output them to the speakers. If i was doing this I would use matlab, but not everyone has a bunch of commercial licenses for matlab laying around 24x7.

You should be able to do the math using DirectSound or SDL or one of the other available sound libraries.

However what will be most important isn't your tech, but the math that's going to be involved in manipulating the incoming sound information. Learn to love fast fourier transforms, learn the math behind high pass, low pass, bandpass filters, learn just what guitar effects pedals do to the audio waves, etc. Learn some EE DSP magic.

whatsisname
+1  A: 

I'd make a VST. I've done a couple distortion effects. For an instrument (instead of an effect), you make a VSTi instead.

With a host (which accept VST or DX or both kinds of plugins), you'll be able to route the sound through any number of effects, including the ones you write yourself. There are dozens of commercial and free hosts.

You can play your guitar and have the results come out in real time (or actually, with very low latency depending on the algorithm you're using in the effect and the latency of the host), or you can punch in guitar parts and then mess around with the audio with the effects (drawing curves, entering numbers, or adding LFOs to change the parameters of your effect). You can also use a midi keyboard or controller.

No matter which kind of plugin you write, you can find tons of programming information in the forum posts at KVR Audio, and many programmers hanging out to take you all the way from beginner to guru.

Nosredna
A: 

Thanks in advance.

+2  A: 

Latency is going to be the biggest blocker here - you have to be really fast, even a delay of 10ms will make the instrument unplayable (since what you hear comes after what your hands feel, it's really distracting). ASIO is your best bet for such low-latency requirements.

Paul Betts