RaspberryPi + Pocketsphinx + ps3eye Erreur: impossible d'ouvrir le périphérique audio
juste installé pocketsphinx sur mon raspberry pi. Je pense que je suis fou, mais vous ne savez pas si je suis fournissant le bon appareil.
Chaque fois que j'exécute:
src/programmes/pocketsphinx_continuous -adcdev plughw:1,0 -nfft 2048
-samprate 48000
Je reçois le texte suivant:
root@scarlettpi:/usr/install/pocketsphinx-0.8#
src/programmes/pocketsphinx_continuous -adcdev plughw:1,0 -nfft 2048
-samprate 48000 INFO: cmd_ln.c(691): Analyse de la ligne de commande: /usr/installer/pocketsphinx-0.8/src/programmes/.libs/lt-pocketsphinx_continuous
\ -adcdev plughw:1,0 \ -nfft 2048 \ -samprate 48000Configuration actuelle: [NOM] [DEFLT] [VALEUR]
-adcdev plughw:1,0
-agc aucun aucun
-agcthresh 2.0 2.000000 e+00
-alpha 0.97 9.700000 e-01
-argfile
-ascale 20.0 2.000000 e+01
-aw 1 1
-backtrace non non
-faisceau 1e-48 1.000000 e-48
-bestpath oui oui
-bestpathlw 9.5 9.500000 e+00
-bghist non non
-ceplen 13 13
-cmn courant courant
-cmninit 8.0 8.0
-compallsen non non
-debug 0
-dict
-dictcase non non
-le tramage non non
-doublebw non non
-ds 1 1
-fdict
-exploit 1s_c_d_dd 1s_c_d_dd
-featparams
-fillprob 1e-8 1.000000 e-08
-frate 100 100
-fsg
-fsgusealtpron oui oui
-fsgusefiller oui oui
-fwdflat oui oui
-fwdflatbeam 1e-64 1.000000 e-64
-fwdflatefwid 4 4
-fwdflatlw 8.5 8.500000 e+00
-fwdflatsfwin 25 25
-fwdflatwbeam 7e-29 7.000000 e-29
-fwdtree oui oui
-hmm
-infile
-input_endian peu de peu de
-jsgf
-kdmaxbbi -1 -1
-kdmaxdepth 0 0
-kdtree
-latsize 5000 5000
-lda
-ldadim 0 0
-lextreedump 0 0
-palonnier 0 0
-lm
-lmctl
-lmname par défaut par défaut
-logbase 1.0001 1.000100 e+00
-logfn
-logspec non non
-lowerf 133.33334 1.333333 e+02
-lpbeam 1e-40 1.000000 e-40
-lponlybeam 7e-29 7.000000 e-29
-lw 6.5 6.500000 e+00
-maxhmmpf -1 -1
-maxnewoov 20 20
-maxwpf -1 -1
-mdef
-moyenne
-mfclogdir
-min_endfr 0 0
-mixw
-mixwfloor 0.0000001 1.000000 e-07
-mllr
-mmap oui oui
-ncep 13 13
-nfft 512 2048
-nfilt 40 40
-nwpen 1.0 1.000000 e+00
-pbeam 1e-48 1.000000 e-48
-pip 1.0 1.000000 e+00
-pl_beam 1e-10 1.000000 e-10
-pl_pbeam 1e-5 1.000000 e-05
-pl_window 0 0
-rawlogdir
-remove_dc non non
-round_filters oui oui
-samprate 16000 4.800000 e+04
graines -1 -1
-sendump
-senlogdir
-senmgau
-silprob 0.005 5.000000 e-03
-smoothspec non non
-svspec
à temps non non
-tmat
-tmatfloor 0.0001 1.000000 e-04
-topn 4 4
-topn_beam 0 0
-toprule
-transformer l'héritage héritage
-unit_area oui oui
-upperf 6855.4976 6.855498 e+03
-usewdphones non non
-uw 1.0 1.000000 e+00
-var
-varfloor 0.0001 1.000000 e-04
-varnorm non non
-verbose non non
-warp_params
-warp_type inverse_linear inverse_linear
-wbeam 7e-29 7.000000 e-29
-wip 0.65 6.500000 e-01
-wlen 0.025625 2.562500 e-02INFO: cmd_ln.c(691): Analyse de la ligne de commande: \ -nfilt 20 \ -lowerf 1 \
-upperf 4000 \ -wlen 0.025 \ transformation dct \ -round_filters n \
-remove_dc oui \ -svspec 0-12/13-25/26-38 \ -feat 1s_c_d_dd \ -agc
aucun \ -cmn actuel \ -cmninit 56,-3,1 \ -varnorm pasConfiguration actuelle: [NOM] [DEFLT] [VALEUR]
-agc aucun aucun
-agcthresh 2.0 2.000000 e+00
-alpha 0.97 9.700000 e-01
-ceplen 13 13
-cmn courant courant
-cmninit 8.0 56,-3,1
-le tramage non non
-doublebw non non
-exploit 1s_c_d_dd 1s_c_d_dd
-frate 100 100
-input_endian peu de peu de
-lda
-ldadim 0 0
-palonnier 0 0
-logspec non non
-lowerf 133.33334 1.000000 e+00
-ncep 13 13
-nfft 512 2048
-nfilt 40 20
-remove_dc non oui
-round_filters oui non
-samprate 16000 4.800000 e+04
graines -1 -1
-smoothspec non non
-svspec 0-12/13-25/26-38
-transformer l'héritage dct
-unit_area oui oui
-upperf 6855.4976 4.000000 e+03
-varnorm non non
-verbose non non
-warp_params
-warp_type inverse_linear inverse_linear
-wlen 0.025625 2.500000 e-02INFO: acmod.c(246): Analysé modèle spécifique à la fonction des paramètres de
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/feat.params
INFO: feat.c(713): l'Initialisation de la fonctionnalité de flux de type: '1s_c_d_dd',
ceplen=13, CMN='en cours', VARNORM='no', AGC='none' INFO: cmn.c(142):
[0]= 12.00, [1..12]= 0.0 INFO: acmod.c(167): à l'Aide de subvector
spécification 0-12/13-25/26-38 INFO: mdef.c(517): grille de Lecture
définition:
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/mdef INFO:
mdef.c(528): Trouvé la marque d'ordre d'octet BMDF, en supposant que c'est un binaire
mdef fichier INFO: bin_mdef.c(336): Lecture binaire définition du modèle:
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/mdef INFO:
bin_mdef.c(513): 50 CI-téléphone, 143047 CD-téléphone, 3 emitstate/téléphone, 150
CI-sen, 5150 Sen, 27135 Sen-Seq INFO: tmat.c(205): Lecture HMM
probabilité de transition des matrices:
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/transition_matrices
INFO: acmod.c(121): Tentative d'utilisation d'SCHMM module de calcul d'INFO:
ms_gauden.c(198): Lecture de mélange gaussien paramètre:
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/moyens
INFO: ms_gauden.c(292): 1 livre de codes, 3, taille: INFO:
ms_gauden.c(294): 256x13 INFO: ms_gauden.c(294): 256x13 INFO:
ms_gauden.c(294): 256x13 INFO: ms_gauden.c(198): Lecture de mélange
gaussienne de paramètres:
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/écarts
INFO: ms_gauden.c(292): 1 livre de codes, 3, taille: INFO:
ms_gauden.c(294): 256x13 INFO: ms_gauden.c(294): 256x13 INFO:
ms_gauden.c(294): 256x13 INFO: ms_gauden.c(354): 0 variance des valeurs
terrassé INFO: s2_semi_mgau.c(903): Chargement de senones à partir de fichier de vidage
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/sendump
INFO: s2_semi_mgau.c(927): DÉBUT de FICHIER de DESCRIPTION de FORMAT INFO:
s2_semi_mgau.c(1022): Utilisation de memory-mapped I/O pour senones INFO:
s2_semi_mgau.c(1296): le Maximum de la top-N: 4 N premiers faisceaux: 0 0 0 INFO:
dict.c(317): l'Allocation de 137543 * 20 octets (2686 Kio) pour les entrées de mots
INFO: dict.c(332): la Lecture du dictionnaire principal:
/usr/local/share/pocketsphinx/modèle/lm/fr_fr/cmu07a.dic INFO:
dict.c(211): Alloués 1010 KiB pour cordes, 1664 KiB pour les téléphones INFO:
dict.c(335): 133436 mots lire INFO: dict.c(341): Lecture de remplissage
de dictionnaire:
/usr/local/share/pocketsphinx/modèle/hmm/fr_fr/hub4wsj_sc_8k/noisedict
INFO: dict.c(211): Alloués 0 KiB pour cordes, 0 KiB pour les téléphones INFO:
dict.c(344): 11 mots lire INFO: dict2pid.c(396): Construction PID tables
pour le dictionnaire INFO: dict2pid.c(404): l'Allocation de 50^3 * 2 octets (244
KiB) pour le mot-initial triphones INFO: dict2pid.c(131): Alloués 30200
octets (29 Kio) pour le mot-finale triphones INFO: dict2pid.c(195):
Alloués 30200 octets (29 Kio) pour un seul téléphone word triphones INFO:
ngram_model_arpa.c(77): Aucun \data\ marque LM informations sur le fichier:
ngram_model_dmp.c(142) utilisation de memory-mapped I/O pour les LM informations sur le fichier:
ngram_model_dmp.c(196): ngrams 1=5001, 2=436879, 3=418286 INFO:
ngram_model_dmp.c(242): 5001 = LM.unigrams(+remorque) lire INFO:
ngram_model_dmp.c(288): 436879 = LM.bigrams(+remorque) lire INFO:
ngram_model_dmp.c(314): 418286 = LM.trigrammes lire INFO:
ngram_model_dmp.c(339): 37293 = LM.prob2 entrées de lire INFO:
ngram_model_dmp.c(359): 14370 = LM.bo_wt2 entrées de lire INFO:
ngram_model_dmp.c(379): 36094 = LM.prob3 entrées de lire INFO:
ngram_model_dmp.c(407): 854 = LM.tseg_base entrées de lire INFO:
ngram_model_dmp.c(463): 5001 = ascii mot chaînes de lire INFO:
ngram_search_fwdtree.c(99): 788 unique initiale diphones INFO:
ngram_search_fwdtree.c(147): 0 root, 0 non-root canaux, 60
unique téléphone paroles INFO: ngram_search_fwdtree.c(186): la Création de la recherche
arbre INFO: ngram_search_fwdtree.c(191): avant: 0 root, 0 non-root
canaux, 60 unique téléphone paroles INFO: ngram_search_fwdtree.c(326):
après: max nonroot chan a augmenté de 13428 INFO:
ngram_search_fwdtree.c(338): après: 457 racine, 13300 non-root canaux,
26 unique téléphone paroles INFO: ngram_search_fwdflat.c(156): fwdflat:
min_ef_width = 4, max_sf_win = 25 INFO: continue.c(371):
/usr/installer/pocketsphinx-0.8/src/programmes/.libs/lt-pocketsphinx_continuous
COMPILÉ LE: 21 Juil 2013, À: 14:34:06Table de mixage load failed: Invalid argument FATAL_ERROR: "continue.c", ligne
246: impossible d'ouvrir le périphérique audio
Je suis en utilisant un ps3eye actuellement. Si je fais un simple:
arecord -D plughw:1,0 -d 5 -q -f cd -t wav ~/test.wav
Tout fonctionne bien ( Vérifié cela en connectant Raspberrypi à la TV via HDMI, et l'exécution de aplay ~/test.wav )
Ce que je fais mal les gars?
Informations que vous pourriez avoir besoin ( basé sur d'autres posts que j'ai vu ):
root@scarlettpi:/usr/install/pocketsphinx-0.8# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
root@scarlettpi:/usr/install/pocketsphinx-0.8#
root@scarlettpi:/usr/install/pocketsphinx-0.8# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
root@scarlettpi:/usr/install/pocketsphinx-0.8#
root@scarlettpi:/usr/install/pocketsphinx-0.8# dpkg -l | grep "alsa"
ii alsa-base 1.0.25+3~deb7u1 all ALSA driver configuration files
ii alsa-firmware-loaders 1.0.25-2 armhf ALSA software loaders for specific hardware
ii alsa-oss 1.0.25-1 armhf ALSA wrapper for OSS applications
ii alsa-tools 1.0.25-2 armhf Console based ALSA utilities for specific hardware
ii alsa-utils 1.0.25-4 armhf Utilities for configuring and using ALSA
ii alsaplayer-alsa 0.99.80-5.1 armhf PCM player designed for ALSA (ALSA output module)
ii alsaplayer-common 0.99.80-5.1 armhf PCM player designed for ALSA (common files)
ii alsaplayer-gtk 0.99.80-5.1 armhf PCM player designed for ALSA (GTK+ version)
ii gstreamer0.10-alsa:armhf 0.10.36-1.1 armhf GStreamer plugin for ALSA
ii libsox-fmt-alsa 14.4.0-3 armhf SoX alsa format I/O library
root@scarlettpi:/usr/install/pocketsphinx-0.8#
root@scarlettpi:/usr/install/pocketsphinx-0.8# dpkg -l | grep pulseaudio
ii gstreamer0.10-pulseaudio:armhf 0.10.31-3+nmu1 armhf GStreamer plugin for PulseAudio
root@scarlettpi:/usr/install/pocketsphinx-0.8#
Également en termes d'installation de poche sphinx je n'ai suivantes:
# uninstall pulse audio if its already installed
apt-get remove pulseaudio -y
aptitude purge pulseaudio -y
# sphinxbase install
apt-get install bison -y
cd /usr/install
wget http://downloads.sourceforge.net/project/cmusphinx/sphinxbase/0.8/sphinxbase-0.8.tar.gz
tar -xvf sphinxbase-0.8.tar.gz
cd sphinxbase-0.8
./configure
make
make install
cd -
# pocketsphinx installwget http://sourceforge.net/projects/cmusphinx/files/pocketsphinx/0.8/pocketsphinx-0.8.tar.gz
tar -xvf pocketsphinx-0.8.tar.gz
cd pocketsphinx-0.8
./configure
make
make install
Des idées ou des conseils dans la bonne direction serait extrêmement utile.
Merci,
Malcolm Jones
EDIT:
Oublié d'inclure cette information ainsi:
root@scarlettpi:/usr/install/pocketsphinx-0.8# arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
sysdefault:CARD=CameraB409241
USB Camera-B4.09.24.1, USB Audio
Default Audio Device
front:CARD=CameraB409241,DEV=0
USB Camera-B4.09.24.1, USB Audio
Front speakers
surround40:CARD=CameraB409241,DEV=0
USB Camera-B4.09.24.1, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=CameraB409241,DEV=0
USB Camera-B4.09.24.1, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=CameraB409241,DEV=0
USB Camera-B4.09.24.1, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=CameraB409241,DEV=0
USB Camera-B4.09.24.1, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=CameraB409241,DEV=0
USB Camera-B4.09.24.1, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=CameraB409241,DEV=0
USB Camera-B4.09.24.1, USB Audio
IEC958 (S/PDIF) Digital Audio Output
root@scarlettpi:/usr/install/pocketsphinx-0.8#
OriginalL'auteur Malcolm Jones | 2013-07-22
Vous devez vous connecter pour publier un commentaire.
M'a pris du temps, avec l'aide de quelques sources ( elles seront listées dans ma réponse ) et quelques conseils utiles de nikolay-shmyrev, j'ai finalement venu avec une réponse qui a fonctionné pour moi.
Hypothèses clés:
de l'exécution de ces commandes en tant qu'utilisateur pi ( auparavant, j'étais exécuter en tant que root, ce qui est inexact )
Je suis une utilisation continue de la reconnaissance et je ne visait que la capacité de "se réveiller" mon raspberry pi. Au réveil, j'ai d'autres projets sur la façon dont il doit interagir.
Ma configuration:
Canakit RaspberryPi
Câble HDMI à ma TV Toshiba
dongle usb wifi
Playstation 3 Yeux pour la reconnaissance vocale
Aller de l'avant. J'ai exécuté les commandes suivantes sur mon RaspberryPi pour obtenir PulseAudio + pocketsphinx travailler ensemble w/ma Playstation 3 Yeux. ( Si vous voyez l'un des lieux d'amélioration s'il vous plaît laissez-moi savoir )
L'installation de pulse audio /packages de développement
La configuration d'ALSA
Selon les directives de http://forums.debian.net/viewtopic.php?f=16&t=12497
Assurez-vous que votre appareil photo charges de démarrage
Configurer le PulseAudio démon pour les connexions réseau
Changer son par défaut du pilote d'alsa pour pulseaudio
Ajouter
pi
de l'utilisateur à l'impulsion du groupe d'accèsAssurez-vous d'ajouter
/usr/local/lib
à chemin de la bibliothèqueInstaller la base PocketSphinx
Vérifier si le pouls démon est en cours d'exécution
, Finalement, les Sphinx
REMARQUE IMPORTANTE
VOUS DEVEZ ÊTRE L'UTILISATEUR PI ET LE PULSEAUDIO SERVEUR DOIT ÊTRE EN COURS D'EXÉCUTION
Assumimg corpus existant fichier .jsgf fichier .dic et .lm fichiers (à l'aide de lmtool)
Références:
J'ai l'intention d'ajouter plus de détails derrière pourquoi j'ai utilisé certains, les configurations dans un billet de blog que je suis en train d'écrire sur mon projet domotique, mais pensé que je pourrais partager avec vous ce que j'ai fait jusqu'à présent au cas où quelqu'un d'autre a été coincé comme moi et que vous souhaitez aller de l'avant avec leur travail. Espérons que cela aide quelqu'un. Merci pour les conseils les gars.
content que cela a pu vous aider! Je tiens à préciser que ce post est très vieux à ce point, comme c'est l'utilisation d'une ancienne cmusphinx, et pulse audio. Les paramètres ont probablement beaucoup changé depuis 2013. Recommandé d'utiliser la dernière poche de sphinx ( vous pouvez le trouver sur github sous la cmusphinx organisation ). Aussi, selon la version de pulse audio que vous avez en cours d'exécution, vous pouvez consulter la documentation sur les options de configurations ( ces valeurs changent à travers les années en tant que bien ).
OriginalL'auteur Malcolm Jones
Si vous ne savez pas comment configurer alsa, il est mieux d'utiliser pulseaudio, en outre, il est configuré sur votre système. Vous devriez mieux compiler sphinxbase avec pulseaudio soutien. Pour plus d'informations, lisez la FAQ:
http://cmusphinx.sourceforge.net/wiki/faq#qfailed_to_open_audio_device_dev_dsp_no_such_file_or_directory
C'est un message clé, il dit que votre configuration d'alsa ne supporte pas le niveau de la table de mixage. Si vous ne savez pas comment ajouter de la table de mixage dans la configuration d'alsa, utiliser pulseaudio
C'est une mauvaise idée qui permettra de réduire à la fois la vitesse et la précision de votre appareil. Votre processeur a la FPU, de sorte que vous ne devriez pas utiliser de point fixe mode.
Aussi, je pense que je suis un peu incertain sur la façon d'utiliser pulseaudio w/ pocketsphix, tous les autres liens, etc vous pouvez recommander je regarde comme je vais w/ ce de débogage voyage? Encore un peu incertain de quel appareil je dois maintenant utiliser depuis que je suis tenter cela avec pulseaudio. Encore merci pour votre aide jusqu'à présent.
Vous pouvez simplement l'utiliser, il n'y a pas besoin de préciser quoi que ce soit.
"Connexion refusée" signifie que vous n'avez pas à démarrer pulseaudio démon
"Connexion refusée" peut aussi signifier que le client n'est pas en mesure de "trouver" le serveur, c'est à dire, "pactl --serveur 127.0.0.1 info" œuvres", mais "pactl info" ne fonctionne pas. Je ne sais pas pourquoi cela arrive, mais une solution de contournement consiste à "exporter PULSE_SERVER=127.0.0.1"
OriginalL'auteur Nikolay Shmyrev
j'ai eu le même problème de ne pas ouvrir l'appareil audio.
http://cmusphinx.sourceforge.net/wiki/faq#qfailed_to_open_audio_device_dev_dsp_no_such_file_or_directory
Je résoudre ce problème acheter de l'installation de libpulse paquet-dev puis réinstaller sphinxbase , pocketsphinx.
OriginalL'auteur helloiloveit