creating feedback, like a guitar amp might

Jay's icon

Hi,

I'm sure this question has been raised a few dozen times, but I skimmed over the search:feedback results without finding an appropriate answer.

I like feedback!

In a guitar amp, feedback is generated when the sound from the amplifier is picked up by the guitar's pickups and fed back through the amplifier, and so on.

How would it be possible to emulate this process in Max, with a dial (for example) representing the angle of guitar to amp? So 0 is no feedback (pickups are not receiving the signal from the amplifier), and 127 is maximum feedback (guitarist is fully facing amplifier.

Any suggestions are happily welcomed.

Jay

Bertrand Fraysse's icon

Feedback with microphones, usually create a pure wave, like a sine wave.
I never analysed a feedback generated sound but to my hears, it's a sine waves or maybe a soft triangle one.

Maybe you can analyse the main pitch of your sound and create a sine wave related to this pitch...

If your guitar is closer to the amp, the sine wave is louder.
You can add a sort of distortion simulation by morphing the sine wave to a triangle and to square one.

The difficulty would be to have the frequency logically move from a frequency to an other one.
Frequency movement in Feedback are smooth and somewhat chaotic.
It goes from one harmonic to the others.

I think you'll create a strange synth more than a feedback simulator, but it's maybe interesting.

You can work with feedback with effects too, by feeding the output back to the input...
It creates interesting sound with granulation for example.

Brad Garton's icon

In rtcmix~. there is an instrument called STRUM2 (also the older
STRUM) which implements a feedback/distortion emulation described by
Charles Sullivan:

    C.R. Sullivan. "Extending the Karplus-Strong Algorithm to Synthesize
Electric Guitar Timbres with Distortion and Feedback." Computer Music
J., Vol. 14, No. 3, 1990, pp. 26-37.

You are able to model the path between the amp and guitar by
specifying a 'feedback pitch', which sets the length of the delay line
for producing the harmonics typically associated with that kind of
guitar sound. The source code is available in the RTcmix distribution.

The PerCoLate objects blotar~ also has this feature, but it's a fun
blend between a guitar and a flute model.

On Oct 28, 2008, at 9:26 AM, Jay Bodley wrote:

>
> Hi,
>
> I'm sure this question has been raised a few dozen times, but I
> skimmed over the search:feedback results without finding an
> appropriate answer.
>
> I like feedback!
>
> In a guitar amp, feedback is generated when the sound from the
> amplifier is picked up by the guitar's pickups and fed back through
> the amplifier, and so on.
>
> How would it be possible to emulate this process in Max, with a dial
> (for example) representing the angle of guitar to amp? So 0 is no
> feedback (pickups are not receiving the signal from the amplifier),
> and 127 is maximum feedback (guitarist is fully facing amplifier.
>
> Any suggestions are happily welcomed.
>
> Jay
>

swieser1's icon

Just use a [tapin~] [tapout~] pair. Connect the output of the tapout~ to a [*~] object, and then connect the output of the [*~] object back into the tapin~ input. You'll want to listen to the output of the tapout~ object (i.e. connect that to the dac).

Adjust the delay time to change the feedback frequency (i.e. 1ms delay would result in a 1000 Hz feedback frequency). Use the *~ object to adjust the volume of the feedback signal, which ultimately will adjust how loud the feedback frequency is, and how long it takes to decay. Sending a value like 0.99 into the *~ object will result in a loud feedback frequency with a long decay. 0.8 would probably result in a less loud feedback with a short decay. 1.01 will probably result in a quickly increasing volume followed by massive clipping.

You'll also need something to "trigger" the feedback loop, i.e. an initial sound from a microphone or guitar or even a generated sound within max.

Make sense? Check out the tapin~ tapout~ help files.

swieser1's icon

here.. see if this makes any sense. it's the patch i described above, with a couple of different "exciters". one is your computer's audio input, another is a short sine wave burst, and the last is a short white noise burst. you can adjust the feedback frequency, the feedback gain, and the overall volume.

let me know if you don't get it.

Max Patch
Copy patch and select New From Clipboard in Max.

Jay's icon

I'm sorry, I always forget to mention I'm using 4.6

swieser1's icon

hmm, not sure if you can open .maxpat files in 4.6, but i attached it here.

if you can't open it with 4.6, you can certainly open it with max5 runtime, which you can get for free off of c74's website.

jayrope's icon

Yes i second Swieser's approach.

I am working on something like this myself, and of course it turns out, that the simple tapin/tapout with feedback idea only gets one half way there. A 1ms delay with full feedback produces a feedback with a base freq of 1000 Hz, but incl. frequencies above 1000 Hz, too.

A fully working approach probably needed one or more bandpass filter in the feedback chain [reso~], which adjusts to the delay base freq and it's 2nd to 4th harmonics probably automatically, as well as feature two adjustable speaker-simulation type of compression (bouncy, punchy).
One before the bandpass(es) - the guitar amp speaker membrane (not to speak of the compression of the amp itself) -
and one right after the bandpass - the microphone membrane or the guitar pickup.

Sounds like a monster of a patch to me already.

It might turn out to be better sounding and much easier to use a real amp and a guitar pickup or mic.

Or a plastic tube with a speaker one end, facing inwards, and a microphone on a stick to insert into it from the other side.

Anyways, i am working on a max thing like this already.

Did you get somewhere with your approach? I am on 4.63, too.

jrp

marlon brando's icon

Quote: jayrope wrote on Thu, 27 November 2008 08:05
----------------------------------------------------
> Yes i second Swieser's approach.
>
> I am working on something like this myself, and of course it turns out, that the simple tapin/tapout with feedback idea only gets one half way there. A 1ms delay with full feedback produces a feedback with a base freq of 1000 Hz, but incl. frequencies above 1000 Hz, too.
>
> A fully working approach probably needed one or more bandpass filter in the feedback chain [reso~], which adjusts to the delay base freq and it's 2nd to 4th harmonics probably automatically, as well as feature two adjustable speaker-simulation type of compression (bouncy, punchy).
> One before the bandpass(es) - the guitar amp speaker membrane (not to speak of the compression of the amp itself) -
> and one right after the bandpass - the microphone membrane or the guitar pickup.
>
> Sounds like a monster of a patch to me already.
>
> It might turn out to be better sounding and much easier to use a real amp and a guitar pickup or mic.
>
> Or a plastic tube with a speaker one end, facing inwards, and a microphone on a stick to insert into it from the other side.
>
> Anyways, i am working on a max thing like this already.
>
> Did you get somewhere with your approach? I am on 4.63, too.
>
> jrp
----------------------------------------------------

sounds like a very cool patch to me !
please show me the patch you are working on !

Cheers

jayrope's icon

Morning guys and gals (1a.m...),

didn't really get to work on it, here's a quick shot just with [clip~] and a self-adjusting [reson~] filter, which i ran just on some old tapes of miles davis, to see if it does the basics. it still sounds "digital" to me, however it is adjustable & might be of some use & for some of you.

good night, enjoy,

jrp

Max Patch
Copy patch and select New From Clipboard in Max.

mesa.elech/tele's icon

another vote for [reson~].

i think it's hard to emulate guitar feedback sound by actually feedbacking with tapin~/tapout~ in max.

when i made a guitar feedback emulator,
i used fm synth + reson~ and get a somewhat usable result.
http://ondomusic.com/mes01.html
(tgr_onky.txt in the archive is the editable max4 patch)

Jay's icon

thanks for sharing this... it looks cool. can't wait to dig in.

marlon brando's icon

Is this patch similar to patches for physical modelling of instruments like pan flutes?

Arent they also based on feedbackloops with whitenoise as excitatiors, and some compression/filtering and saturation on the feedback or something?

Cheers

Zh's icon

Have you tried the Best Plugin Ever (tm), Pluggo's "Feedback Network"? It's obviously made in Max but as its a VST you can't see the code. Its feedback sounds are amazing, the best digital feedback I've ever heard. I've been wondering how it's done for a long while. Can anyone shed any light?

Erik Schoster's icon

I'd just like to weigh in after discovering this thread a year later to say thanks Brad for RTCMix and STRUM2! Sounds totally gorgeous and does exactly what I was expecting to spend months trying to create from scratch. Now time to make some music. :-)