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

2 次查看(过去 30 天)
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!!!

采纳的回答

Walter Roberson
Walter Roberson 2013-4-29
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 个评论
Sony
Sony 2013-4-30
编辑:Sony 2013-4-30
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 2013-4-30
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".

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by