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 Comments

have you tried adding more delay?
Erik
Erik on 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?
can anyone tell the solution for this corus effect please....
Were you able to resolve this error ?

Sign in to comment.

Answers (1)

Aravinth Ananth
Aravinth Ananth on 2 Sep 2020

0 votes

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

Categories

Products

Asked:

on 22 Nov 2012

Commented:

on 18 Nov 2020

Community Treasure Hunt

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

Start Hunting!