Menu

I can not understand this part of tutorial (Basic usage hello world!)

Help
rezaee
2016-09-06
2016-09-08
  • rezaee

    rezaee - 2016-09-06

    I have followed the tutorial till basic usage(hello world) and copied this to my shell:

    gcc -o hello_ps hello_ps.c \
        -DMODELDIR=\"`pkg-config --variable=modeldir pocketsphinx`\" \
        `pkg-config --cflags --libs pocketsphinx sphinxbase`
    

    but I got this Error:

    gcc: error: hello_ps.c: No such file or directory
    

    then I wrote this line as mentioned :
    pkg-config –cflags –libs pocketsphinx sphinxbase

    and got nothing!

    what's the problem and how can I fix it?

     
    • Nickolay V. Shmyrev

      gcc: error: hello_ps.c: No such file or directory

      You should have created the file hello_ps.c with a text editor. The content of this file is discussed in tutorial.

      pkg-config –cflags –libs pocketsphinx sphinxbase

      This means you didn't properly configured your environment as well as described in tutorial. You need to follow the tutorial carefully.

       
      • rezaee

        rezaee - 2016-09-06

        where should I creat hello_ps.c? it should be an empty .txt file?

        about instructions, I did following tutorial and ran ~~~
        'pocketsphinx_continuous -inmic yes'
        ~~~ successfully! but after that I don't know exactly what should I do?

         
        • Nickolay V. Shmyrev

          where should I creat hello_ps.c?

          It does not matter where to create it, I suggest you to have an empty working folder for that.

          it should be an empty .txt file?

          No, it is a source in C language. The content is provided in tutorial.

           
  • rezaee

    rezaee - 2016-09-06

    may you explain what does this part do?

    gcc -o hello_ps hello_ps.c \
        -DMODELDIR=\"`pkg-config --variable=modeldir pocketsphinx`\" \
        `pkg-config --cflags --libs pocketsphinx sphinxbase`
    
     
  • rezaee

    rezaee - 2016-09-06

    I do get this Errors :(

    m@dhcppc0:~/cmu$ gcc -o hello_ps hello_ps.c \
    >     -DMODELDIR=\"`pkg-config --variable=modeldir pocketsphinx`\" \
    >     `pkg-config --cflags --libs pocketsphinx sphinxbase`
    hello_ps.c: In function main:
    hello_ps.c:22:28: warning: passing argument 3 of ps_decode_raw makes integer from pointer without a cast
     rv = ps_decode_raw(ps, fh, "goforward", -1);
                                ^
    In file included from hello_ps.c:1:0:
    /usr/local/include/pocketsphinx/pocketsphinx.h:299:6: note: expected long int but argument is of type char *
     long ps_decode_raw(ps_decoder_t *ps, FILE *rawfh,
          ^
    hello_ps.c:22:6: error: too many arguments to function ps_decode_raw
     rv = ps_decode_raw(ps, fh, "goforward", -1);
          ^
    In file included from hello_ps.c:1:0:
    /usr/local/include/pocketsphinx/pocketsphinx.h:299:6: note: declared here
     long ps_decode_raw(ps_decoder_t *ps, FILE *rawfh,
          ^
    hello_ps.c:26:7: error: too many arguments to function ps_get_hyp
     hyp = ps_get_hyp(ps, &score, &uttid);
           ^
    In file included from hello_ps.c:1:0:
    /usr/local/include/pocketsphinx/pocketsphinx.h:409:13: note: declared here
     char const *ps_get_hyp(ps_decoder_t *ps, int32 *out_best_score);
    
     

    Last edit: rezaee 2016-09-06
    • Nickolay V. Shmyrev

      The code you used in hello_ps.c is different from the one provided in tutorial. In tutorial you will see:

        rv = ps_process_raw(ps, buf, nsamp, FALSE, FALSE);
      

      The code you used is outdated.

       
      • rezaee

        rezaee - 2016-09-06

        may you give me the true code?

         
  • rezaee

    rezaee - 2016-09-08

    I made a (hello_ps.c) file and wrote this code inside and saved:

    #include <pocketsphinx.h>
    
    int
    main(int argc, char *argv[])
    {
        ps_decoder_t *ps;
        cmd_ln_t *config;
        FILE *fh;
        char const *hyp, *uttid;
        int16 buf[512];
        int rv;
        int32 score;
    
        config = cmd_ln_init(NULL, ps_args(), TRUE,
                     "-hmm", MODELDIR "/en-us/en-us",
                     "-lm", MODELDIR "/en-us/en-us.lm.bin",
                     "-dict", MODELDIR "/en-us/cmudict-en-us.dict",
                     NULL);
        if (config == NULL) {
            fprintf(stderr, "Failed to create config object, see log for details\n");
            return -1;
        }
    
        ps = ps_init(config);
        if (ps == NULL) {
            fprintf(stderr, "Failed to create recognizer, see log for details\n");
            return -1;
        }
    
        fh = fopen("goforward.raw", "rb");
        if (fh == NULL) {
            fprintf(stderr, "Unable to open input file goforward.raw\n");
            return -1;
        }
    
        rv = ps_start_utt(ps);
    
        while (!feof(fh)) {
            size_t nsamp;
            nsamp = fread(buf, 2, 512, fh);
            rv = ps_process_raw(ps, buf, nsamp, FALSE, FALSE);
        }
    
        rv = ps_end_utt(ps);
        hyp = ps_get_hyp(ps, &score);
        printf("Recognized: %s\n", hyp);
    
        fclose(fh);
        ps_free(ps);
        cmd_ln_free_r(config);
    
        return 0;
    }
    

    and went to it's directory by terminal: /home/cmu/ and wrote this code

    gcc -o hello_ps hello_ps.c \
        -DMODELDIR=\"`pkg-config --variable=modeldir pocketsphinx`\" \
        `pkg-config --cflags --libs pocketsphinx sphinxbase`
    

    But I got nothing after that! nothing happend!
    I don't know why?

     
    • Nickolay V. Shmyrev

      It created a binary executable hello_ps which you can now run.

       
      • rezaee

        rezaee - 2016-09-08

        I did run the file and got this
        So, is this meaning that everything is ok and true and I can keeping tutorials?

        mm@linux-i6va:~/CMU> ./hello_ps
        INFO: pocketsphinx.c(152): Parsed model-specific feature parameters from /usr/local/share/pocketsphinx/model/en-us/en-us/feat.params
        Current configuration:
        [NAME]          [DEFLT]     [VALUE]
        -agc            none        none
        -agcthresh      2.0     2.000000e+00
        -allphone               
        -allphone_ci        no      no
        -alpha          0.97        9.700000e-01
        -ascale         20.0        2.000000e+01
        -aw         1       1
        -backtrace      no      no
        -beam           1e-48       1.000000e-48
        -bestpath       yes     yes
        -bestpathlw     9.5     9.500000e+00
        -ceplen         13      13
        -cmn            current     current
        -cmninit        8.0     40,3,-1
        -compallsen     no      no
        -debug                  0
        -dict                   /usr/local/share/pocketsphinx/model/en-us/cmudict-en-us.dict
        -dictcase       no      no
        -dither         no      no
        -doublebw       no      no
        -ds         1       1
        -fdict                  
        -feat           1s_c_d_dd   1s_c_d_dd
        -featparams             
        -fillprob       1e-8        1.000000e-08
        -frate          100     100
        -fsg                    
        -fsgusealtpron      yes     yes
        -fsgusefiller       yes     yes
        -fwdflat        yes     yes
        -fwdflatbeam        1e-64       1.000000e-64
        -fwdflatefwid       4       4
        -fwdflatlw      8.5     8.500000e+00
        -fwdflatsfwin       25      25
        -fwdflatwbeam       7e-29       7.000000e-29
        -fwdtree        yes     yes
        -hmm                    /usr/local/share/pocketsphinx/model/en-us/en-us
        -input_endian       little      little
        -jsgf                   
        -keyphrase              
        -kws                    
        -kws_delay      10      10
        -kws_plp        1e-1        1.000000e-01
        -kws_threshold      1       1.000000e+00
        -latsize        5000        5000
        -lda                    
        -ldadim         0       0
        -lifter         0       22
        -lm                 /usr/local/share/pocketsphinx/model/en-us/en-us.lm.bin
        -lmctl                  
        -lmname                 
        -logbase        1.0001      1.000100e+00
        -logfn                  
        -logspec        no      no
        -lowerf         133.33334   1.300000e+02
        -lpbeam         1e-40       1.000000e-40
        -lponlybeam     7e-29       7.000000e-29
        -lw         6.5     6.500000e+00
        -maxhmmpf       30000       30000
        -maxwpf         -1      -1
        -mdef                   
        -mean                   
        -mfclogdir              
        -min_endfr      0       0
        -mixw                   
        -mixwfloor      0.0000001   1.000000e-07
        -mllr                   
        -mmap           yes     yes
        -ncep           13      13
        -nfft           512     512
        -nfilt          40      25
        -nwpen          1.0     1.000000e+00
        -pbeam          1e-48       1.000000e-48
        -pip            1.0     1.000000e+00
        -pl_beam        1e-10       1.000000e-10
        -pl_pbeam       1e-10       1.000000e-10
        -pl_pip         1.0     1.000000e+00
        -pl_weight      3.0     3.000000e+00
        -pl_window      5       5
        -rawlogdir              
        -remove_dc      no      no
        -remove_noise       yes     yes
        -remove_silence     yes     yes
        -round_filters      yes     yes
        -samprate       16000       1.600000e+04
        -seed           -1      -1
        -sendump                
        -senlogdir              
        -senmgau                
        -silprob        0.005       5.000000e-03
        -smoothspec     no      no
        -svspec                 0-12/13-25/26-38
        -tmat                   
        -tmatfloor      0.0001      1.000000e-04
        -topn           4       4
        -topn_beam      0       0
        -toprule                
        -transform      legacy      dct
        -unit_area      yes     yes
        -upperf         6855.4976   6.800000e+03
        -uw         1.0     1.000000e+00
        -vad_postspeech     50      50
        -vad_prespeech      20      20
        -vad_startspeech    10      10
        -vad_threshold      2.0     2.000000e+00
        -var                    
        -varfloor       0.0001      1.000000e-04
        -varnorm        no      no
        -verbose        no      no
        -warp_params                
        -warp_type      inverse_linear  inverse_linear
        -wbeam          7e-29       7.000000e-29
        -wip            0.65        6.500000e-01
        -wlen           0.025625    2.562500e-02
        
        INFO: feat.c(715): Initializing feature stream to type: '1s_c_d_dd', ceplen=13, CMN='current', VARNORM='no', AGC='none'
        INFO: cmn.c(143): mean[0]= 12.00, mean[1..12]= 0.0
        INFO: acmod.c(164): Using subvector specification 0-12/13-25/26-38
        INFO: mdef.c(518): Reading model definition: /usr/local/share/pocketsphinx/model/en-us/en-us/mdef
        INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef file
        INFO: bin_mdef.c(336): Reading binary model definition: /usr/local/share/pocketsphinx/model/en-us/en-us/mdef
        INFO: bin_mdef.c(516): 42 CI-phone, 137053 CD-phone, 3 emitstate/phone, 126 CI-sen, 5126 Sen, 29324 Sen-Seq
        INFO: tmat.c(206): Reading HMM transition probability matrices: /usr/local/share/pocketsphinx/model/en-us/en-us/transition_matrices
        INFO: acmod.c(117): Attempting to use PTM computation module
        INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /usr/local/share/pocketsphinx/model/en-us/en-us/means
        INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
        INFO: ms_gauden.c(294):  128x13
        INFO: ms_gauden.c(294):  128x13
        INFO: ms_gauden.c(294):  128x13
        INFO: ms_gauden.c(198): Reading mixture gaussian parameter: /usr/local/share/pocketsphinx/model/en-us/en-us/variances
        INFO: ms_gauden.c(292): 42 codebook, 3 feature, size: 
        INFO: ms_gauden.c(294):  128x13
        INFO: ms_gauden.c(294):  128x13
        INFO: ms_gauden.c(294):  128x13
        INFO: ms_gauden.c(354): 222 variance values floored
        INFO: ptm_mgau.c(476): Loading senones from dump file /usr/local/share/pocketsphinx/model/en-us/en-us/sendump
        INFO: ptm_mgau.c(500): BEGIN FILE FORMAT DESCRIPTION
        INFO: ptm_mgau.c(563): Rows: 128, Columns: 5126
        INFO: ptm_mgau.c(595): Using memory-mapped I/O for senones
        INFO: ptm_mgau.c(835): Maximum top-N: 4
        INFO: phone_loop_search.c(114): State beam -225 Phone exit beam -225 Insertion penalty 0
        INFO: dict.c(320): Allocating 138623 * 32 bytes (4331 KiB) for word entries
        INFO: dict.c(333): Reading main dictionary: /usr/local/share/pocketsphinx/model/en-us/cmudict-en-us.dict
        INFO: dict.c(213): Allocated 1014 KiB for strings, 1677 KiB for phones
        INFO: dict.c(336): 134522 words read
        INFO: dict.c(358): Reading filler dictionary: /usr/local/share/pocketsphinx/model/en-us/en-us/noisedict
        INFO: dict.c(213): Allocated 0 KiB for strings, 0 KiB for phones
        INFO: dict.c(361): 5 words read
        INFO: dict2pid.c(396): Building PID tables for dictionary
        INFO: dict2pid.c(406): Allocating 42^3 * 2 bytes (144 KiB) for word-initial triphones
        INFO: dict2pid.c(132): Allocated 42672 bytes (41 KiB) for word-final triphones
        INFO: dict2pid.c(196): Allocated 42672 bytes (41 KiB) for single-phone word triphones
        INFO: ngram_model_trie.c(347): Trying to read LM in trie binary format
        INFO: ngram_search_fwdtree.c(99): 790 unique initial diphones
        INFO: ngram_search_fwdtree.c(148): 0 root, 0 non-root channels, 57 single-phone words
        INFO: ngram_search_fwdtree.c(186): Creating search tree
        INFO: ngram_search_fwdtree.c(192): before: 0 root, 0 non-root channels, 57 single-phone words
        INFO: ngram_search_fwdtree.c(326): after: max nonroot chan increased to 152144
        INFO: ngram_search_fwdtree.c(339): after: 722 root, 152016 non-root channels, 53 single-phone words
        INFO: ngram_search_fwdflat.c(157): fwdflat: min_ef_width = 4, max_sf_win = 25
        INFO: cmn_prior.c(131): cmn_prior_update: from < 40.00  3.00 -1.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 >
        INFO: cmn_prior.c(149): cmn_prior_update: to   < 41.00 -5.29 -0.12  5.09  2.48 -4.07 -1.37 -1.78 -5.08 -2.05 -6.45 -1.42  1.17 >
        INFO: ngram_search_fwdtree.c(1553):     3180 words recognized (12/fr)
        INFO: ngram_search_fwdtree.c(1555):   607662 senones evaluated (2319/fr)
        INFO: ngram_search_fwdtree.c(1559):  1366087 channels searched (5214/fr), 145035 1st, 129779 last
        INFO: ngram_search_fwdtree.c(1562):     6892 words for which last channels evaluated (26/fr)
        INFO: ngram_search_fwdtree.c(1564):    53210 candidate words for entering last phone (203/fr)
        INFO: ngram_search_fwdtree.c(1567): fwdtree 1.11 CPU 0.423 xRT
        INFO: ngram_search_fwdtree.c(1570): fwdtree 1.11 wall 0.423 xRT
        INFO: ngram_search_fwdflat.c(302): Utterance vocabulary contains 155 words
        INFO: ngram_search_fwdflat.c(948):     2524 words recognized (10/fr)
        INFO: ngram_search_fwdflat.c(950):   110289 senones evaluated (421/fr)
        INFO: ngram_search_fwdflat.c(952):   199199 channels searched (760/fr)
        INFO: ngram_search_fwdflat.c(954):    11797 words searched (45/fr)
        INFO: ngram_search_fwdflat.c(957):     8126 word transitions (31/fr)
        INFO: ngram_search_fwdflat.c(960): fwdflat 0.15 CPU 0.056 xRT
        INFO: ngram_search_fwdflat.c(963): fwdflat 0.15 wall 0.057 xRT
        INFO: ngram_search.c(1253): lattice start node <s>.0 end node </s>.212
        INFO: ngram_search.c(1279): Eliminated 1 nodes before end node
        INFO: ngram_search.c(1384): Lattice has 446 nodes, 717 links
        INFO: ps_lattice.c(1380): Bestpath score: -7300
        INFO: ps_lattice.c(1384): Normalizer P(O) = alpha(</s>:212:260) = -471954
        INFO: ps_lattice.c(1441): Joint P(O,S) = -534099 P(S|O) = -62145
        INFO: ngram_search.c(875): bestpath 0.00 CPU 0.002 xRT
        INFO: ngram_search.c(878): bestpath 0.00 wall 0.001 xRT
        Recognized: go forward ten meters
        INFO: ngram_search_fwdtree.c(432): TOTAL fwdtree 1.11 CPU 0.425 xRT
        INFO: ngram_search_fwdtree.c(435): TOTAL fwdtree 1.11 wall 0.425 xRT
        INFO: ngram_search_fwdflat.c(176): TOTAL fwdflat 0.15 CPU 0.057 xRT
        INFO: ngram_search_fwdflat.c(179): TOTAL fwdflat 0.15 wall 0.058 xRT
        INFO: ngram_search.c(303): TOTAL bestpath 0.00 CPU 0.002 xRT
        INFO: ngram_search.c(306): TOTAL bestpath 0.00 wall 0.001 xRT
        

        So, is this meaning that everything is ok and true and I can keeping tutorials?

         

        Last edit: rezaee 2016-09-09

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.