Menu

FSG Syntax on PocketSphinx

Help
creative64
2010-05-14
2012-09-22
  • creative64

    creative64 - 2010-05-14

    Hi, I'm running following jsfg file with PocketSphinx. It works fine but
    sometimes I'm seeing partial/mix-and-match output (as I would expect from a
    statistical model but not from FSG) as follows (each line is a separate run):

    MY
    MY MARTIN LUTHAR KING
    DIAL
    SILENT CHAN

    According to JSGF syntax rules it should not be happening. I should be getting
    the complete sentences (unless deliberate options are placed with square
    brackets). Is there an issue or this is the way it is implemented !

    JSGF V1.0;

    grammar nokia;

    public = <profile> | <radio> | <record> | <log> | <battery> | <web>
    | <messages> | <name_dialling> ; </name_dialling></messages></web></battery></log></record></radio></profile>

    <profile> = <profile_general> | <profile_silent> | <profile_meeting> |
    <profile_outdoor> | <profile_my_style_1> | <profile_my_style_2> | <flight>;
    <profile_general> = GENERAL;
    <profile_silent> = SILENT;
    <profile_meeting> = MEETING;
    <profile_outdoor> = OUTDOOR;
    <profile_my_style_1> = MY STYLE 1;
    <profile_my_style_2> = MY STYLE 2;
    <flight> = FLIGHT;
    <radio> = <radio_on> | <radio_off> | <next_station> | <previous_station>;
    <radio_on> = RADIO ON;
    <radio_off> = RADIO OFF;
    <next_station> = NEXT STATION;
    <previous_station> = PREVIOUS STATION;
    <record> = RECORD;
    <log> = <missed_calls> | <received_calls>;
    <missed_calls> = MISSED CALLS;
    <received_calls> = RECEIVED CALLS;
    <battery> = <audible_battery_bar> | <audible_signal_bar>;
    <audible_battery_bar> = AUDIBLE BATTERY BAR;
    <audible_signal_bar> = AUDIBLE SIGNAL BAR;
    <web> = HOMEPAGE;
    <messages> = CALL VOICE MAILBOX;
    <name_dialling> = <name_list>;
    <name_list> = <john_thomas> | <martin_luthar_king> | <jacky_chan>;
    <john_thomas> = JOHN THOMAS;
    <martin_luthar_king> = MARTIN LUTHAR KING;
    <jacky_chan> = JACKY CHAN; </jacky_chan></martin_luthar_king></john_thomas></jacky_chan></martin_luthar_king></john_thomas></name_list></name_list></name_dialling></messages></web></audible_signal_bar></audible_battery_bar></audible_signal_bar></audible_battery_bar></battery></received_calls></missed_calls></received_calls></missed_calls></log></record></previous_station></next_station></radio_off></radio_on></previous_station></next_station></radio_off></radio_on></radio></flight></profile_my_style_2></profile_my_style_1></profile_outdoor></profile_meeting></profile_silent></profile_general></flight></profile_my_style_2></profile_my_style_1></profile_outdoor></profile_meeting></profile_silent></profile_general></profile>

    Note: My actual name list is big I've just shortened it for illustration
    purposes.

     
  • Nickolay V. Shmyrev

    Is there an issue or this is the way it is implemented !

    This is how things are implemented.

     
  • creative64

    creative64 - 2010-05-17

    Is there/will there be a way to force pocketsphinx (0.6 or any upcomiing
    releases) to follow sentences strictly and avoid mix and match ?

    Regards,

     
  • Nickolay V. Shmyrev

    Maybe, but I wouldn't recommend you to rely on that. Grammar helps engine to
    make search faster, but it can't correct what user said. You have to deal with
    repetitions, pauses and out-of-grammar words yourself. To get semantic of
    voice command you need to have upper layer of recognizer responsible for
    semantic analysys. You can check CMU Olimpus project or Let's go system for
    details on how it's done in practice.

     
  • creative64

    creative64 - 2010-05-18

    Thanks nshmyrev...

    Regards,

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.