How do I amplify my sound using soundsc?
18 次查看(过去 30 天)
显示 更早的评论
I want to amplify the sound I produced using soundsc by raising the sound by a steady increase of dB. I am trying to make a hearing test so I need to increase the dB if the user cannot hear. Code:
fs = 8000; %sampling rate
dur = 3;
tt = 0 : 1/fs : dur; %time duration
f=1000; %frequency
vol= db2mag(1);
y=vol*sin(2*pi*f*tt);
soundsc( y, fs );
Where do I apply the dB? When I multiply it to the signal I do not notice a change. Say i increase it from 1 dB to 10, I still do not hear the difference. Another issue, at certain frequencies my sound sounds extremely distorted such as at 20kHz and 30kHz. Why is this? And at certain higher frequencies my sound sounds like it is a lower frequency. For example, at 29kHz it sounds higher than 31kHz. I am fairly new to Matlab so help would be appreciated.
0 个评论
采纳的回答
Jan
2016-12-7
编辑:Jan
2016-12-7
soundsc scale the sound already until the amplitude reachs 1.0 . Try sound instead or audioplayer.
If you have a sampling frequency fs of 8kHz, you cannot create a signal with 29 or 31 kHz. Only frequencies upto half of the sampling rate can be represented. Otherwise the signal has several periods between two time steps. You can see this, by plotting a signal with 7999Hz and 8001Hz. Look in the net for "Nyquist"
4 个评论
Walter Roberson
2018-12-24
Can i amplify Prerecorded audio in R2013a release
Yes.
amp = 4/3; %turn it up loudER
filename_in = 'never_going.wav';
filename_out = 'give_you_up.wav';
[data, fs] = audioread(filename_in);
new_data = data*amp;
new_data = max( min(new_data, 1), -1 ); %clip when it gets too loud
audiowrite(filename_out, new_data, fs);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simultaneous and Synchronized Operations 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!