Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rec FAIL formats: can't open input `default' #115

Closed
diyfr opened this issue Sep 11, 2016 · 16 comments
Closed

rec FAIL formats: can't open input `default' #115

diyfr opened this issue Sep 11, 2016 · 16 comments
Assignees
Labels

Comments

@diyfr
Copy link

diyfr commented Sep 11, 2016

Description

Sur la procédure d'installation, j'ai une erreur à la détection du microphone
sur carte audio USB :

Bus 001 Device 005: ID 1b3f:2007 Generalplus Technology Inc.

Résultat

ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM false
rec FAIL formats: can't open input  `default': snd_pcm_open error: No such file or directory

un arecord -l donnerait :

**** Liste des Périphériques Matériels CAPTURE ****
carte 1: Device [USB Audio Device], périphérique 0: USB Audio [USB Audio]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0

a priori dans ce cas pas de carte 0 en ce qui me concerne.

@alexylem alexylem added the bug label Sep 11, 2016
@alexylem alexylem added this to the Je travaille dessus milestone Sep 11, 2016
@alexylem alexylem self-assigned this Sep 11, 2016
@alexylem
Copy link
Owner

alexylem commented Sep 11, 2016

Je suis étonné que tu puisses rencontrer une telle erreur à' l'installation.
Pourrais-tu recommencer et me coller le contenu exact de ta console? Surtout ce qu'il y a avant l'erreur que tu as déjà partagée.
Merci!

@diyfr
Copy link
Author

diyfr commented Sep 11, 2016

Avant c'est la validation de la sortie audio.
Il y a juste un truc avant la ligne d'erreur Alsa citée ci avant.
J'essaie demain soir de rejouer l'installation.

@diyfr
Copy link
Author

diyfr commented Sep 12, 2016

Mise à jour réalisée.
A l'étape Haut Parleurs j'ai bien les applaudissements
A l'étape microphone, a priori ça enregistre bien. Mais ça plante à la lecture de l'enregistrement

**** Liste des Périphériques Matériels CAPTURE ****
carte 1: Device [USB Audio Device], périphérique 0: USB Audio [USB Audio]
  Sous-périphériques: 1/1
  Sous-périphérique #0: subdevice #0
Indicate the card # to use [0-9]: 1
Indicate the device # to use [0-9]: 0
Updating ~/.asoundrc...
Reloading Alsa...

Input File     : 'default' (alsa)
Channels       : 2
Sample Rate    : 48000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:00:03.07 [00:00:00.00] Out:144k  [      |      ]        Clip:0
Done.
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM false
play FAIL formats: can't open output file `default': snd_pcm_open error: No such file or directory
false

du coup je creuse à la mano et je reviens

un enregistrement :

 arecord -f cd output_stereo.wav

et une lecture :

 aplay -D hw:1,0 output_stereo.wav

fonctionne. si cela peut aider..

@stonfute
Copy link

J'avais une erreur dans le genre. J'ai installé pulseaudio et passé ma carte en n°0

@diyfr
Copy link
Author

diyfr commented Sep 12, 2016

J'ai supprimé le fichier .asoundrc et relancer l'installation et cela fonctionne. !! par contre le volume micro est très bas.

@stonfute
Copy link

Un coup de alsamixer avec le mic a fond et capture a fond et c'est réglé.

@diyfr
Copy link
Author

diyfr commented Sep 12, 2016

Bon manuellement ça fonctionne
Snowboy fonctionne, mais l'enregistrement de la commande il ne se passe rien

DEBUG: speech duration was 95 (10 = 1 sec)
DEBUG: too long for a command (max 4 secs), ignoring...
./timeout.sh 10 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little jarvis-record.wav silence 1 0.1 1% 1 0.5 1% trim 0 10

une idée @stonfute
quand j'essaie de lire jarvis-record.wav, il tousse sur le nombre de canaux

@stonfute
Copy link

Je dirais que tu as trop de bruit. Visiblement d'après le debug, il écoute pendant 9.5sec mais ne capte aucune commande.

@diyfr
Copy link
Author

diyfr commented Sep 12, 2016

Bizarre car snowboy fonctionne sans problèmes. J'essaierai demain manuellement. Il est peut-être possible que Jarvis fasse fi des réglages d'alsamixer ? et pas snowboy ?

@diyfr
Copy link
Author

diyfr commented Sep 13, 2016

Bon je viens de faire de nouveau test, jarvis-record.wav est lisible et je m'entends parler
mais ça ne déclenche pas la reconnaissance via bing.

DEBUG: speech duration was 95 (10 = 1 sec)
DEBUG: too long for a command (max 4 secs), ignoring...
./timeout.sh 10 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little jarvis-record.wav silence 1 0.1 1% 1 0.5 1% trim 0 10

je vais regarder du côté de jarvis-functions.sh
Je creuse a priori peut-être un problème sur le niveau de silence dans sox ? Effectivement manuellement avec un trim de silence à 1.5% en entrée sox me découpe bien mon fichier.

@diyfr
Copy link
Author

diyfr commented Sep 13, 2016

C'est tout bon pour moi ! Un petit tour dans les paramètres !!!

@diyfr diyfr closed this as completed Sep 13, 2016
@alexylem
Copy link
Owner

@diyfr bien joué, chapeau pour l'investigation et l'utilisation des paramètres de sox. Pour les intéressés j'en explique la fonction ici: #112

@diyfr
Copy link
Author

diyfr commented Sep 14, 2016

@alexylem petite précision je suis sur un RPI zero... Je ne veux pas faire de teasing, mais maintenant je recherche activement un microphone array pas trop cher. j'ai quelques pistes à creuser.
En tout cas Good Job. Jarvis est simple et efficient.

@diyfr
Copy link
Author

diyfr commented Sep 14, 2016

@alexylem il serait presque possible de faire un étalonnage.
On demande à l'utilisateur de ne pas parler dans son micro
Puis dans une boucle on incrémente le coefficient de silence jusqu’à ce que la longueur de la piste audio générée par sox soit nulle ?

@alexylem
Copy link
Owner

Excellente idée @diyfr, tu peux créer un nouveau ticket en ton nom pour cette évolution?

@wangxu2016
Copy link

My playback 3.5mm headphone jack, usb device for recording, use the following configuration:
pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:0,0" } capture.pcm { type plug slave.pcm "hw:1,0" } }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants