Sound processing dividing words
1 ビュー (過去 30 日間)
Good day, I'm audioreading a audio file with words said seperately, I.G, "One, two, three, four, five, six" till twenty. I plotted it and used the movemax() function to obtain a better idea of where the words start and end. The problem however is, to determine the starting point and ending point of each word. Everything I've tried fails and it's this task is due for tommorrow. Some of the words such as "six-teen" has two syllables and shouldn't have 2 start and ending points. This is what I have:
You can see the later words have 2 syllables and this is what makes most my ideas fail. I want to then use these startpoints and endpoints to plot word alone. (I've already made this function). Help would be extremely appreciated!! I really don't have much time left for this project and still have many others.
Image Analyst 2021 年 9 月 13 日
You can do this easily for well separated words (that have silence between them) by thresholding.
mask = y > 0.01; % Whatever. It's a word if the amplitude is higher than 0.01
% Don't include "words" less than 5 elements long (or whatever you want);
mask = bwareaopen(mask, 5);
% Label each word with a unique identifying number ("label").
[labeledSignal, numWords] = bwlabel(mask);
% Extract each word
for k = 1 : numWords
indexes = ismember(labeledSignal, k)
thisWord = y(indexes);
% Do whatever you want with thisWord.