I have got a duration of speech signal of 3.2 sec how can i split this into 3 equal parts??

1 view (last 30 days)
I have got a duration of speech signal of 3.2 sec how can i split this into 3 equal parts?? can any1 help me with matlab code plss!!!

Accepted Answer

Walter Roberson
Walter Roberson on 29 Apr 2013
firstthird = floor(length(YourSignal)/3);
secondthird = firstthird + floor((length(YourSignal) - firstthird)/2);
part1 = YourSignal(1:firstthird,:);
part2 = YourSignal(firstthird+1:secondthird,:);
part3 = YourSignal(secondthird+1:end, :);
Note that it is possible that the signal is not exactly divisible into 3 pieces. For example, if it were 17 samples then you cannot get 5 2/3 samples per part, and instead need to break it up into 5/5/7 or 5/6/6 or any permutation of those possibilities. The above code would choose 5/6/6 in that case.
  3 Comments
Sony
Sony on 30 Apr 2013
Edited: Sony on 30 Apr 2013
but sir when i used this code i got some words split up ,for eg if the sentence is "all that glitters is not gold "the 1st part that i got is "all that glit" 2nd part "ters is" 3rd part "not gold" so in short the wword are splitted into 1st nd 2nd part,can u help me with some other method so that the word does not get splitted up
Walter Roberson
Walter Roberson on 30 Apr 2013
Your question was about "equal parts", and equal parts can easily end up with split sounds.
You may want to search the forum for "detect silence".

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!