Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

Matlab Question...

  • 26-07-2007 4:09pm
    #1
    Registered Users, Registered Users 2 Posts: 250 ✭✭


    Hi all - i am using wavread() to import a short sentance into matlab, any ideas as to how i can split it into words?:confused:


Comments

  • Registered Users, Registered Users 2 Posts: 378 ✭✭sicruise


    Could you design a band pass filter where the start and end of the filter are at low volume sections of the wav file...


  • Closed Accounts Posts: 909 ✭✭✭Gareth37


    fguinan wrote:
    Hi all - i am using wavread() to import a short sentance into matlab, any ideas as to how i can split it into words?:confused:

    Yes, well I can split active speech segments. Its almost impossible to split sentence into words as many words will be "stuck together".

    You need to have start and end point detection. I have code for this somewhere but not here but here is a guide.....

    (1) Find the "energy" of each sample by squaring.

    (2) When the energy of a number of consecutive samples is above a certain threshold then take the first of these samples as your start point.

    (3) Now you want to find the end point so do the opposite and so on.

    Store the start points in a vector and the corresponding end points in a corresponding vector.

    eg if the start point of the 2nd word is sample number 789 an the end point is sample number 1589 then active speech segment 2 (and maybe word 2) is array_name(789:1589). You may want to add a few samples at the start and end so that that you don't lose any speech. The thresholds and numbe rof consecutive samples to choose need to derived by trial and error until you find the most effective combination.

    If you want to split words up in a sentence then maybe there are algorithms out there for this. I would post a message on the auditory list .org thing run by Dan Ellis.


  • Closed Accounts Posts: 909 ✭✭✭Gareth37


    Of course you can do this easily manually but I assume you already know this.


  • Registered Users, Registered Users 2 Posts: 250 ✭✭fguinan


    Thanks Gareth - i willl give it a shot.
    I was playing around with using the zero crossing rate of the signal to find the active segmants...


  • Closed Accounts Posts: 909 ✭✭✭Gareth37


    fguinan wrote:
    Thanks Gareth - i willl give it a shot.
    I was playing around with using the zero crossing rate of the signal to find the active segmants...

    Yes, if you use the zero cross count with the energy threshold level detector then you should be able to get a very effective start and end point detection. Don't think this will work for splitting up a flowing sentence though. It will be difficult enough but Im sure there are algorithms out there for doing this.


  • Advertisement
Advertisement