Bonjour,

J'aimerai avoir un logiciel de reconnaissance vocale sur ma machine, je me suis orienté vers cmusphinx. Je suis ce tuto.

Je bloque à l'étape de compilation du toolkit, qui se se termine pas (rien dans bin/). étant une bille complète en C je me permets de solliciter vos lumières 🙂
[edouard@EDStation]CMU-Cam_Toolkit_v2/src% make
gcc -O      -DSLM_SWAP_BYTES   -c -o bo_ng_prob.o bo_ng_prob.c
gcc -O      -DSLM_SWAP_BYTES   -c -o calc_mem_req.o calc_mem_req.c
gcc -O      -DSLM_SWAP_BYTES   -c -o compute_back_off.o compute_back_off.c
gcc -O      -DSLM_SWAP_BYTES   -c -o compute_discount.o compute_discount.c
gcc -O      -DSLM_SWAP_BYTES   -c -o compute_unigram.o compute_unigram.c
gcc -O      -DSLM_SWAP_BYTES   -c -o get_ngram.o get_ngram.c
gcc -O      -DSLM_SWAP_BYTES   -c -o increment_context.o increment_context.c
gcc -O      -DSLM_SWAP_BYTES   -c -o lookup_index_of.o lookup_index_of.c
gcc -O      -DSLM_SWAP_BYTES   -c -o short_indices.o short_indices.c
gcc -O      -DSLM_SWAP_BYTES   -c -o two_byte_alphas.o two_byte_alphas.c
gcc -O      -DSLM_SWAP_BYTES   -c -o write_lms.o write_lms.c
gcc -O      -DSLM_SWAP_BYTES   -c -o num_of_types.o num_of_types.c
gcc -O      -DSLM_SWAP_BYTES   -c -o guess_mem.o guess_mem.c
gcc -O      -DSLM_SWAP_BYTES   -c -o counts.o counts.c
gcc -O      -DSLM_SWAP_BYTES   -c -o arpa_bo_ng_prob.o arpa_bo_ng_prob.c
gcc -O      -DSLM_SWAP_BYTES   -c -o calc_prob_of.o calc_prob_of.c
gcc -O      -DSLM_SWAP_BYTES   -c -o decode_bo_case.o decode_bo_case.c
gcc -O      -DSLM_SWAP_BYTES   -c -o gen_fb_list.o gen_fb_list.c
gcc -O      -DSLM_SWAP_BYTES   -c -o load_lm.o load_lm.c
gcc -O      -DSLM_SWAP_BYTES   -c -o parse_comline.o parse_comline.c
gcc -O      -DSLM_SWAP_BYTES   -c -o perplexity.o perplexity.c
gcc -O      -DSLM_SWAP_BYTES   -c -o stats.o stats.c
gcc -O      -DSLM_SWAP_BYTES   -c -o validate.o validate.c
gcc -O      -DSLM_SWAP_BYTES   -c -o pc_libs/pc_comline.o pc_libs/pc_comline.c
gcc -O      -DSLM_SWAP_BYTES   -c -o pc_libs/pc_message.o pc_libs/pc_message.c
pc_libs/pc_message.c: In function ‘pc_message’:
pc_libs/pc_message.c:36:5: attention : passing argument 1 of ‘__builtin_va_end’ from incompatible pointer type [enabled by default]
     va_end(msg);
     ^
pc_libs/pc_message.c:36:5: note: expected ‘struct __va_list_tag *’ but argument is of type ‘char *’
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/parse_line.o rr_libs/parse_line.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/quit.o rr_libs/quit.c
rr_libs/quit.c: In function ‘quit’:
rr_libs/quit.c:29:4: attention : passing argument 1 of ‘__builtin_va_end’ from incompatible pointer type [enabled by default]
    va_end(msg) ;
    ^
rr_libs/quit.c:29:4: note: expected ‘struct __va_list_tag *’ but argument is of type ‘char *’
rr_libs/quit.c:30:4: attention : incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
    exit(rc) ;
    ^
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rd_wlist_arry.o rr_libs/rd_wlist_arry.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/read_voc.o rr_libs/read_voc.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/read_wlist_si.o rr_libs/read_wlist_si.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_calloc.o rr_libs/rr_calloc.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_feof.o rr_libs/rr_feof.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_fexists.o rr_libs/rr_fexists.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_filesize.o rr_libs/rr_filesize.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_fopen.o rr_libs/rr_fopen.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_fread.o rr_libs/rr_fread.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_fseek.o rr_libs/rr_fseek.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_fwrite.o rr_libs/rr_fwrite.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_iopen.o rr_libs/rr_iopen.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_malloc.o rr_libs/rr_malloc.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/rr_oopen.o rr_libs/rr_oopen.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/salloc.o rr_libs/salloc.c
gcc -O      -DSLM_SWAP_BYTES   -c -o rr_libs/sih.o rr_libs/sih.c
rr_libs/sih.c: In function ‘sih_val_read_from_file’:
rr_libs/sih.c:255:19: attention : comparaison entre un pointeur et un entier [enabled by default]
      if (*pstring == NULL) {
                   ^
rm -f SLM2.a
ar r SLM2.a bo_ng_prob.o calc_mem_req.o compute_back_off.o compute_discount.o compute_unigram.o get_ngram.o increment_context.o lookup_index_of.o short_indices.o two_byte_alphas.o write_lms.o num_of_types.o guess_mem.o counts.o arpa_bo_ng_prob.o bo_ng_prob.o calc_prob_of.o decode_bo_case.o gen_fb_list.o load_lm.o lookup_index_of.o parse_comline.o perplexity.o short_indices.o stats.o two_byte_alphas.o validate.o num_of_types.o counts.o load_lm.o write_lms.o short_indices.o two_byte_alphas.o num_of_types.o stats.o counts.o get_ngram.o pc_libs/pc_comline.o  pc_libs/pc_message.o rr_libs/parse_line.o rr_libs/quit.o rr_libs/rd_wlist_arry.o rr_libs/read_voc.o rr_libs/read_wlist_si.o rr_libs/rr_calloc.o rr_libs/rr_feof.o rr_libs/rr_fexists.o rr_libs/rr_filesize.o rr_libs/rr_fopen.o rr_libs/rr_fread.o rr_libs/rr_fseek.o rr_libs/rr_fwrite.o rr_libs/rr_iopen.o rr_libs/rr_malloc.o rr_libs/rr_oopen.o rr_libs/salloc.o rr_libs/rr_malloc.o rr_libs/rr_oopen.o rr_libs/salloc.o rr_libs/sih.o
ar: création de SLM2.a
if [ `uname` = SunOS -o `uname` = Linux ] ; then ranlib SLM2.a ; fi
gcc -O      -DSLM_SWAP_BYTES  -o idngram2lm idngram2lm.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o evallm evallm.c SLM2.a  -lm
evallm.c: In function ‘main’:
evallm.c:69:4: attention : incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
    exit(1);
    ^
evallm.c:167:5: attention : ‘gets’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
     gets(input_string);
     ^
evallm.c:331:3: attention : incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
   exit(0);
   ^
gcc -O      -DSLM_SWAP_BYTES  -o text2wngram text2wngram.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o text2idngram text2idngram.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o binlm2arpa binlm2arpa.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o ngram2mgram ngram2mgram.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o idngram2stats idngram2stats.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o wfreq2vocab wfreq2vocab.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o text2wfreq text2wfreq.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o wngram2idngram wngram2idngram.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o mergeidngram mergeidngram.c SLM2.a  -lm
gcc -O      -DSLM_SWAP_BYTES  -o interpolate interpolate.c SLM2.a  -lm
6 jours plus tard
15 jours plus tard
Peut etre préciser la cible de compilation : make all par exemple...
Je te conseillerais d'essayer jasper : http://jasperproject.github.io/ je l'utilise avec le RPi et l'utilisation est tres simple...
Bonjour,
pc_libs/pc_message.c:36:5: attention : passing argument 1 of ‘__builtin_va_end’ from incompatible pointer type [enabled by default]
     va_end(msg);
     ^
pc_libs/pc_message.c:36:5: note: expected ‘struct __va_list_tag *’ but argument is of type ‘char *’
Une erreur "classique" ....
La méthode " va_end" doit avoir une signature de type char *, alors qu'elle devrais avoir char **

Donc si tu code en C, tu modifie (a priori y'a aussi d'autre erreurs), sinon, il doit y avoir un patch ou autre car en l'état le code n'est pas compilable.
Roni Rosenfeld, CMU wrote:Hi Edouard,

I am heartened to see that the toolkit continues to be used, but I’m sorry to say that it hasn’t been maintained in over a decade, and I am not in a position to maintain it now. Feel free to make your own fixes and pass them along to anyone.

Best wishes,

Roni Rosenfeld, CMU
bon bah... si il y a des gens qui aiment le C et qui ont du temps à passer dessus, à votre bon coeur ^^