m |
m |
||
Line 1: | Line 1: | ||
== 1.Introduction == | == 1.Introduction == | ||
− | Sound effects as echo | + | Sound effects such as echo and flanger are largely implemented in sound productions. In this section, you will learn the fundamental ideas of each sound effect and use the signal processing technique in Matlab to create these sound effects to your music. |
== 2.Echo effect == | == 2.Echo effect == | ||
Line 36: | Line 36: | ||
sound(y, fs); % play the echo | sound(y, fs); % play the echo | ||
+ | |||
+ | |||
+ | ==== Example: ==== | ||
+ | original music: | ||
+ | |||
+ | [[File:Singing.wav|thumbnail|singing]] | ||
+ | |||
+ | Echo music: | ||
+ | |||
+ | [[File:Echo.wav|thumbnail]] | ||
Line 73: | Line 83: | ||
for i=D+1:1:xlen | for i=D+1:1:xlen | ||
− | delay(i)=abs(round(D*cos(2*pi*i/(( | + | delay(i)=abs(round(D*cos(2*pi*i/((length-D-1))))); |
y(i)=x(i)+a*x(i-delay(i)); | y(i)=x(i)+a*x(i-delay(i)); |
Revision as of 22:42, 29 November 2015
Contents
1.Introduction
Sound effects such as echo and flanger are largely implemented in sound productions. In this section, you will learn the fundamental ideas of each sound effect and use the signal processing technique in Matlab to create these sound effects to your music.
2.Echo effect
The echo effect can be simply considered as a delay of music signal. It is produced by repeating the original music signal after a fixed amount of time period [1]. This effect is extremely applied in microphones and stereos. A FIR filter with a single delay will achieve this effect. The difference equation for the FIR filter can be written as follows:
Y[n] = X[n] + a * X[n – D]
Where:
X[n] : input signal
Y[n]: output signal
D : number of samples during delay, fixed value
a : attenuation coefficient. |a| < 1
% Matlab code
[x,fs] = wavread(‘singsing.wav’); % load the music and get the sampling frequency
length = size(x); % get the length of the music file
a = 0.3; % set the attenuation factor
delay = 0.38;
D = delay*fs; % set the delay time in s
y = zeros(length); % initialize the output music signal
for i = D + 1 : 1 : length;
y(i) = x(i) + a*x(i-D);
end;
sound(y, fs); % play the echo
Example:
original music:
Echo music:
3.Flanger effect
The flanging effect is produced by mixing two identical music signals with a varying delay function [2]. Unlike the fixed delay D in the echo effect design, the flanger filter has a non-constant delay D, which changes periodically. The difference equation for this flanger filter can be written as follows:
Y[n] = X[n] + a * X[ n – D[n] ]
Where:
X[n] : input signal
Y[n]: output signal
D : periodic delay function
a : attenuation coefficient. |a| < 1
% Matlab code:
[x,fs,n]=wavread('singing.wav');
a=2;
delay=10e-3;
D=ceil(delay*fs);
length=size(x);
y=zeros(length);
for i=1:1:D+1
y(i)=x(i);
end
for i=D+1:1:xlen
delay(i)=abs(round(D*cos(2*pi*i/((length-D-1)))));
y(i)=x(i)+a*x(i-delay(i));
end
Referrence
[1] Ingle, V., & Proakis, J. (2000). Digital signal processing using MATLAB. Pacific Grove, CA: Brooks/Cole.
[2] Michalski, A. (n.d.). Sound effect. Retrieved November 29, 2015, from http://sound.eti.pg.gda.pl/student/eim/synteza/adamx/eindex.html#wstep