Page 1 sur 1

Micro PS3 EYE

Posté : mer. 25 sept. 2019 15:59
par cc12
Bonjour,

Je suis en train de mettre en place un assistant vocal sur mon Raspberry 3 avec MagicMirror et Kalliope.

Code : Tout sélectionner

uname -a
Linux MIRROR 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
Je me suis procuré une camera PS3 EYE :

Code : Tout sélectionner

lsusb 
Bus 001 Device 005: ID 1415:2000 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc. Sony Playstation Eye
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Lorsque j'essaye d'enregistrer en faisant un simple "arecord test.wav", en 8 bits, j'ai toujours un grésillement à la lecture par dessus :

Code : Tout sélectionner

arecord test.wav
Capture WAVE 'test.wav' : Unsigned 8 bit, Fréquence 8000 Hz, Mono
Mais si je rajoute l'option "-f cd" pour passer en 16 b, pas de probleme :

Code : Tout sélectionner

arecord test.wav -f cd
Capture WAVE 'test.wav' : Signed 16 bit Little Endian, Fréquence 44100 Hz, Stéréo
Que ce soit avec le HP en bluetooth ou connecté en jack, ca ne change rien.

J'ai l'impression que ce problème m’empêche de bien faire fonctionner mon assistant vocal notamment pour la portée du son.

J'ai installé la camera en utilisant des tutos trouvés sur le net. Voici mon .asoundrc :

Code : Tout sélectionner

pcm.array {
  type hw
  card CameraB409241
}
pcm.array_gain {
  type softvol
  slave {
    pcm "array"
  }
  control {
    name "Mic Gain"
    count 2
  }
  min_dB -10.0
  max_dB 5.0
}
pcm.cap {
  type plug
  slave {
    pcm "array_gain"
    channels 4
  }
  route_policy sum
}
pcm.!default {
    type asym
    
    playback.pcm {
     type plug
      slave.pcm {
	@func getenv
	vars [ ALSAPCM ]
	default "hw:PCH"
      }
    }
    capture.pcm {
        type plug
        slave.pcm "cap"
    }
}
Dans dmesg, j'ai ceci quand je fais le arecord en 8b:

Code : Tout sélectionner

[ 1463.173563] usb 1-1.3: current rate 549767 is different from the runtime rate 16000
et en 16b :

Code : Tout sélectionner

[ 1480.236653] usb 1-1.3: current rate 136468 is different from the runtime rate 16000
J'avoue être à cours d'idée et ne vois pas d'ou cela peut provenir, et si c'est ce "gresillement" qui empeche l'assisant de bien m'entendre.

Si vous avez des idées ou suggestions, je suis preneur.

Merci

cc