equalizer with feedback effect

hi there, can you please do customizable eq with feedback effect?

Feedback as in somebody at the club with a broken microphone? “Good evening ladies and gentlemen…eeeeEEEEEEEE.”

That’s not an equalizer effect. Equalizer just pushes around the musical tones and sounds already there. You want to make new sounds.

I’m not sure there is a convenient tool to produce screaming feedback. Maybe another elf will post back.


FeedBug is a free feedback VST for windows users

A very simple form of feedback can be produced with this code in the Nyquist Prompt effect:

;version 4
(feedback-delay *track* 0.0012 1.01)

thanks you guy’s for your help.

how do i put feedback on fundamental like 1 khz?

(setf frequency 440) sets the feedback frequency to 440 Hz
(setf feedback 1.001) sets the feedback amount. Amounts greater than 1.0 will cause runaway feedback.

;version 4
(setf frequency 440)
(setf feedback 1.001)

(clip (feedback-delay *track* (/ 1.0 frequency) feedback) 1)

Variations …

;version 4
(setq A1 (hzosc 0.090909))
(setq A2 (hzosc 0.052631))
(setq A3 (hzosc 0.034482))
(setq A4 (hzosc 0.024390))

(setq P 0.07) ; Recommend P<0.15

(clip (sim (mult A1 -0.5) (mult A2 -0.5) (mult A3 -0.5) (mult A4 -0.5)
 (clip (mult (sum 0.5 (feedback-delay *track* 0.00502512 (* 11 P))) A1).5)
 (clip (mult (sum 0.5 (feedback-delay *track* 0.01492537 (* 3 P))) A2).5)
 (clip (mult (sum 0.5 (feedback-delay *track* 0.02325581 (* 2 P))) A3).5)
 (clip (mult (sum 0.5 (feedback-delay *track* 0.03255813 (* 9 P))) A4).5)).5)

But when applied to stereo-tracks the Left & Right are very different ???
Why Left & Right so different.png

Stereo tracks are passed to Nyquist as a one dimensional array (a “vector”) containing two (mono) “sounds” (one for each channel).

UPDATE: Mini tutorial on this subject added here: http://forum.audacityteam.org/viewtopic.php?f=39&t=94895

The Nyquist manual describes SIM as (abridged):

Returns a sound which is the sum of the given behaviors evaluated with the current value of warp. If behaviors return multiple channel sounds, the corresponding channels are added. If the number of channels does not match, the result has as many channels as the argument with the most channels. For example, if a two-channel sound [L, R] is added to a four-channel sound [C1, C2, C3, C4], the result is [L + C1, R + C2, C3, C4]. Arguments to sim may also be numbers. If all arguments are numbers, sim is equivalent (although slower than) the LISP + function. If a number is added to a sound, snd-offset is used to add the number to each sample of the sound…

Unfortunately the manual does not explicitly state what happens when adding a number to a stereo sound, though we can deduce the behaviour by considering the multi-channel example (also worth noting that Audacity tracks currently support a maximum of 2 channels).

In the example of adding [L, R] to [C1, C2, C3, C4], the first element of the first array (“L”) is added to the first element of the second array (“C1”), the second element of the first array (“R”) is added to the second element of the second array (“C2”), and nothing is added to C3 or C4.
[L, R] + [C1, C2, C3, C4] = [L+C1, R+C2, C3, C4]

A similar thing happens if we add a mono sound to a multi-channel sound:
S + [C1, C2, C3, C4] = [S+C1, C2, C3, C4]

And similar again when adding a number:
0.3 + [C1, C2, C3, C4] = [0.3+C1, C2, C3, C4]

And we can extend this to arrays of numbers:

(print (sum (vector 1 4)
            (vector 2 3 2.5)))
;returns the vector #(3 7 2.5)

So in your code, where you have, for example:

(sum 0.5 (feedback-delay *track* 0.00502512 (* 11 P)))

if “(feedback-delay track 0.00502512 (* 11 P))” is a stereo sound (a vector with 2 “sound” elements), then “0.5” is added to the left channel (the first element) only.

hey steve does the code that Trebor have… is it stereo?

If I only use “clip” once then the code works as-expected (symmetrically) on stereo …

;version 4
(setq A1 (hzosc 0.090909))
(setq A2 (hzosc 0.052631))
(setq A3 (hzosc 0.034482))
(setq A4 (hzosc 0.024390))

(setq P 0.05) ; Recommend P<0.08

(clip (sim (mult A1 -0.5) (mult A2 -0.5) (mult A3 -0.5) (mult A4 -0.5)
(mult (sum 0.5 (feedback-delay *track* 0.00502512 (* 11 P))) A1)
(mult (sum 0.5 (feedback-delay *track* 0.01492537 (* 3 P))) A2)
(mult (sum 0.5 (feedback-delay *track* 0.02325581 (* 2 P))) A3)
(mult (sum 0.5 (feedback-delay *track* 0.03255813 (* 9 P))) A4)).5)

It’s an approximation of the changing acoustic-feedback if the guitarist was moving-about near the loudspeaker

thanks trebor :slight_smile: <3