# seeed-voicecard [![Join the chat at https://gitter.im/seeed-voicecard/Lobby](https://badges.gitter.im/seeed-voicecard/Lobby.svg)](https://gitter.im/seeed-voicecard/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) The drivers of [ReSpeaker Mic Hat](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT-p-2874.html) and [ReSpeaker 4 Mic Array](https://www.seeedstudio.com/ReSpeaker-4-Mic-Array-for-Raspberry-Pi-p-2941.html) for Raspberry Pi. ## ReSpeaker Mic Hat [![](https://github.com/SeeedDocument/MIC_HATv1.0_for_raspberrypi/blob/master/img/mic_hatv1.0.png?raw=true)](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT-p-2874.html) While the upstream wm8960 codec is not currently supported by current Pi kernel builds, upstream wm8960 has some bugs, we had fixed it. we must it build manually. Get the seeed voice card source code. ```bash git clone https://github.com/respeaker/seeed-voicecard cd seeed-voicecard #for ReSpeaker 2-mic sudo ./install.sh 2mic sudo reboot ``` Check that the sound card name matches the source code seeed-voicecard. ```bash #for ReSpeaker 2-mic pi@raspberrypi:~/seeed-voicecard $ 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 card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: seeed2micvoicec [seeed-2mic-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 pi@raspberrypi:~/seeed-voicecard $ arecord -l **** List of CAPTURE Hardware Devices **** card 1: seeed2micvoicec [seeed-2mic-voicecard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 pi@raspberrypi:~/seeed-voicecard $ ``` #### Next step Go to https://github.com/respeaker/mic_hat to build voice enabled projects with Google Assistant SDK or Alexa Voice Service. ## ReSpeaker 4 Mic Array [![](https://github.com/SeeedDocument/ReSpeaker-4-Mic-Array-for-Raspberry-Pi/blob/master/img/features.png?raw=true)](https://www.seeedstudio.com/ReSpeaker-4-Mic-Array-for-Raspberry-Pi-p-2941.html) The 4 Mic Array uses ac108 which includes 4 ADCs, we also write ac108 rapberry pi linux kernel driver. ```bash git clone https://github.com/respeaker/seeed-voicecard cd seeed-voicecard sudo ./install.sh 4mic #reboot your Raspbian OS sudo reboot ``` Check that the sound card name matches the source code seeed-voicecard. ```bash #for ReSpeaker 4-mic pi@raspberrypi:~ $ arecord -L null Discard all samples (playback) or generate zero samples (capture) playback capture dmixed array ac108 default:CARD=seeed4micvoicec seeed-4mic-voicecard, Default Audio Device sysdefault:CARD=seeed4micvoicec seeed-4mic-voicecard, Default Audio Device dmix:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct sample mixing device dsnoop:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct sample snooping device hw:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct hardware device without any conversions plughw:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Hardware device with all software conversions pi@raspberrypi:~ $ ``` If you want to change the alsa settings, You can use `sudo alsactl --file=asound.state store` to save it. Test: ```bash #for ReSpeaker 2-mic #It will capture sound an playback on hw:1 arecord -f cd -Dhw:1 | aplay -Dhw:1 ``` ```bash #for ReSpeaker 4-mic #It will capture sound on AC108 and save as a.wav arecord -Dac108 -f S32_LE -r 16000 -c 4 a.wav ``` ### uninstall seeed-voicecard If you want to upgrade the driver , you need uninstall the driver first. ``` pi@raspberrypi:~/seeed-voicecard $ sudo ./uninstall.sh 4mic delete dtoverlay=seeed-4mic-voicecard in /boot/config.txt delete snd-soc-ac108 in /etc/modules ------------------------------------------------------ Please reboot your raspberry pi to apply all settings Thank you! ------------------------------------------------------ pi@raspberrypi:~/seeed-voicecard $ sudo ./uninstall.sh 2mic delete dtoverlay=seeed-2mic-voicecard in /boot/config.txt remove seeed-2mic-voicecard.dtbo in /boot/overlays remove snd-soc-wm8960.ko delete snd-soc-wm8960 in /etc/modules ------------------------------------------------------ Please reboot your raspberry pi to apply all settings Thank you! ------------------------------------------------------ ``` ### with Google Assistant if you run the assistant but the playback is speed up considerably, try to configure alsa: ```bash sudo cp asound.conf /etc/asound.conf ``` If the alsa configuration doesn't solve the issue, try to use pulseaudio. See [#4](https://github.com/respeaker/seeed-voicecard/issues/4) Enjoy !