Как в оригинале с гитхаба в скрипте работает со встроенным микрофоном.
Если втыкать usb микрофон и хочется чтобы он работал надо для начала alsa миксер настроить для того чтобы она записывала образец ключевого слова с внешнего микрофона взято отсюда
Код: Выделить всё
alsamixer
Код: Выделить всё
root@orangepizero:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
Код: Выделить всё
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
If you have not created a pi or other user yet, you’ll want to add one belonging to sudoers and audio groups, and go the home directory:
Код: Выделить всё
adduser pi
adduser pi sudo
adduser pi audio
su pi
cd ~
Код: Выделить всё
pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker"
}
pcm.mic {
type plug
slave {
pcm "hw:0,0"
}
}
pcm.speaker {
type plug
slave {
pcm "hw:0,0"
}
}
Код: Выделить всё
pcm.mic {
type plug
slave {
pcm "hw:0,0"
format S16_LE
}
}
И в обоих питоновских скриптах snowboy.py и sayreplay.py
Код: Выделить всё
with sr.Microphone(index) as source:
Код: Выделить всё
with sr.Microphone(device_index=0) as source: