Sound processing dividing words

3 visualizaciones (últimos 30 días)
Leon Ellis
Leon Ellis el 13 de Sept. de 2021
Comentada: Star Strider el 14 de Sept. de 2021
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.

Respuesta aceptada

Image Analyst
Image Analyst el 13 de Sept. de 2021
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.
end
  6 comentarios
Leon Ellis
Leon Ellis el 14 de Sept. de 2021
I cannot thank you enough, I had to just change the elements used to determine words with 1 syllable and 2. This was a great solution and work perfectly! I will change it up quite a bit but the concept will stay the same. Thank you very very much!
Star Strider
Star Strider el 14 de Sept. de 2021
My impression is that this is a homework assignment:
Everything I've tried fails and it's this task is due for tommorrow.
I really don't have much time left for this project and still have many others.
I decided to propose a solution to the problem of separating the words, since a complete solution would not be in the long-term best interests of the OP, and leave the rest. I’ve deleted my Answer.
.

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by