Small variation in amplitude
조회 수: 3 (최근 30일)
이전 댓글 표시
Does anybody can tell me plz,how can I make change in the amplitude of speech signal ?I need to make small variation in the amplitude.I am working in synthesize speech ,I would like to change the amplitude of the speech signal signal.
댓글 수: 0
채택된 답변
Wayne King
2012년 7월 29일
편집: Wayne King
2012년 7월 29일
You can amplitude modulate the different sections.
For example, I'll amplitude modulate from 1 to 3 seconds in the following signal
Fs = 1000;
t = 0:1/Fs:5-(1/Fs);
x = cos(2*pi*100*t);
x(1000:3000) = x(1000:3000).*(1+0.2*cos(2*pi*10*t(1:2001)));
Vary the modulation depth (I've used 0.2 here) and the modulation frequency (here 10 Hz) to get a realistic variation in amplitude.
The modulation depth should be between 0 and 1, I'm guessing you want a small value like 0.1, 0.2.
The modulation frequency should probably be a low frequency as well maybe 5 Hz or less.
댓글 수: 1
추가 답변 (2개)
Wayne King
2012년 7월 29일
편집: Wayne King
2012년 7월 29일
Just multiply the signal by a constant between 0 and 1
t = linspace(0,1,1000);
x = cos(2*pi*100*t)+sin(2*pi*100*(t-pi/4));
% scale the amplitude by 1/5
y = 0.2*x;
plot(t,x), hold on;
plot(t,y,'r','linewidth',2)
If you want to add just a small variation, then multiply by a factor just slightly over or under 1.
참고 항목
카테고리
Help Center 및 File Exchange에서 Audio Processing Algorithm Design에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!