PocketSphinx is a lightweight speech recognition engine, specifically tuned for handheld and mobile devices, though it works equally well on the desktop

Overview

PocketSphinx 5prealpha

This is PocketSphinx, one of Carnegie Mellon University's open source large vocabulary, speaker-independent continuous speech recognition engine.

THIS IS A RESEARCH SYSTEM. This is also an early release of a research system. We know the APIs and function names are likely to change, and that several tools need to be made available to make this all complete. With your help and contributions, this can progress in response to the needs and patches provided.

Please see the LICENSE file for terms of use.

Prerequisites

You must have SphinxBase, which you can download from http://cmusphinx.sourceforge.net. Download and unpack it to the same parent directory as PocketSphinx, so that the configure script and project files can find it. On Windows, you will need to rename 'sphinxbase-X.Y' (where X.Y is the SphinxBase version number) to simply 'sphinxbase' for this to work.

Linux/Unix installation

In a unix-like environment (such as linux, solaris etc):

  • Build and optionally install SphinxBase. If you want to use fixed-point arithmetic, you must configure SphinxBase with the --enable-fixed option.

  • If you downloaded directly from the CVS repository, you need to do this at least once to generate the "configure" file:

    $ ./autogen.sh
    
  • If you downloaded the release version, or ran autogen.sh at least once, then compile and install:

    $ ./configure
    $ make clean all
    $ make check
    $ sudo make install
    

Xcode Installation (for iPhone)

Pocketsphinx uses the standard unix autogen system, you can build pocketsphinx with automake given you already built sphinxbase You just need to pass correct configure arguments, set compiler path, set sysroot and other options. After you build the code you need to import dylib file into your project and you also need to configure includes for your project to find sphinxbase headers.

You also will have to create a recorder to capture audio with CoreAudio and feed it into the recognizer.

For details see http://github.com/cmusphinx/pocketsphinx-ios-demo

If you want to quickly start with Pocketsphinx, try OpenEars toolkit which includes Pocketsphinx http://www.politepix.com/openears/

Android installation

See http://github.com/cmusphinx/pocketsphinx-android-demo.

MS Windows™ (MS Visual Studio 2012 (or newer - we test with VC++ 2012 Express)

  • load sphinxbase.sln located in sphinxbase directory

  • compile all the projects in SphinxBase (from sphinxbase.sln)

  • load pocketsphinx.sln in pocketsphinx directory

  • compile all the projects in PocketSphinx

MS Visual Studio will build the executables under .\bin\Release or .\bin\Debug (depending on the version you choose on MS Visual Studio), and the libraries under .\lib\Release or .\lib\Build.

Test scripts are forthcoming for Windows.

For up-to-date information, see http://cmusphinx.sourceforge.net.

Comments
  • FATAL:

    FATAL: "cmn.c", line 126: Unknown CMN type 'batch'

    I've followed the install directions, have successfully built and installed latest versions of sphinxbase from sourceforge and pocketsphinx from this repo, and made sure my audio file is 16khz 16bit mono file by resampling it with sox -- but when I attempt to run:

    pocketsphinx_continuous -infile resampled_audio.wav

    I get the following output, which ends in a FATAL error FATAL: "cmn.c", line 126: Unknown CMN type 'batch' (see below)

    Please help! Thanks

    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 batch -cmninit 8.0 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 -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

    FATAL: "cmn.c", line 126: Unknown CMN type 'batch'

    opened by erickmiller 18
  • Testsuite fails on several archs

    Testsuite fails on several archs

    https://github.com/cmusphinx/sphinxbase/issues/77 was archived, so copying it here.

    The sphinxbase testsuite fails on some architectures in Debian :

    ppc64el: https://buildd.debian.org/status/fetch.php?pkg=sphinxbase&arch=ppc64el&ver=0.8%2B5prealpha%2B1-8&stamp=1582414870&raw=0

    alpha: https://buildd.debian.org/status/fetch.php?pkg=sphinxbase&arch=alpha&ver=0.8%2B5prealpha%2B1-8&stamp=1583125429&raw=0

    Here is the test.log on s390x (on commit 4f07168fce8d976a14a298620fbd4e0616d8e01b):

    test.log

    opened by sthibaul 16
  • JSGF Grammer not working as expected

    JSGF Grammer not working as expected

    I have created a simple JSGF as follows and using it with PocketSphinx-5prealpha (Python API)

    #JSGF V1.0; 
    grammar testGrammar;
    <unit>     = (METER|CENTIMETER|MILE);
    <number>  = (ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|HUNDRED|THOUSAND)+;
    public <phrases> = (WHAT IS YOUR NAME)  |  (<number> <unit> (EQUAL TO) [HOW MANY] <unit>) ;
    
    

    Output what I am expecting (always) out of above grammer: either WHAT IS YOUR NAME or phrases like "ONE THOUSAND FIVE HUNDRED TEN METER EQUAL TO MILE" "ONE THOUSAND FIVE HUNDRED TEN METER EQUAL TO HOW MANY MILE" "ONE MILE EQUAL TO METER"

    Which I am getting most of the time, but sometime I also get output like: "ONE TWO WHAT IS YOUR NAME" "THOUSAND WHAT IS YOUR NAME"

    I don't want such phrases, How to avoid this ?

    If I remove '+' (one-or-many) operator from below line in grammer file: <number> = (ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|HUNDRED|THOUSAND)+; Grammer works as expected but then I cant repeat the numbers and able to use only one number at a time. for example "HUNDRED MILE EQUAL TO HOW MANY METER" and not like "FIVE HUNDRED MILE EQUAL TO HOW MANY METER"

    opened by G10DRAS 15
  • Problems with gstreamer-1.0

    Problems with gstreamer-1.0

    I've tried to migrate a pipeline that use GStreamer-0.10 to GStreamer-1.0

    The GstPocketsphinx is not working well. In python, property like lmname, lmctl and dict are not taking in consideration

    Moreover there is a big issue when I try to connect the gstpocketsphinx object to a "result" signal.

    Please can you provide me an old version (the one working with gtreamer 0.10) I will made all modification to support lmname switch

    opened by benoitfragit 15
  • Wrong timestamps

    Wrong timestamps

    Hello,

    I used pocketsphinx_continuous -infile ... -time yes and the times are not always correct. I am not talking about more or less 10ms but more or less 1s. Sometimes 3s ! When this happened, there is a rollback in time for the next sentence.

    For example, I got this log by processing http://ia800208.us.archive.org/8/items/red_house_mystery_librivox/redhouse_14_milne.mp3:

    could you know i'd said del turning around to the stock tiny
    <s> 228.760 228.830 0.999100
    could 228.840 229.000 0.451901
    you 229.010 229.080 0.088897
    know 229.090 229.370 0.116595
    i'd 229.380 229.610 0.073102
    <sil> 229.620 229.820 0.998102
    <sil> 229.830 230.070 0.999800
    said 230.080 230.380 0.455258
    del 230.390 230.690 0.013421
    turning 230.700 231.060 0.205690
    around(2) 231.070 231.330 0.201013
    to(2) 231.340 231.430 0.039856
    the 231.440 231.520 0.802659
    stock 231.530 232.040 0.377112
    <sil> 232.050 232.280 0.862503
    tiny 232.290 232.980 0.028943
    </s> 232.990 233.220 1.000000
    if he was not so quick and thoughts on t he was quick enough in action
    <s> 232.760 232.850 0.999200
    if 232.860 232.990 0.885313
    he 233.000 233.080 0.598003
    

    The next sentence if he was not so quick and thoughts on t he was quick enough in action starts before (232.760 < 233.220) the end of the first one could you know i'd said del turning around to the stock tiny. The main problem is that the first sentence times are wrong. For example at 228.840 we hear "said Bill turning around" which should start at 230.080 according to sphinx. I hope I clearly explained my problem.

    This not a unique bug since I encountered this ~100 times processing ~20h of audiobooks.

    opened by MrChoclate 14
  • JACK: Buffer is full.

    JACK: Buffer is full.

    I'm facing a problem when using pocketsphinx with jack-audio. After a short time running "pocketsphinx_continuous -inmic yes" the error "JACK: Buffer is full. Deactivating JACK client" appears. Using different samplingrates, framesizes, buffersizes in jack did not help.

    I'm using jackd1 from the ubuntu rep.

    opened by mbl-sounds 14
  • JSGF tag specification not supported

    JSGF tag specification not supported

    You're supposed to be able to do things like this:

    <greeting>= (howdy | good morning) {hi};
    

    So if i say, "howdy | good morning", it should return the text "hi". This does not appear to work.

    opened by gitfoxi 14
  • You Said: (null) Segmentation fault

    You Said: (null) Segmentation fault

    After having my program with pocket sphinx run for a while I seem to get Segmentation fault, but before that I get a You Said: (null), and then the Segmentation fault. Here is the code:

    
    #include <stdio.h>
    #include <string.h>
    #include <pocketsphinx.h>
    #include <sphinxbase/ad.h>
    #include <sphinxbase/err.h>
    #include <unistd.h>
    #include "brain.h"
    
    
    const char * recognize_from_microphone();
    
    ps_decoder_t *ps;                  // create pocketsphinx decoder structure
    cmd_ln_t *config;                  // create configuration structure
    ad_rec_t *ad;                      // create audio recording structure - for use with ALSA functions
    
    int16 adbuf[4096];                 // buffer array to hold audio data
    uint8 utt_started, in_speech;      // flags for tracking active speech - has speech started? - is speech currently happening?
    int32 k;                           // holds the number of frames in the audio buffer
    char const *hyp;                   // pointer to "hypothesis" (best guess at the decoded result)
    char const *decoded_speech;
    
    
    int main(int argc, char *argv[]) {
    
      config = cmd_ln_init(NULL, ps_args(), TRUE,                   // Load the configuration structure - ps_args() passes the default values
        "-hmm", "/usr/local/share/pocketsphinx/model/en-us/en-us",  // path to the standard english language model
        "-lm", "custom.lm",                                         // custom language model (file must be present)
        "-dict", "custom.dic",                                      // custom dictionary (file must be present)
        "-logfn", "/dev/null",                                      // suppress log info from being sent to screen
         NULL);
    
      ps = ps_init(config);                                                        // initialize the pocketsphinx decoder
      ad = ad_open_dev("sysdefault", (int) cmd_ln_float32_r(config, "-samprate")); // open default microphone at default samplerate
    
      while(1){                                                                   
        decoded_speech = recognize_from_microphone();         		  // call the function to capture and decode speech           
        printf("You Said: %s\n", decoded_speech);						// send decoded speech to screen
        speech_compare(decoded_speech);
       }
    
     ad_close(ad);                                                    // close the microphone
    }
     
    const char * recognize_from_microphone(){
    
        ad_start_rec(ad);                                // start recording
        ps_start_utt(ps);                                // mark the start of the utterance
        utt_started = FALSE;                             // clear the utt_started flag
    
        while(1) {                                       
            k = ad_read(ad, adbuf, 4096);                // capture the number of frames in the audio buffer
            ps_process_raw(ps, adbuf, k, FALSE, FALSE);  // send the audio buffer to the pocketsphinx decoder
    
            in_speech = ps_get_in_speech(ps);            // test to see if speech is being detected
    
            if (in_speech && !utt_started) {             // if speech has started and utt_started flag is false                           
                utt_started = TRUE;                      // then set the flag
            }
     
            if (!in_speech && utt_started) {             // if speech has ended and the utt_started flag is true
                ps_end_utt(ps);                          // then mark the end of the utterance
                ad_stop_rec(ad);                         // stop recording
                hyp = ps_get_hyp(ps, NULL );             // query pocketsphinx for "hypothesis" of decoded statement
                return hyp;                              // the function returns the hypothesis
                break;                                   // exit the while loop and return to main
           }
        }
    
    }
    
    
    opened by vladtech30 13
  • pocketsphinx_continuous  is unable to convert  speech to text

    pocketsphinx_continuous is unable to convert speech to text

    Hi All, I recently compiled the pocket sphinx on MIPS architecture and then I recorded a 16 bit 16000 Hz mono audio and then I tried to run pocketsphinx_continuous using the following command pocketsphinx_continuous -hmm en-us/ -lm TAR9897/9897.lm -dict TAR9897/9897.dic -infile input.wav

    But I am unable to get any speech from the audio but when I tried to do the same in my laptop it was working. Please help

    I am sharing the logs below

    INFO: pocketsphinx.c(153): Parsed model-specific feature parameters from en-us//feat.params
    Current configuration:
    [NAME]			[DEFLT]		[VALUE]
    -agc			none		none
    -agcthresh		2.0		2.000000e+00
    -allphone				
    -allphone_ci		yes		yes
    -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			live		batch
    -cmninit		40,3,-1		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
    -compallsen		no		no
    -dict					TAR9897/9897.dic
    -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					en-us/
    -input_endian		little		little
    -jsgf					
    -keyphrase				
    -kws					
    -kws_delay		10		10
    -kws_plp		1e-1		1.000000e-01
    -kws_threshold		1e-30		1.000000e-30
    -latsize		5000		5000
    -lda					
    -ldadim			0		0
    -lifter			0		22
    -lm					TAR9897/9897.lm
    -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		3.0		3.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='batch', VARNORM='no', AGC='none'
    INFO: acmod.c(162): Using subvector specification 0-12/13-25/26-38
    INFO: mdef.c(518): Reading model definition: en-us//mdef
    INFO: mdef.c(531): Found byte-order mark BMDF, assuming this is a binary mdef file
    INFO: bin_mdef.c(337): Reading binary model definition: en-us//mdef
    INFO: bin_mdef.c(517): 42 CI-phone, 137053 CD-phone, 3 emitstate/phone, 126 CI-sen, 5126 Sen, 29324 Sen-Seq
    INFO: tmat.c(149): Reading HMM transition probability matrices: en-us//transition_matrices
    INFO: acmod.c(113): Attempting to use PTM computation module
    INFO: ms_gauden.c(127): Reading mixture gaussian parameter: en-us//means
    INFO: ms_gauden.c(242): 42 codebook, 3 feature, size: 
    INFO: ms_gauden.c(244):  128x13
    INFO: ms_gauden.c(244):  128x13
    INFO: ms_gauden.c(244):  128x13
    INFO: ms_gauden.c(127): Reading mixture gaussian parameter: en-us//variances
    INFO: ms_gauden.c(242): 42 codebook, 3 feature, size: 
    INFO: ms_gauden.c(244):  128x13
    INFO: ms_gauden.c(244):  128x13
    INFO: ms_gauden.c(244):  128x13
    INFO: ms_gauden.c(304): 222 variance values floored
    INFO: ptm_mgau.c(475): Loading senones from dump file en-us//sendump
    INFO: ptm_mgau.c(499): BEGIN FILE FORMAT DESCRIPTION
    INFO: ptm_mgau.c(562): Rows: 128, Columns: 5126
    INFO: ptm_mgau.c(594): Using memory-mapped I/O for senones
    INFO: ptm_mgau.c(837): 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 4130 * 20 bytes (80 KiB) for word entries
    INFO: dict.c(333): Reading main dictionary: TAR9897/9897.dic
    INFO: dict.c(213): Dictionary size 29, allocated 0 KiB for strings, 0 KiB for phones
    INFO: dict.c(336): 29 words read
    INFO: dict.c(358): Reading filler dictionary: en-us//noisedict
    INFO: dict.c(213): Dictionary size 34, 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 21336 bytes (20 KiB) for word-final triphones
    INFO: dict2pid.c(196): Allocated 21336 bytes (20 KiB) for single-phone word triphones
    INFO: ngram_model_trie.c(354): Trying to read LM in trie binary format
    INFO: ngram_model_trie.c(365): Header doesn't match
    INFO: ngram_model_trie.c(177): Trying to read LM in arpa format
    INFO: ngram_model_trie.c(193): LM of order 3
    INFO: ngram_model_trie.c(195): #1-grams: 26
    INFO: ngram_model_trie.c(195): #2-grams: 41
    INFO: ngram_model_trie.c(195): #3-grams: 36
    INFO: lm_trie.c(474): Training quantizer
    INFO: lm_trie.c(482): Building LM trie
    INFO: ngram_search_fwdtree.c(74): Initializing search tree
    INFO: ngram_search_fwdtree.c(101): 26 unique initial diphones
    INFO: ngram_search_fwdtree.c(186): Creating search channels
    INFO: ngram_search_fwdtree.c(323): Max nonroot chan increased to 202
    INFO: ngram_search_fwdtree.c(333): Created 26 root, 74 non-root channels, 5 single-phone words
    INFO: ngram_search_fwdflat.c(157): fwdflat: min_ef_width = 4, max_sf_win = 25
    INFO: continuous.c(307): pocketsphinx_continuous COMPILED ON: Mar 10 2020, AT: 16:01:07
    
    INFO: cmn_live.c(120): Update from < 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: cmn_live.c(138): Update to   < 43.50 12.27  5.78  3.19 -3.29  0.34 -5.26 -11.33  4.52  0.05 -2.95 11.94 -3.49 >
    INFO: ngram_search_fwdtree.c(1550):      525 words recognized (6/fr)
    INFO: ngram_search_fwdtree.c(1552):    27719 senones evaluated (292/fr)
    INFO: ngram_search_fwdtree.c(1556):    15927 channels searched (167/fr), 2366 1st, 9410 last
    INFO: ngram_search_fwdtree.c(1559):      724 words for which last channels evaluated (7/fr)
    INFO: ngram_search_fwdtree.c(1561):      876 candidate words for entering last phone (9/fr)
    INFO: ngram_search_fwdtree.c(1564): fwdtree 1.34 CPU 1.406 xRT
    INFO: ngram_search_fwdtree.c(1567): fwdtree 1.37 wall 1.446 xRT
    INFO: ngram_search_fwdflat.c(302): Utterance vocabulary contains 10 words
    INFO: ngram_search_fwdflat.c(948):      547 words recognized (6/fr)
    INFO: ngram_search_fwdflat.c(950):    13371 senones evaluated (141/fr)
    INFO: ngram_search_fwdflat.c(952):    11350 channels searched (119/fr)
    INFO: ngram_search_fwdflat.c(954):      879 words searched (9/fr)
    INFO: ngram_search_fwdflat.c(957):      312 word transitions (3/fr)
    INFO: ngram_search_fwdflat.c(960): fwdflat 0.45 CPU 0.474 xRT
    INFO: ngram_search_fwdflat.c(963): fwdflat 0.48 wall 0.501 xRT
    INFO: ngram_search.c(1250): lattice start node <s>.0 end node </s>.88
    INFO: ngram_search.c(1276): Eliminated 0 nodes before end node
    INFO: ngram_search.c(1381): Lattice has 211 nodes, 433 links
    INFO: ps_lattice.c(1376): Bestpath score: -1763
    INFO: ps_lattice.c(1380): Normalizer P(O) = alpha(</s>:88:93) = -105689
    INFO: ps_lattice.c(1437): Joint P(O,S) = -110043 P(S|O) = -4354
    INFO: ngram_search.c(872): bestpath 0.01 CPU 0.006 xRT
    INFO: ngram_search.c(875): bestpath 0.01 wall 0.008 xRT
    
    INFO: ngram_search_fwdtree.c(429): TOTAL fwdtree 1.34 CPU 1.421 xRT
    INFO: ngram_search_fwdtree.c(432): TOTAL fwdtree 1.37 wall 1.461 xRT
    INFO: ngram_search_fwdflat.c(176): TOTAL fwdflat 0.45 CPU 0.479 xRT
    INFO: ngram_search_fwdflat.c(179): TOTAL fwdflat 0.48 wall 0.507 xRT
    INFO: ngram_search.c(303): TOTAL bestpath 0.01 CPU 0.006 xRT
    INFO: ngram_search.c(306): TOTAL bestpath 0.01 wall 0.008 xRT
     
    
    opened by ghost 12
  • undefined symbol ps_arg() when compiling c# bindings and testing them

    undefined symbol ps_arg() when compiling c# bindings and testing them

    Hello, I have several days trying to use pocketsphinx over Unity on my Linux machine (Ubuntu 18.04), however I have not succeed on it.

    Starting from the beginning, I followed the pocketsphinx tutorial, so I cloned the sphinxbase repo and ran ./autogen.sh followed by ./configure, make, sudo make install, no problems so far, then defined the PATHs to point to the libraries of the sphinxbase doing:

    export LD_LIBRARY_PATH=/usr/local/lib
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
    

    After that, I downloaded pocketsphinx from this repo, put it next to the sphinxbase folder and compiled it, everything went well so far (installed it also with sudo make install), so after that, I went to the swig/csharp folder and compiled the test with make, this was the output

    mkdir -p gen
    swig -I.. -I../../../sphinxbase/swig -I../include -I../../sphinxbase/include \
        -csharp \
        -dllimport "libpocketsphinxwrap.so" \
        -namespace "Pocketsphinx" -o sphinxbase.c \
        -outdir gen ../../../sphinxbase/swig/sphinxbase.i
    swig -I.. -I../../../sphinxbase/swig -I../include -I../../sphinxbase/include \
        -csharp \
        -dllimport "libpocketsphinxwrap.so" \
        -namespace "Pocketsphinx" -o pocketsphinx.c \
        -outdir gen ../pocketsphinx.i
    gcc -fPIC `pkg-config --libs --cflags pocketsphinx` pocketsphinx.c sphinxbase.c -shared -o libpocketsphinxwrap.so
    mcs test.cs gen/*.cs
    mono test.exe
    mono: symbol lookup error: /home/ron/Desktop/pocketsphinx/swig/csharp/libpocketsphinxwrap.so: undefined symbol: ps_args
    Makefile:25: recipe for target 'run' failed
    make: *** [run] Error 127
    

    At the end of the compilation, it tries to run the test.exe output, but the library claims there is an undefined symbol, but I don't know what I'm missing, all the libraries are being targeted by the LD_LIBRARY_PATH, and pkgconfig. Any hint with this issue?

    This is my sphinxbase output when I installed it, It has two warnings but so far everything seems to be ok

    Making install in src
    make[1]: Entering directory '/home/ron/Desktop/sphinxbase/src'
    Making install in libsphinxbase
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase'
    Making install in util
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/util'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/util'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/util'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/util'
    Making install in fe
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/fe'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/fe'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/fe'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/fe'
    Making install in feat
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/feat'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/feat'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/feat'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/feat'
    Making install in lm
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/lm'
    make  install-am
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/lm'
    make[5]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/lm'
    make[5]: Nothing to be done for 'install-exec-am'.
    make[5]: Nothing to be done for 'install-data-am'.
    make[5]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/lm'
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/lm'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase/lm'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase'
     /bin/mkdir -p '/usr/local/lib'
     /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libsphinxbase.la '/usr/local/lib'
    libtool: install: /usr/bin/install -c .libs/libsphinxbase.so.3.0.0 /usr/local/lib/libsphinxbase.so.3.0.0
    libtool: install: (cd /usr/local/lib && { ln -s -f libsphinxbase.so.3.0.0 libsphinxbase.so.3 || { rm -f libsphinxbase.so.3 && ln -s libsphinxbase.so.3.0.0 libsphinxbase.so.3; }; })
    libtool: install: (cd /usr/local/lib && { ln -s -f libsphinxbase.so.3.0.0 libsphinxbase.so || { rm -f libsphinxbase.so && ln -s libsphinxbase.so.3.0.0 libsphinxbase.so; }; })
    libtool: install: /usr/bin/install -c .libs/libsphinxbase.lai /usr/local/lib/libsphinxbase.la
    libtool: install: /usr/bin/install -c .libs/libsphinxbase.a /usr/local/lib/libsphinxbase.a
    libtool: install: chmod 644 /usr/local/lib/libsphinxbase.a
    libtool: install: ranlib /usr/local/lib/libsphinxbase.a
    libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
    ----------------------------------------------------------------------
    Libraries have been installed in:
       /usr/local/lib
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the 'LD_RUN_PATH' environment variable
         during linking
       - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to '/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxbase'
    Making install in libsphinxad
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxad'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/libsphinxad'
     /bin/mkdir -p '/usr/local/lib'
     /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libsphinxad.la '/usr/local/lib'
    libtool: warning: relinking 'libsphinxad.la'
    libtool: install: (cd /home/ron/Desktop/sphinxbase/src/libsphinxad; /bin/bash "/home/ron/Desktop/sphinxbase/libtool"  --tag CC --mode=relink gcc -I../../include/sphinxbase -I../../include -I../../include -g -O2 -Wall -version-info 3:0:0 -o libsphinxad.la -rpath /usr/local/lib ad_pulse.lo ../../src/libsphinxbase/libsphinxbase.la -lpulse -lpulse-simple -lpthread -lm )
    libtool: relink: gcc -shared  -fPIC -DPIC  .libs/ad_pulse.o   -L/usr/local/lib -lsphinxbase -lpulse -lpulse-simple -lpthread -lm  -g -O2   -Wl,-soname -Wl,libsphinxad.so.3 -o .libs/libsphinxad.so.3.0.0
    libtool: install: /usr/bin/install -c .libs/libsphinxad.so.3.0.0T /usr/local/lib/libsphinxad.so.3.0.0
    libtool: install: (cd /usr/local/lib && { ln -s -f libsphinxad.so.3.0.0 libsphinxad.so.3 || { rm -f libsphinxad.so.3 && ln -s libsphinxad.so.3.0.0 libsphinxad.so.3; }; })
    libtool: install: (cd /usr/local/lib && { ln -s -f libsphinxad.so.3.0.0 libsphinxad.so || { rm -f libsphinxad.so && ln -s libsphinxad.so.3.0.0 libsphinxad.so; }; })
    libtool: install: /usr/bin/install -c .libs/libsphinxad.lai /usr/local/lib/libsphinxad.la
    libtool: install: /usr/bin/install -c .libs/libsphinxad.a /usr/local/lib/libsphinxad.a
    libtool: install: chmod 644 /usr/local/lib/libsphinxad.a
    libtool: install: ranlib /usr/local/lib/libsphinxad.a
    libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
    ----------------------------------------------------------------------
    Libraries have been installed in:
       /usr/local/lib
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the 'LD_RUN_PATH' environment variable
         during linking
       - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to '/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxad'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src/libsphinxad'
    Making install in sphinx_fe
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_fe'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_fe'
     /bin/mkdir -p '/usr/local/bin'
      /bin/bash ../../libtool   --mode=install /usr/bin/install -c sphinx_fe '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/sphinx_fe /usr/local/bin/sphinx_fe
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_fe'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_fe'
    Making install in sphinx_cepview
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_cepview'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_cepview'
     /bin/mkdir -p '/usr/local/bin'
      /bin/bash ../../libtool   --mode=install /usr/bin/install -c sphinx_cepview '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/sphinx_cepview /usr/local/bin/sphinx_cepview
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_cepview'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_cepview'
    Making install in sphinx_jsgf2fsg
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_jsgf2fsg'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_jsgf2fsg'
     /bin/mkdir -p '/usr/local/bin'
      /bin/bash ../../libtool   --mode=install /usr/bin/install -c sphinx_jsgf2fsg '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/sphinx_jsgf2fsg /usr/local/bin/sphinx_jsgf2fsg
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_jsgf2fsg'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_jsgf2fsg'
    Making install in sphinx_adtools
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_adtools'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_adtools'
     /bin/mkdir -p '/usr/local/bin'
      /bin/bash ../../libtool   --mode=install /usr/bin/install -c sphinx_pitch sphinx_cont_seg '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/sphinx_pitch /usr/local/bin/sphinx_pitch
    libtool: install: /usr/bin/install -c .libs/sphinx_cont_seg /usr/local/bin/sphinx_cont_seg
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_adtools'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_adtools'
    Making install in sphinx_lmtools
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_lmtools'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src/sphinx_lmtools'
     /bin/mkdir -p '/usr/local/bin'
      /bin/bash ../../libtool   --mode=install /usr/bin/install -c sphinx_lm_eval sphinx_lm_convert '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/sphinx_lm_eval /usr/local/bin/sphinx_lm_eval
    libtool: install: /usr/bin/install -c .libs/sphinx_lm_convert /usr/local/bin/sphinx_lm_convert
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_lmtools'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src/sphinx_lmtools'
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/src'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/src'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/src'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/src'
    make[1]: Leaving directory '/home/ron/Desktop/sphinxbase/src'
    Making install in doc
    make[1]: Entering directory '/home/ron/Desktop/sphinxbase/doc'
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/doc'
    make[2]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/share/man/man1'
     /usr/bin/install -c -m 644 sphinx_cepview.1 sphinx_cont_seg.1 sphinx_fe.1 sphinx_lm_convert.1 sphinx_lm_eval.1 sphinx_lm_sort.1 sphinx_pitch.1 '/usr/local/share/man/man1'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/doc'
    make[1]: Leaving directory '/home/ron/Desktop/sphinxbase/doc'
    Making install in include
    make[1]: Entering directory '/home/ron/Desktop/sphinxbase/include'
    Making install in sphinxbase
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/include/sphinxbase'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/include/sphinxbase'
    make[3]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/include/sphinxbase'
     /usr/bin/install -c -m 644 ad.h agc.h bio.h bitarr.h bitvec.h byteorder.h case.h ckd_alloc.h clapack_lite.h cmd_ln.h cmn.h err.h f2c.h feat.h fe.h filename.h fixpoint.h fsg_model.h genrand.h glist.h hash_table.h heap.h jsgf.h listelem_alloc.h logmath.h matrix.h mmio.h ngram_model.h pio.h yin.h prim_type.h priority_queue.h profile.h sbthread.h sphinxbase_export.h strfuncs.h '/usr/local/include/sphinxbase'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/include/sphinxbase'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/include/sphinxbase'
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/include'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/include'
    make[3]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/include/sphinxbase'
     /usr/bin/install -c -m 644 sphinx_config.h '/usr/local/include/sphinxbase'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/include'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/include'
    make[1]: Leaving directory '/home/ron/Desktop/sphinxbase/include'
    Making install in test
    make[1]: Entering directory '/home/ron/Desktop/sphinxbase/test'
    Making install in unit
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit'
    Making install in test_alloc
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_alloc'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_alloc'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_alloc'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_alloc'
    Making install in test_bitvec
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_bitvec'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_bitvec'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_bitvec'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_bitvec'
    Making install in test_case
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_case'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_case'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_case'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_case'
    Making install in test_string
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_string'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_string'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_string'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_string'
    Making install in test_cmdln
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_cmdln'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_cmdln'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_cmdln'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_cmdln'
    Making install in test_hash
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_hash'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_hash'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_hash'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_hash'
    Making install in test_matrix
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_matrix'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_matrix'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_matrix'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_matrix'
    Making install in test_fe
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_fe'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_fe'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_fe'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_fe'
    Making install in test_feat
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_feat'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_feat'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_feat'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_feat'
    Making install in test_lineiter
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_lineiter'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_lineiter'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_lineiter'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_lineiter'
    Making install in test_logmath
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_logmath'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_logmath'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_logmath'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_logmath'
    Making install in test_ngram
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_ngram'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_ngram'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_ngram'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_ngram'
    Making install in test_fsg
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_fsg'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_fsg'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_fsg'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_fsg'
    Making install in test_util
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_util'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_util'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_util'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_util'
    Making install in test_thread
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_thread'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit/test_thread'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_thread'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit/test_thread'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit'
    make[4]: Entering directory '/home/ron/Desktop/sphinxbase/test/unit'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/test/unit'
    Making install in regression
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/test/regression'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test/regression'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test/regression'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/test/regression'
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/test'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/test'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/test'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/test'
    make[1]: Leaving directory '/home/ron/Desktop/sphinxbase/test'
    Making install in swig
    make[1]: Entering directory '/home/ron/Desktop/sphinxbase/swig'
    Making install in python
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/swig/python'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/swig/python'
     /bin/mkdir -p '/usr/local/lib/python3.7/site-packages/sphinxbase'
     /usr/bin/install -c -m 644 sphinxbase.py '/usr/local/lib/python3.7/site-packages/sphinxbase'
    -c:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    Byte-compiling python modules...
    sphinxbase.py
    Byte-compiling python modules (optimized versions) ...
    sphinxbase.py
     /bin/mkdir -p '/usr/local/lib/python3.7/site-packages/sphinxbase'
     /bin/bash ../../libtool   --mode=install /usr/bin/install -c   _sphinxbase.la '/usr/local/lib/python3.7/site-packages/sphinxbase'
    libtool: warning: relinking '_sphinxbase.la'
    libtool: install: (cd /home/ron/Desktop/sphinxbase/swig/python; /bin/bash "/home/ron/Desktop/sphinxbase/libtool"  --tag CC --mode=relink gcc -g -O2 -Wall -module -o _sphinxbase.la -rpath /usr/local/lib/python3.7/site-packages/sphinxbase _sphinxbase_la-sphinxbase_wrap.lo ../../src/libsphinxbase/libsphinxbase.la -lpulse -lpulse-simple -lpthread -lm )
    libtool: relink: gcc -shared  -fPIC -DPIC  .libs/_sphinxbase_la-sphinxbase_wrap.o   -L/usr/local/lib -lsphinxbase -lpulse -lpulse-simple -lpthread -lm  -g -O2   -Wl,-soname -Wl,_sphinxbase.so.0 -o .libs/_sphinxbase.so.0.0.0
    libtool: install: /usr/bin/install -c .libs/_sphinxbase.so.0.0.0T /usr/local/lib/python3.7/site-packages/sphinxbase/_sphinxbase.so.0.0.0
    libtool: install: (cd /usr/local/lib/python3.7/site-packages/sphinxbase && { ln -s -f _sphinxbase.so.0.0.0 _sphinxbase.so.0 || { rm -f _sphinxbase.so.0 && ln -s _sphinxbase.so.0.0.0 _sphinxbase.so.0; }; })
    libtool: install: (cd /usr/local/lib/python3.7/site-packages/sphinxbase && { ln -s -f _sphinxbase.so.0.0.0 _sphinxbase.so || { rm -f _sphinxbase.so && ln -s _sphinxbase.so.0.0.0 _sphinxbase.so; }; })
    libtool: install: /usr/bin/install -c .libs/_sphinxbase.lai /usr/local/lib/python3.7/site-packages/sphinxbase/_sphinxbase.la
    libtool: install: /usr/bin/install -c .libs/_sphinxbase.a /usr/local/lib/python3.7/site-packages/sphinxbase/_sphinxbase.a
    libtool: install: chmod 644 /usr/local/lib/python3.7/site-packages/sphinxbase/_sphinxbase.a
    libtool: install: ranlib /usr/local/lib/python3.7/site-packages/sphinxbase/_sphinxbase.a
    libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib/python3.7/site-packages/sphinxbase
    ----------------------------------------------------------------------
    Libraries have been installed in:
       /usr/local/lib/python3.7/site-packages/sphinxbase
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the 'LD_RUN_PATH' environment variable
         during linking
       - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to '/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
     /bin/mkdir -p '/usr/local/lib/python3.7/site-packages/sphinxbase'
     /usr/bin/install -c -m 644 __init__.py '/usr/local/lib/python3.7/site-packages/sphinxbase'
    -c:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    Byte-compiling python modules...
    __init__.py
    Byte-compiling python modules (optimized versions) ...
    __init__.py
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/swig/python'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/swig/python'
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase/swig'
    make[3]: Entering directory '/home/ron/Desktop/sphinxbase/swig'
    make[3]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/share/sphinxbase/swig'
     /usr/bin/install -c -m 644 cmd_ln.i fe.i feat.i fsg_model.i jsgf.i iterators.i logmath.i ngram_model.i sphinxbase.i typemaps.i '/usr/local/share/sphinxbase/swig'
    make[3]: Leaving directory '/home/ron/Desktop/sphinxbase/swig'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase/swig'
    make[1]: Leaving directory '/home/ron/Desktop/sphinxbase/swig'
    make[1]: Entering directory '/home/ron/Desktop/sphinxbase'
    make[2]: Entering directory '/home/ron/Desktop/sphinxbase'
    make[2]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/lib/pkgconfig'
     /usr/bin/install -c -m 644 sphinxbase.pc '/usr/local/lib/pkgconfig'
    make[2]: Leaving directory '/home/ron/Desktop/sphinxbase'
    make[1]: Leaving directory '/home/ron/Desktop/sphinxbase'
    

    And here is the output of the pocketsphinx install command

    aking install in src
    make[1]: Entering directory '/home/ron/Desktop/pocketsphinx/src'
    Making install in libpocketsphinx
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/src/libpocketsphinx'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/src/libpocketsphinx'
     /bin/mkdir -p '/usr/local/lib'
     /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libpocketsphinx.la '/usr/local/lib'
    libtool: warning: relinking 'libpocketsphinx.la'
    libtool: install: (cd /home/ron/Desktop/pocketsphinx/src/libpocketsphinx; /bin/bash "/home/ron/Desktop/pocketsphinx/libtool"  --tag CC --mode=relink gcc -I../../include -I../../include -DMODELDIR=\"/usr/local/share/pocketsphinx/model\" -g -O2 -Wall -version-info 3:0:0 -lm -L/home/ron/Desktop/pocketsphinx/../sphinxbase/lib -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxad -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxbase -o libpocketsphinx.la -rpath /usr/local/lib acmod.lo bin_mdef.lo blkarray_list.lo dict.lo dict2pid.lo fsg_history.lo fsg_lextree.lo fsg_search.lo allphone_search.lo kws_search.lo kws_detections.lo hmm.lo mdef.lo ms_gauden.lo ms_mgau.lo ms_senone.lo ngram_search.lo ngram_search_fwdtree.lo ngram_search_fwdflat.lo phone_loop_search.lo ps_alignment.lo ps_lattice.lo ps_mllr.lo ptm_mgau.lo s2_semi_mgau.lo state_align_search.lo tmat.lo vector.lo pocketsphinx.lo -lsphinxbase )
    libtool: relink: gcc -shared  -fPIC -DPIC  .libs/acmod.o .libs/bin_mdef.o .libs/blkarray_list.o .libs/dict.o .libs/dict2pid.o .libs/fsg_history.o .libs/fsg_lextree.o .libs/fsg_search.o .libs/allphone_search.o .libs/kws_search.o .libs/kws_detections.o .libs/hmm.o .libs/mdef.o .libs/ms_gauden.o .libs/ms_mgau.o .libs/ms_senone.o .libs/ngram_search.o .libs/ngram_search_fwdtree.o .libs/ngram_search_fwdflat.o .libs/phone_loop_search.o .libs/ps_alignment.o .libs/ps_lattice.o .libs/ps_mllr.o .libs/ptm_mgau.o .libs/s2_semi_mgau.o .libs/state_align_search.o .libs/tmat.o .libs/vector.o .libs/pocketsphinx.o   -L/home/ron/Desktop/pocketsphinx/../sphinxbase/lib -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxad -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxbase -L/usr/local/lib -lsphinxbase -lpulse -lpulse-simple -lpthread -lm  -g -O2   -Wl,-soname -Wl,libpocketsphinx.so.3 -o .libs/libpocketsphinx.so.3.0.0
    libtool: install: /usr/bin/install -c .libs/libpocketsphinx.so.3.0.0T /usr/local/lib/libpocketsphinx.so.3.0.0
    libtool: install: (cd /usr/local/lib && { ln -s -f libpocketsphinx.so.3.0.0 libpocketsphinx.so.3 || { rm -f libpocketsphinx.so.3 && ln -s libpocketsphinx.so.3.0.0 libpocketsphinx.so.3; }; })
    libtool: install: (cd /usr/local/lib && { ln -s -f libpocketsphinx.so.3.0.0 libpocketsphinx.so || { rm -f libpocketsphinx.so && ln -s libpocketsphinx.so.3.0.0 libpocketsphinx.so; }; })
    libtool: install: /usr/bin/install -c .libs/libpocketsphinx.lai /usr/local/lib/libpocketsphinx.la
    libtool: install: /usr/bin/install -c .libs/libpocketsphinx.a /usr/local/lib/libpocketsphinx.a
    libtool: install: chmod 644 /usr/local/lib/libpocketsphinx.a
    libtool: install: ranlib /usr/local/lib/libpocketsphinx.a
    libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
    ----------------------------------------------------------------------
    Libraries have been installed in:
       /usr/local/lib
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the 'LD_RUN_PATH' environment variable
         during linking
       - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to '/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/src/libpocketsphinx'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/src/libpocketsphinx'
    Making install in programs
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/src/programs'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/src/programs'
     /bin/mkdir -p '/usr/local/bin'
      /bin/bash ../../libtool   --mode=install /usr/bin/install -c pocketsphinx_batch pocketsphinx_continuous pocketsphinx_mdef_convert '/usr/local/bin'
    libtool: install: /usr/bin/install -c .libs/pocketsphinx_batch /usr/local/bin/pocketsphinx_batch
    libtool: install: /usr/bin/install -c .libs/pocketsphinx_continuous /usr/local/bin/pocketsphinx_continuous
    libtool: install: /usr/bin/install -c .libs/pocketsphinx_mdef_convert /usr/local/bin/pocketsphinx_mdef_convert
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/src/programs'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/src/programs'
    Making install in gst-plugin
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/src/gst-plugin'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/src/gst-plugin'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/src/gst-plugin'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/src/gst-plugin'
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/src'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/src'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/src'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/src'
    make[1]: Leaving directory '/home/ron/Desktop/pocketsphinx/src'
    Making install in doc
    make[1]: Entering directory '/home/ron/Desktop/pocketsphinx/doc'
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/doc'
    make[2]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/share/man/man1'
     /usr/bin/install -c -m 644 pocketsphinx_batch.1 pocketsphinx_continuous.1 pocketsphinx_mdef_convert.1 '/usr/local/share/man/man1'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/doc'
    make[1]: Leaving directory '/home/ron/Desktop/pocketsphinx/doc'
    Making install in model
    make[1]: Entering directory '/home/ron/Desktop/pocketsphinx/model'
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/model'
    make[2]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/share/pocketsphinx/model/en-us/en-us'
     /usr/bin/install -c -m 644 en-us/en-us/feat.params en-us/en-us/variances en-us/en-us/transition_matrices en-us/en-us/README en-us/en-us/noisedict en-us/en-us/sendump en-us/en-us/mdef en-us/en-us/means '/usr/local/share/pocketsphinx/model/en-us/en-us'
     /bin/mkdir -p '/usr/local/share/pocketsphinx/model/en-us'
     /usr/bin/install -c -m 644 en-us/cmudict-en-us.dict en-us/en-us-phone.lm.bin en-us/en-us.lm.bin '/usr/local/share/pocketsphinx/model/en-us'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/model'
    make[1]: Leaving directory '/home/ron/Desktop/pocketsphinx/model'
    Making install in include
    make[1]: Entering directory '/home/ron/Desktop/pocketsphinx/include'
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/include'
    make[2]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/include/pocketsphinx'
     /usr/bin/install -c -m 644 cmdln_macro.h ps_lattice.h ps_mllr.h ps_search.h pocketsphinx_export.h pocketsphinx.h '/usr/local/include/pocketsphinx'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/include'
    make[1]: Leaving directory '/home/ron/Desktop/pocketsphinx/include'
    Making install in test
    make[1]: Entering directory '/home/ron/Desktop/pocketsphinx/test'
    Making install in unit
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/test/unit'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/test/unit'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/test/unit'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/test/unit'
    Making install in regression
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/test/regression'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/test/regression'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/test/regression'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/test/regression'
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/test'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/test'
    make[3]: Nothing to be done for 'install-exec-am'.
    make[3]: Nothing to be done for 'install-data-am'.
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/test'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/test'
    make[1]: Leaving directory '/home/ron/Desktop/pocketsphinx/test'
    Making install in swig
    make[1]: Entering directory '/home/ron/Desktop/pocketsphinx/swig'
    Making install in python
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/swig/python'
    Making install in test
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/swig/python/test'
    make[4]: Entering directory '/home/ron/Desktop/pocketsphinx/swig/python/test'
    make[4]: Nothing to be done for 'install-exec-am'.
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig/python/test'
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig/python/test'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/swig/python'
    make[4]: Entering directory '/home/ron/Desktop/pocketsphinx/swig/python'
     /bin/mkdir -p '/usr/local/lib/python3.7/site-packages/pocketsphinx'
     /usr/bin/install -c -m 644 pocketsphinx.py '/usr/local/lib/python3.7/site-packages/pocketsphinx'
    -c:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    Byte-compiling python modules...
    pocketsphinx.py
    Byte-compiling python modules (optimized versions) ...
    pocketsphinx.py
     /bin/mkdir -p '/usr/local/lib/python3.7/site-packages/pocketsphinx'
     /bin/bash ../../libtool   --mode=install /usr/bin/install -c   _pocketsphinx.la '/usr/local/lib/python3.7/site-packages/pocketsphinx'
    libtool: warning: relinking '_pocketsphinx.la'
    libtool: install: (cd /home/ron/Desktop/pocketsphinx/swig/python; /bin/bash "/home/ron/Desktop/pocketsphinx/libtool"  --tag CC --mode=relink gcc -I/home/ron/anaconda3/include/python3.7m -I../../include -D_DATADIR=\"/usr/local/share/pocketsphinx\" -g -O2 -Wall -module -L/home/ron/Desktop/pocketsphinx/../sphinxbase/lib -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxad -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxbase -o _pocketsphinx.la -rpath /usr/local/lib/python3.7/site-packages/pocketsphinx pocketsphinx_wrap.lo -lsphinxbase ../../src/libpocketsphinx/libpocketsphinx.la -lsphinxbase )
    libtool: relink: gcc -shared  -fPIC -DPIC  .libs/pocketsphinx_wrap.o   -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxbase/.libs -L/home/ron/Desktop/pocketsphinx/../sphinxbase/lib -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxad -L/home/ron/Desktop/pocketsphinx/../sphinxbase/src/libsphinxbase -L/usr/local/lib -lpocketsphinx -lsphinxbase -lpulse -lpulse-simple -lpthread -lm  -g -O2   -Wl,-soname -Wl,_pocketsphinx.so.0 -o .libs/_pocketsphinx.so.0.0.0
    libtool: install: /usr/bin/install -c .libs/_pocketsphinx.so.0.0.0T /usr/local/lib/python3.7/site-packages/pocketsphinx/_pocketsphinx.so.0.0.0
    libtool: install: (cd /usr/local/lib/python3.7/site-packages/pocketsphinx && { ln -s -f _pocketsphinx.so.0.0.0 _pocketsphinx.so.0 || { rm -f _pocketsphinx.so.0 && ln -s _pocketsphinx.so.0.0.0 _pocketsphinx.so.0; }; })
    libtool: install: (cd /usr/local/lib/python3.7/site-packages/pocketsphinx && { ln -s -f _pocketsphinx.so.0.0.0 _pocketsphinx.so || { rm -f _pocketsphinx.so && ln -s _pocketsphinx.so.0.0.0 _pocketsphinx.so; }; })
    libtool: install: /usr/bin/install -c .libs/_pocketsphinx.lai /usr/local/lib/python3.7/site-packages/pocketsphinx/_pocketsphinx.la
    libtool: install: /usr/bin/install -c .libs/_pocketsphinx.a /usr/local/lib/python3.7/site-packages/pocketsphinx/_pocketsphinx.a
    libtool: install: chmod 644 /usr/local/lib/python3.7/site-packages/pocketsphinx/_pocketsphinx.a
    libtool: install: ranlib /usr/local/lib/python3.7/site-packages/pocketsphinx/_pocketsphinx.a
    libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib/python3.7/site-packages/pocketsphinx
    ----------------------------------------------------------------------
    Libraries have been installed in:
       /usr/local/lib/python3.7/site-packages/pocketsphinx
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the 'LD_RUN_PATH' environment variable
         during linking
       - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to '/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
     /bin/mkdir -p '/usr/local/lib/python3.7/site-packages/pocketsphinx'
     /usr/bin/install -c -m 644 __init__.py '/usr/local/lib/python3.7/site-packages/pocketsphinx'
    -c:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    Byte-compiling python modules...
    __init__.py
    Byte-compiling python modules (optimized versions) ...
    __init__.py
    make[4]: Nothing to be done for 'install-data-am'.
    make[4]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig/python'
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig/python'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig/python'
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx/swig'
    make[3]: Entering directory '/home/ron/Desktop/pocketsphinx/swig'
    make[3]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/share/pocketsphinx/swig'
     /usr/bin/install -c -m 644 pocketsphinx.i ps_decoder.i ps_lattice.i '/usr/local/share/pocketsphinx/swig'
    make[3]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig'
    make[1]: Leaving directory '/home/ron/Desktop/pocketsphinx/swig'
    make[1]: Entering directory '/home/ron/Desktop/pocketsphinx'
    make[2]: Entering directory '/home/ron/Desktop/pocketsphinx'
    make[2]: Nothing to be done for 'install-exec-am'.
     /bin/mkdir -p '/usr/local/lib/pkgconfig'
     /usr/bin/install -c -m 644 pocketsphinx.pc '/usr/local/lib/pkgconfig'
    make[2]: Leaving directory '/home/ron/Desktop/pocketsphinx'
    make[1]: Leaving directory '/home/ron/Desktop/pocketsphinx'
    
    opened by ronpetit 11
  • Python functions need to type check their arguments

    Python functions need to type check their arguments

    I added these 2 tiny little lines to a python script:

    config.set_string('-agc', 'max')
    config.set_string('-fillprob', '50')
    

    Script was mostly working before but now it fails with:

    Python(90397,0x7fff7d3af300) malloc: *** error for object 0x3e45798ee2308c3a: pointer being freed was not allocated
    *** set a breakpoint in malloc_error_break to debug
    

    Here is the full code listing:

    #!/usr/local/bin/python
    
    from pocketsphinx import *
    import pyaudio
    
    from os import environ, path
    from itertools import izip
    import sys
    
    MODELDIR = "/usr/local//share/pocketsphinx/model/"
    
    def print10best(decoder):
        # Access N best decodings.
        print 'Best 10 hypothesis: '
        for best, i in izip(decoder.nbest(), range(10)):
            print best.hyp().best_score, best.hyp().hypstr
    
    # Create a decoder with certain model
    config = Decoder.default_config()
    config.set_string('-hmm', path.join(MODELDIR, 'en-us/en-us'))
    config.set_string('-lm', path.join(MODELDIR, 'en-us/en-us.lm.dmp'))
    config.set_string('-dict', path.join(MODELDIR, 'en-us/cmudict-en-us.dict'))
    config.set_string('-jsgf', './my.jsgf')
    config.set_string('-dictcase', 'yes')
    config.set_string('-agc', 'max')
    config.set_string('-fillprob', '50')
    
    decoder = Decoder(config)
    
    
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=2048)
    stream.start_stream()
    in_speech_bf = True
    decoder.start_utt()
    while True:
        buf = stream.read(2048)
        if buf:
            decoder.process_raw(buf, False, False)
            try:
                if  decoder.hyp().hypstr != '':
                    print 'Partial decoding result:', decoder.hyp().hypstr
                    # print10best(decoder)
            except AttributeError:
                pass
            if decoder.get_in_speech():
                sys.stdout.write('.')
                sys.stdout.flush()
            if decoder.get_in_speech() != in_speech_bf:
                in_speech_bf = decoder.get_in_speech()
                if not in_speech_bf:
                    decoder.end_utt()
                    try:
                        if  decoder.hyp().hypstr != '':
                            print 'Stream decoding result:', decoder.hyp().hypstr
                    except AttributeError:
                        pass
                    decoder.start_utt()
        else:
            break
    decoder.end_utt()
    print 'An Error occured:', decoder.hyp().hypstr
    
    opened by gitfoxi 11
  • Node.js bindings

    Node.js bindings

    This is probably a reasonable thing to have, though less of a priority.

    No, we won't use SWIG, as it doesn't really save any work if you want to make correct and idiomatic bindings in rather different languages.

    enhancement 
    opened by dhdaines 0
  • Rust bindings

    Rust bindings

    They exist but should be updated: https://github.com/cmusphinx/pocketsphinx-rs

    We can do this after the SoundSwallower ones and make the API compatible: https://github.com/ReadAlongs/SoundSwallower/issues/44

    enhancement 
    opened by dhdaines 0
  • Use a separate search for ps_set_align_text()

    Use a separate search for ps_set_align_text()

    This clears up some undefined behaviour, the user may expect to be able to restore the orginal LM (or FSG, or KWS, or whatever) after calling ps_set_align_text() but that was not possible

    opened by dhdaines 0
  • FSG recognition with `-bestpath` is often harmful

    FSG recognition with `-bestpath` is often harmful

    In the past, bestpath was simply disabled for FSG search, because it caused a great slowdown and did not improve accuracy. In addition, it just flat-out breaks word-alignment so must be disabled when using PocketSphinx for alignment. Now it is enabled again, and I'm not sure this is a good thing. We need it in order to get posterior probabilities, though.

    One possible source of these problems seems to be the lattice generation from FSG search, which contains some probably incorrect heuristics for creating the start and end nodes.

    opened by dhdaines 0
  • JSGF compiler produces copious epsilons

    JSGF compiler produces copious epsilons

    This isn't, in itself, a problem, as it is necessary in order to produce correct grammars, but it becomes one because the epsilon closure that's done in fsg_model.c is quite inefficient.

    Either we need to do epsilon removal on the output of the JSGF compiler, or simply do it instead of epsilon closure for all FSGs. The algorithm is pretty simple and extremely well documented...

    opened by dhdaines 0
Releases(v5.0.0)
  • v5.0.0(Oct 5, 2022)

    Finally, now that it is thoroughly obsolete, it is time to get PocketSphinx out of its eternal "prealpha" status. The version number is strangely large because "5prealpha" existed for such a long time that it became treated as a real release, and for some reason it did not have a conventional version number like, say, 1.0.0-alpha5.

    The purpose of this release is to fix and document the public API, as well as to debug, stabilize, test, and fully document the current state of PocketSphinx. I do expect that there will be bug fixes and possibly some new APIs, but all 5.x releases are guaranteed to be backwards source and binary compatible.

    Notably this release is not source-compatible in C with the previous versions. Your code will fail to compile. By contrast, in Python, old code should not fail at runtime, and if this isn't the case, please report it as an issue. Such is the way of the world with dynamic languages.

    API documentation can be found at https://cmusphinx.github.io/doc/pocketsphinx/ and https://pocketsphinx.readthedocs.io/

    Among other notable changes:

    • pocketsphinx_continuous is gone, replaced by plain old pocketsphinx, which is documented in the README file.
    • The configuration interface is now quite different. It is not a "command-line parser" anymore and the configuration parameters have lost their leading dashes.
    • All of the SphinxBase "utility" headers have also been made internal and their symbols will no longer be exported on Windows. Conversely, the JSGF and N-Gram language model API has been included in <pocketsphinx/model.h>.
    • The sphinx_fe and sphinx_cepview utilities have been moved to SphinxTrain.
    • The audio interface (<sphinxbase/ad.h>) has been removed.
    • The -remove_noise option is now controlled by the acoustic model as it needs to match the training.
    • The -remove_silence option has been removed as it is a Bad Idea and Considered Harmful for batch mode recognition. Please use the endpointer API as detailed in <pocketsphinx/endpointer.h> and examples/live.c or examples/live.py.
    • The -cmninit option is not controlled by the default acoustic model anymore. This may cause some problems for live recognition as the defaults may not match the feature extraction parameters.
    • The SWIG wrappers have been removed. Only Python 3 is directly supported as a dynamic language binding. Node.js may be supported in the near future. The C API is specifically designed to be easily supported through FFI, so you can do that.
    • Python support is much improved, fully documented, and builds a proper module directly from the (top level of the) source tree with pip or build.
    • Android support is gone but may come back (contributions welcome, I don't have time to support anything other than Linux on x86_64 and s390x)

    What's Changed

    • Change the <pocketsphinx/search.h> API to be slightly more intuitive by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/298
    • New force-alignment API and two-pass alignment to get phone/state durations by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/300
    • Uniformize API and test fixed-point mode properly by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/302
    • Fix float-to-int underflows (#199, #252) by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/303
    • Disallow multiple search types in config or command-line by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/304
    • Revert incorrect optimizations to JSGF compiler (fixes #53) by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/305
    • Make seg_iter and hyp behave as expected in kws search (fixes #122) by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/306
    • feat: add -config and config to parse and save JSON by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/307
    • Resurrect GStreamer support by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/308
    • Remove sphinxbase and modernize configuration API by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/295
    • Add support for input files to pocketsphinx command line by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/297
    • Add compatibility with pocketsphinx-python 0.1.5 by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/292
    • Rename pocketsphinx5 to pocketsphinx by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/293
    • Updated the en-us dict by @Coeur in https://github.com/cmusphinx/pocketsphinx/pull/124
    • Fix memory leak in allphone_search.c by @chussong in https://github.com/cmusphinx/pocketsphinx/pull/138
    • Forward declare allphone_clear_segments in allphone_search.c by @chussong in https://github.com/cmusphinx/pocketsphinx/pull/140
    • Make force alignment accessible from pocketsphinx_batch and the ps_decoder API by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/144
    • Improve linking for internal headers by @chussong in https://github.com/cmusphinx/pocketsphinx/pull/168
    • Fix memory leak in bin_mdef_read_text by @guidovranken in https://github.com/cmusphinx/pocketsphinx/pull/198
    • Large build system and small API modernizations by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/250
    • Fix windows build by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/251
    • Fix endianness issues in binary trie LM code by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/253
    • Build a proper Python package by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/254
    • Update -cmninit parameter when CMN is updated by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/259
    • Switch back to Cython and use scikit-build for Python module by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/271
    • Document Python module better and build ReadTheDocs with (the other) Sphinx by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/273
    • Fix install command for Mac and iOS builds by @mattlarose in https://github.com/cmusphinx/pocketsphinx/pull/280
    • Incoporate WebRTC VAD code by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/278
    • Reorganize header files by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/282
    • Remove thread library by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/283
    • Add a proper API for cepstral mean normalization by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/284
    • Make -samprate an int after all these years by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/285

    New Contributors

    • @alexanderkoller made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/105
    • @Coeur made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/124
    • @cshung made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/131
    • @chussong made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/138
    • @dhdaines made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/144
    • @sc0ty made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/151
    • @nxdefiant made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/157
    • @jschueller made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/160
    • @guidovranken made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/198
    • @sthibaul made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/202
    • @freddii made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/231
    • @lenzo-duo made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/245
    • @flyn-org made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/244
    • @Crozzers made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/268
    • @mattlarose made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/280

    Full Changelog: https://github.com/cmusphinx/pocketsphinx/compare/last-pre-1.0...v5.0.0

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0rc5(Sep 29, 2022)

    Basically everything I wanted to do is in this release, and more. If all goes well there will just be a final release in a couple days, then I can get on with the rest of my life.

    What's Changed

    • Change the <pocketsphinx/search.h> API to be slightly more intuitive by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/298
    • New force-alignment API and two-pass alignment to get phone/state durations by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/300
    • Uniformize API and test fixed-point mode properly by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/302
    • Fix float-to-int underflows (#199, #252) by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/303
    • Disallow multiple search types in config or command-line by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/304
    • Revert incorrect optimizations to JSGF compiler (fixes #53) by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/305
    • Make seg_iter and hyp behave as expected in kws search (fixes #122) by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/306
    • feat: add -config and config to parse and save JSON by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/307
    • Resurrect GStreamer support by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/308

    Full Changelog: https://github.com/cmusphinx/pocketsphinx/compare/v5.0.0rc4...v5.0.0rc5

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0rc4(Sep 17, 2022)

    The purpose of this pre-release is to solidify and modernize the library API and ABI.

    The configuration interface in particular is now quite different. It is not a "command-line parser" anymore and the configuration parameters have lost their leading dashes. So instead of this:

    cmd_ln_set_str_r(ps_get_config(decoder), "-hmm", "/whatever/blah");
    

    You now do this:

    ps_config_set_str(ps_get_config(decoder), "hmm", "/whatever/blah");
    

    As well, the parameter setting functions will coerce the value you give them to whatever the underlying parameter is instead of printing an error and failing (or worse, crashing the program, like they used to do in the bad old days). So it is okay to do this for instance:

    ps_config_set_str(ps_get_config(decoder), "samprate", "16000");
    

    As well, configurations can be saved and loaded as JSON (or a sort of pseudo-YAML as well). This is the recommended way to create configurations from scratch as well at the moment though I may bring back something like cmd_ln_init() as it was quite convenient.

    All of the SphinxBase "utility" headers have also been made internal and their symbols will no longer be exported on Windows. Conversely, the JSGF and N-Gram language model API has been included in <pocketsphinx.h>.

    The pocketsphinx command-line program now accepts input files on the command-line which can be raw, WAV, or NIST Sphere format.

    What's Changed

    • Remove sphinxbase and modernize configuration API by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/295
    • Add support for input files to pocketsphinx command line by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/297

    Full Changelog: https://github.com/cmusphinx/pocketsphinx/compare/v5.0.0rc3...v5.0.0rc4

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0rc3(Sep 7, 2022)

    The main point of this pre-release is to reintegrate and reclaim the pocketsphinx-python module into the main source tree. The API is not precisely the same because some bits are no longer relevant, but it should support code written for that module. Some more rigorous testing will be done before the final release.

    The secondary point is to begin improving the documentation, but it's not quite there yet.

    What's Changed

    • Add compatibility with pocketsphinx-python 0.1.5 by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/292
    • Rename pocketsphinx5 to pocketsphinx by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/293

    Full Changelog: https://github.com/cmusphinx/pocketsphinx/compare/v5.0.0rc2...v5.0.0rc3

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0rc2(Sep 2, 2022)

    • Fix system-wide installation (pkg-config, models, get_default_args())
    • Make Python module "batteries-included" unless USE_INSTALLED_POCKETSPHINX option is set (see Dockerfile for example)
    • Add a Dockerfile, but note that audio Does Not Work, Ever inside a Docker container, so don't even try and please don't file any bugs
    • Start writing real documentation
    • Reinstate something like pocketsphinx_continuous but just called pocketsphinx

    Full Changelog: https://github.com/cmusphinx/pocketsphinx/compare/v5.0.0rc1...v5.0.0rc2

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0rc1(Aug 22, 2022)

    Why This pre-Release?

    PLEASE DO NOT BUILD DISTRIBUTION PACKAGES FROM THIS PRERELEASE. The API is nearly guaranteed to change before the true release. I do not want to end up with a shared library named libpocketsphinx.so.362.3.4. THIS IS A PRERELEASE AND NOT A REAL RELEASE!!! (sorry for the shouting but I want to make it clear that although PocketSphinx was a "prealpha" for 10 years, this is not going to be the way things work anymore)

    The purpose of the 5.0.0 release will be to debug, stabilize, test, and fully document the current state of PocketSphinx. As part of this, some APIs have been removed, others are deprecated, and a few have changed and may still change. Notably:

    • SphinxBase is integrated into PocketSphinx now. The header files remain the same.
    • The sphinx_fe and sphinx_cepview utilities have been moved to SphinxTrain.
    • The audio interface (<sphinxbase/ad.h>) has been removed.
    • The -remove_noise option is now controlled by the acoustic model as it needs to match the training.
    • The -remove_silence option has been removed as it is a Bad Idea and Considered Harmful for batch mode recognition. Please use the endpointer API as detailed in <pocketsphinx/endpointer.h> and examples/live.c or examples/live.py.
    • The -cmninit option is not controlled by the default acoustic model anymore. This may cause some problems for live recognition as the defaults may not match the feature extraction parameters.
    • The SWIG wrappers have been removed. Only Python 3 is directly supported as a dynamic language binding. Node.js may be supported in the near future. The C API is specifically designed to be easily supported through FFI, so you can do that.
    • Python support is much improved, fully documented, and builds a proper module directly from the (top level of the) source tree with pip or build.
    • The GStreamer module is gone but it will come back, sorry.
    • Android support is gone but may come back (contributions welcome, I don't have time to support anything other than Linux on x86_64 and s390x)

    What's Changed

    • Updated the en-us dict by @Coeur in https://github.com/cmusphinx/pocketsphinx/pull/124
    • Fix memory leak in allphone_search.c by @chussong in https://github.com/cmusphinx/pocketsphinx/pull/138
    • Forward declare allphone_clear_segments in allphone_search.c by @chussong in https://github.com/cmusphinx/pocketsphinx/pull/140
    • Make force alignment accessible from pocketsphinx_batch and the ps_decoder API by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/144
    • Improve linking for internal headers by @chussong in https://github.com/cmusphinx/pocketsphinx/pull/168
    • Fix memory leak in bin_mdef_read_text by @guidovranken in https://github.com/cmusphinx/pocketsphinx/pull/198
    • Large build system and small API modernizations by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/250
    • Fix windows build by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/251
    • Fix endianness issues in binary trie LM code by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/253
    • Build a proper Python package by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/254
    • Update -cmninit parameter when CMN is updated by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/259
    • Switch back to Cython and use scikit-build for Python module by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/271
    • Document Python module better and build ReadTheDocs with (the other) Sphinx by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/273
    • Fix install command for Mac and iOS builds by @mattlarose in https://github.com/cmusphinx/pocketsphinx/pull/280
    • Incoporate WebRTC VAD code by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/278
    • Reorganize header files by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/282
    • Remove thread library by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/283
    • Add a proper API for cepstral mean normalization by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/284
    • Make -samprate an int after all these years by @dhdaines in https://github.com/cmusphinx/pocketsphinx/pull/285

    New Contributors

    • @alexanderkoller made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/105
    • @Coeur made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/124
    • @cshung made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/131
    • @chussong made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/138
    • @dhdaines made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/144
    • @sc0ty made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/151
    • @nxdefiant made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/157
    • @jschueller made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/160
    • @guidovranken made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/198
    • @sthibaul made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/202
    • @freddii made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/231
    • @lenzo-duo made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/245
    • @flyn-org made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/244
    • @Crozzers made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/268
    • @mattlarose made their first contribution in https://github.com/cmusphinx/pocketsphinx/pull/280

    Full Changelog: https://github.com/cmusphinx/pocketsphinx/commits/v5.0.0rc1

    Source code(tar.gz)
    Source code(zip)
Owner
Mirror of SourceForge repository.
null
C.J. Hutto 2.8k Feb 18, 2021
Code for our ACL 2021 (Findings) Paper - Fingerprinting Fine-tuned Language Models in the wild .

?? Fingerprinting Fine-tuned Language Models in the wild This is the code and dataset for our ACL 2021 (Findings) Paper - Fingerprinting Fine-tuned La

LCS2-IIITDelhi 5 Sep 13, 2022
spaCy-wrap: For Wrapping fine-tuned transformers in spaCy pipelines

spaCy-wrap: For Wrapping fine-tuned transformers in spaCy pipelines spaCy-wrap is minimal library intended for wrapping fine-tuned transformers from t

Kenneth Enevoldsen 32 Dec 29, 2022
A fast and lightweight python-based CTC beam search decoder for speech recognition.

pyctcdecode A fast and feature-rich CTC beam search decoder for speech recognition written in Python, providing n-gram (kenlm) language model support

Kensho 315 Dec 21, 2022
A Python module made to simplify the usage of Text To Speech and Speech Recognition.

Nav Module The solution for voice related stuff in Python Nav is a Python module which simplifies voice related stuff in Python. Just import the Modul

Snm Logic 1 Dec 20, 2021
Speech Recognition for Uyghur using Speech transformer

Speech Recognition for Uyghur using Speech transformer Training: this model using CTC loss and Cross Entropy loss for training. Download pretrained mo

Uyghur 11 Nov 17, 2022
A fast Text-to-Speech (TTS) model. Work well for English, Mandarin/Chinese, Japanese, Korean, Russian and Tibetan (so far). 快速语音合成模型,适用于英语、普通话/中文、日语、韩语、俄语和藏语(当前已测试)。

简体中文 | English 并行语音合成 [TOC] 新进展 2021/04/20 合并 wavegan 分支到 main 主分支,删除 wavegan 分支! 2021/04/13 创建 encoder 分支用于开发语音风格迁移模块! 2021/04/13 softdtw 分支 支持使用 Sof

Atomicoo 161 Dec 19, 2022
Saptak Bhoumik 14 May 24, 2022
A design of MIDI language for music generation task, specifically for Natural Language Processing (NLP) models.

MIDI Language Introduction Reference Paper: Pop Music Transformer: Beat-based Modeling and Generation of Expressive Pop Piano Compositions: code This

Robert Bogan Kang 3 May 25, 2022
Installation, test and evaluation of Scribosermo speech-to-text engine

Scribosermo STT Setup Scribosermo is a LGPL licensed, open-source speech recognition engine to "Train fast Speech-to-Text networks in different langua

Florian Quirin 3 Jun 20, 2022
German Text-To-Speech Engine using Tacotron and Griffin-Lim

jotts JoTTS is a German text-to-speech engine using tacotron and griffin-lim. The synthesizer model has been trained on my voice using Tacotron1. Due

padmalcom 6 Aug 28, 2022
LightSpeech: Lightweight and Fast Text to Speech with Neural Architecture Search

LightSpeech UnOfficial PyTorch implementation of LightSpeech: Lightweight and Fast Text to Speech with Neural Architecture Search.

Rishikesh (ऋषिकेश) 54 Dec 3, 2022
Athena is an open-source implementation of end-to-end speech processing engine.

Athena is an open-source implementation of end-to-end speech processing engine. Our vision is to empower both industrial application and academic research on end-to-end models for speech processing. To make speech processing available to everyone, we're also releasing example implementation and recipe on some opensource dataset for various tasks (Automatic Speech Recognition, Speech Synthesis, Voice Conversion, Speaker Recognition, etc).

Ke Technologies 34 Sep 8, 2022
Silero Models: pre-trained speech-to-text, text-to-speech models and benchmarks made embarrassingly simple

Silero Models: pre-trained speech-to-text, text-to-speech models and benchmarks made embarrassingly simple

Alexander Veysov 3.2k Dec 31, 2022
PyTorch implementation of Microsoft's text-to-speech system FastSpeech 2: Fast and High-Quality End-to-End Text to Speech.

An implementation of Microsoft's "FastSpeech 2: Fast and High-Quality End-to-End Text to Speech"

Chung-Ming Chien 1k Dec 30, 2022
Ptorch NLU, a Chinese text classification and sequence annotation toolkit, supports multi class and multi label classification tasks of Chinese long text and short text, and supports sequence annotation tasks such as Chinese named entity recognition, part of speech tagging and word segmentation.

Pytorch-NLU,一个中文文本分类、序列标注工具包,支持中文长文本、短文本的多类、多标签分类任务,支持中文命名实体识别、词性标注、分词等序列标注任务。 Ptorch NLU, a Chinese text classification and sequence annotation toolkit, supports multi class and multi label classification tasks of Chinese long text and short text, and supports sequence annotation tasks such as Chinese named entity recognition, part of speech tagging and word segmentation.

null 186 Dec 24, 2022
Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding

⚠️ Checkout develop branch to see what is coming in pyannote.audio 2.0: a much smaller and cleaner codebase Python-first API (the good old pyannote-au

pyannote 2.2k Jan 9, 2023