Guitar feedback

References : Posted by Sean Costello
Notes :
It is fairly simple to simulate guitar feedback with a simple Karplus-Strong algorithm (this was described in a CMJ article in the early 90's):


Code :
Run the output of the Karplus-Strong delay lines into a nonlinear shaping function for distortion (i.e. 6 parallel delay lines for 6 strings, going into 1 nonlinear shaping function that simulates an overdriven amplifier, fuzzbox, etc.);

Run part of the output into a delay line, to simulate the distance from the amplifier to the "strings";

The delay line feeds back into the Karplus-Strong delay lines. By controlling the amount of the output fed into the delay line, and the length of the delay line, you can control the intensity and pitch of the feedback note.

Comments
from : ignatz[AT]webmail[DOT]co[DOT]za
comment : any C snippet code ??? thx

from : lavirosa21[AT]aol[DOT]com
comment : Are you Sean Costello the Blues Musician/Guitarist? Lenora lavirosa21@aol.com

from : hagenkaiser[AT]gmx[DOT]de
comment : what is a Karplus-Strong-Delay??

from : brainslayer[AT]braincontrol[DOT]org
comment : a physical modelling algorithm

from : jinaborner[AT]mail15[DOT]com
comment : All people deserve good life and <a href="http://goodfinance-blog.com/topics/credit-loans">credit loans</a> or sba loan will make it better. Because people's freedom depends on money.

from : barbarawright[AT]mail15[DOT]com
comment : If you want to buy real estate, you would have to get the loans. Furthermore, my brother all the time takes a financial loan, which supposes to be the most useful.

from : ladyblacklisa[AT]gmail[DOT]com
comment : I claim that the qualified customized papers provider seems to be a rareness at present. Nonetheless, you will determine the trustworthy writing papers service, if try very well!

from : blutanochka[AT]gmail[DOT]com
comment : At present time we have a good chance to take the support of the buy thesis services that will write the finest outline thesis connecting with this topic. But we advice to find the experienced dissertation writing services to buy dissertations in.

from : samantablackeyes[AT]gmail[DOT]com
comment : Thank you for the article just about this topic! This is obviously that the custom writing service can do the essay writing. Thus, there’s a good chance to buy papers or custom writing just about this post.

from : barbarawright[AT]mail15[DOT]com
comment : Do you know that it's the best time to get the credit loans, which would make your dreams come true.

from : luckypamela123[AT]gmail[DOT]com
comment : We must love our teachers for their requirements. They are willing us to be good writers. We have an opportunity to buy a Coursework, however, we will not learn doing that.

from : jorge2017a1[AT]gmail[DOT]com
comment : formula.......... y (n) = x(n) + c * [ y (n-N) + y (n - (N+1))] '''A simple model (based on Karplus-Strong algorithm) may be used to model a plucked string instrument like a guitar. '''The input-output relationship of the causal LTI system is given by: ''' y (n) = x(n) + ? * [ y (n-N) + y (n - (N+1))] ''' '''Where ''' x(n) is a zero mean random variable, uniformly distributed between -1 and 1 ''' y(n) is the output '''c is a real-valued constant, whose typical value is 0.5 (experiment with other values and comment) '''N controls the pitch of the note; N = floor ( Fs / Fp), where Fs is the sampling frequency in Hz, and Fp '''is the pitch of the note in Hz. For example, at 8 kHz sampling frequency, N = 20 implies a pitch frequency of 400 Hz.

from : jorge2017a1[AT]gmail[DOT]com
comment : 'NO esta completo falta algo, no se, si es el filtro biquad Public Function karplustrong_b1(PNumSamples As Long) As Integer() Dim x() As Single Dim y() As Single Dim n As Long Dim Num As Long Dim ArrResp() As Integer Dim C As Single Dim Fs As Long Dim fP As Single Dim amplitud As Long Dim i As Long Dim valor As Single Dim Ind1 As Long Dim Ind2 As Long Dim suma As Single Dim media As Single Dim valorsigno As Single Fs = 44100 fP = 400 '400hz pitch frequency 'Num = (Fs / Fp) ReDim x(PNumSamples) ReDim y(PNumSamples) 'generar numeros aleatorios rango 0 a 1 'iniciar numeros aleatorios Randomize suma = 0 For i = 0 To PNumSamples valor = Rnd * 1 - 0.5 'valorsigno = Rnd * 1 'If valorsigno > 0.5 Then valor = -valor x(i) = valor suma = suma + valor Next media = suma / PNumSamples 'media = 1 'calcular la media y dividir For i = 0 To PNumSamples valor = x(i) x(i) = valor / media Next Num = PNumSamples - 1 C = 0.5 For n = 0 To PNumSamples - 1 'Ind1 = Abs(n - Num) 'Ind2 = Abs(n - (Num + 1)) Ind2 = Abs((n)) Ind2 = Abs((n + 1) Mod Num) / 2 y(n) = x(n) + C * (y(Ind1) + y(Ind2)) Next ReDim ArrResp(PNumSamples) amplitud = 1000 For i = 0 To Num ArrResp(i) = RangoInteger(y(i) * amplitud) Next karplustrong_b1 = ArrResp End Function