create a chorus-effect

I've been trying to create a chorus effect in matlab. But there's something that doesn't work. I want to use this: y(n)=a*x(n) + b(x(n-t))
t= t0 + Asin(2*pi*f*n)
t0 is the delay
This is my attempt:
[x,fs]=wavread('filename.wav');
f=0.25;
delay_in_sampels=0.05*fs;%50 ms delay
index=1:length(x);
sincurve = 1*sin(2*pi*index*f);
y = zeros(length(x):1);
y(1:delay_in_sampels)=x(1:delay_in_sampels);
a=1;
b=5;
for i =(delay_in_sampels+1):length(x)
sink=abs(sincurve(i));
delay=(delay_in_sampels+sink);
o=ceil(i-delay);
y(i)=(a*x(i)) + b*(x(o));
end
soundsc(y,fs)
What's wrong? cause it doesn't sound like a chorus effect imo.

4 commentaires

MatlabPro
MatlabPro le 22 Nov 2012
have you tried adding more delay?
Erik
Erik le 22 Nov 2012
well ye, it sounds, then, like an echo. But if you look at my code, do you see anything that might be wrong? or does it seem to be right?
Aravinth Ananth
Aravinth Ananth le 5 Oct 2020
can anyone tell the solution for this corus effect please....
Vincent Abraham
Vincent Abraham le 18 Nov 2020
Were you able to resolve this error ?

Connectez-vous pour commenter.

Réponses (1)

Aravinth Ananth
Aravinth Ananth le 2 Sep 2020

0 votes

hello cany any one give a correct code for chorus effect in math lab please?

Catégories

Produits

Question posée :

le 22 Nov 2012

Commenté :

le 18 Nov 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by