https://www.mathworks.com/matlabcentral/answers/?term=tag%3A%22silence+detection%22 might be a beginning.
Isolating words in speech
5 次查看(过去 30 天)
显示 更早的评论
Good day, my task is to say 20 words into my microphone on matlab and to create an algorithm of some sorts in order to take the words given and separate them into their own audio file. This is what I have so far:
clear
r1 = audiorecorder(22050, 24, 1);
disp('Press Enter, then say 20 words that can be used to make multiple sentences');
pause;
recordblocking(r1,12); % speak into microphone & say the words
disp('Press Enter to listen to the recording');
pause;
p = play(r1); % listen
disp('Press Enter to plot the recording');
pause;
mySpeech1 = getaudiodata(r1, 'double'); % get data as int16 array
grid on;
disp('Press enter to save file');
pause;
filename = 'C:\Users\leone\OneDrive\Desktop\Year 2\Semester 2\EERI 222\Practical1\Recording.wav';
audiowrite(filename, mySpeech1,22050);
[yn, fs] = audioread('Noise.wav');
yn=mean(yn); %Get the average noise
[y, fs] = audioread('Recording.wav');
t = linspace(0, 1, size(y,1))/fs;
tTrans=transpose(t); %Time's x-values
y=y-yn; %Remove the average noise
plot(tTrans,y);
hold off;
pause;
If possible could someone please provide an idea of what code i can use or direction I should look into. I've kindof been thrown into the task without resources provided that could help and I'm struggling to find. Thanks in advance!
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio and Video Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!