This is an enhancement fork with the explicit aim of supporting current shipping Raspbian/Ubuntu kernels without requiring downgrading. Please donate at https://hintak.github.io/ if it works for you. Use vX.Y branch for kernel version vX.Y
Find a file
Hin-Tak Leung b093f59250 v5.13: Conditionally re-adding asoc_simple_parse_xxx()
commit e25704f84ca2b586e8e65d1b2ab686205b3076fe
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Mon Apr 12 08:52:13 2021 +0900

    ASoC: simple-card-utils: remove asoc_simple_parse_xxx()

    ASoC is now supporting multi DAI, but, current
    simple-card / audio-graph are assuming fixed single DAI.

    Now, asoc_simple_parse_xxx() macro is assuming single DAI.
    To support multi-CPU/Codec, this patch unpack asoc_simple_parse_xxx()
    macro, and uses "&dai_link->cpus[i]" instead of "dai_link->cpus".

$ git log --format=oneline v5.12..v5.13 -- include/sound/simple_card_utils.h
f6fcc820e0c96664e2f21c0d6bb60630243ef36a ASoC: audio-graph: move audio_graph_remove() to simple-card-utils.c
1a456b1c6be13514a8fc5c1a99e6763f491d17e9 ASoC: audio-graph: move audio_graph_card_probe() to simple-card-utils.c
343e55e71877415a23372388b3e0c59a9bba42f6 ASoC: simple-card-utils: Increase maximum number of links to 128
fcfd763bef4ff7f6371790979a6ceac9c4ac425a ASoC: simple-card-utils: tidyup asoc_simple_parse_convert()
3919249e80995ed5f125f94d05fcb6171f79e732 ASoC: simple-card-utils: tidyup dev_dbg() to use 1 line
33cd6b191f1cdb5f332717a80ce26f661f53e924 ASoC: simple-card-utils: tidyup debug info for clock
c826ec0391c83f06354a4ebb25c7b2480c18f33a ASoC: simple-card-utils: multi support at asoc_simple_canonicalize_cpu/platform()
9830d3e99f51fc1c1c6ab8be7778fd205af198ad ASoC: simple-card-utils: add simple_props_to_xxx() macro
40d8cbe70e71be170e0a4fe6ab112d9aaa9cfb18 ASoC: simple-card-utils: indicate missing CPU/Codec numbers for debug
ac813c625ad5c3ee98a99e1b37659a0d85178978 ASoC: simple-card-utils: indicate dai_fmt if exist
e25704f84ca2b586e8e65d1b2ab686205b3076fe ASoC: simple-card-utils: remove asoc_simple_parse_xxx()
fafc05aadd4b6ce5c161135de9d3a653fc054543 ASoC: simple-card-utils: use for_each_prop_xxx()
f899006d558546a8ee39c93f816eb3847c5bc6c0 ASoC: simple-card-utils: remove li->dais/li->conf
205eb17eddb473c3159743c7d3aaf68db37b7231 ASoC: simple-card-utils: share dummy DAI and reduce memory
f2138aed231c88d5c4fa8d06aa15ad19685087c2 ASoC: simple-card-utils: enable flexible CPU/Codec/Platform
050c7950fd706fec229af9f30e8ce254cea9b675 ASoC: simple-card-utils: alloc dai_link information for CPU/Codec/Platform
2021-10-09 00:45:09 +01:00
ac108_plugin remove debug message, increase ac108 buf size 2017-10-09 14:58:35 +08:00
patches adjusting back-to-v4.19.diff to recent changes 2021-04-27 15:57:01 +01:00
pulseaudio update: more convenient way to apply udev rules 2018-10-11 17:54:51 +08:00
tools test hardware mic phase position 2018-12-25 09:36:27 +08:00
ac10x.h Second/Alternative change to correct for 5.5+ change in trigger order 2021-04-27 02:49:25 +01:00
ac101.c Second/Alternative change to correct for 5.5+ change in trigger order 2021-04-27 02:49:25 +01:00
ac101_regs.h Add: headset detection for 6-Mics Circular Array Kit and 4-Mics Linear Array Kit 2018-04-02 08:43:20 +00:00
ac108.c Second/Alternative change to correct for 5.5+ change in trigger order 2021-04-27 02:49:25 +01:00
ac108.h add respeaker 4mic audio card driver 2017-09-14 08:29:26 +00:00
ac108_6mic.state Following Standard ALSA Control Names convention 2020-09-28 16:38:30 +01:00
ac108_asound.state change asound.state for 4mic array, lower down PGA to reduce static noise 2018-09-29 14:49:19 +08:00
asound_2mic.conf use card id to identify cards 2018-07-24 11:28:55 +08:00
asound_4mic.conf use card id to identify cards 2018-07-24 11:28:55 +08:00
asound_6mic.conf update 6 mic gain controls 2018-08-06 06:32:46 +00:00
builddtbo.sh Adding missing shebang 2020-09-18 01:06:57 +01:00
default.pa add pulseaudio default configuration file 2017-09-08 04:12:53 +00:00
dkms.conf backport patch for 5.8 2021-04-07 21:48:15 +01:00
install.sh Revert "libasound_module_pcm_ac108.so is no longer installed, so libasound2-plugins shouldn't be needed" 2021-08-04 12:00:51 +01:00
LICENSE Create LICENSE 2017-09-15 10:14:31 +08:00
Makefile Revert "Operational change to correct for 5.5+ change in trigger order; REVISIT!" 2021-04-27 02:49:08 +01:00
README.md Merge branch 'respeaker:master' into v5.9 2021-07-04 16:42:56 +01:00
seeed-2mic-voicecard-overlay.dts Fix 2mic hat install failed 2018-03-30 03:21:40 +00:00
seeed-2mic-voicecard.dtbo Fix 2mic hat install failed 2018-03-30 03:21:40 +00:00
seeed-4mic-voicecard-overlay.dts relocating fixed-clock entry, based on upstream advice 2020-09-14 14:41:47 +01:00
seeed-4mic-voicecard.dtbo rebuilt dtbo on current Raspbian 2020-09-14 14:46:10 +01:00
seeed-8mic-voicecard-overlay.dts relocating fixed-clock entry, based on upstream advice 2020-09-14 14:41:47 +01:00
seeed-8mic-voicecard.dtbo rebuilt dtbo on current Raspbian 2020-09-14 14:46:10 +01:00
seeed-voicecard Not writing dtoverlay=seeed-*mic-voicecard to /boot/config.txt 2021-04-25 00:13:42 +01:00
seeed-voicecard.c v5.13: Conditionally re-adding asoc_simple_parse_xxx() 2021-10-09 00:45:09 +01:00
seeed-voicecard.service add seeed-voicecard manger service 2018-02-01 16:07:02 +08:00
sound-compatible-4.18.h v4.17: replace codec to component 2021-04-25 00:13:42 +01:00
ubuntu-prerequisite.sh Added g++ to ubuntu-prerequisite.sh 2021-05-27 22:05:01 +01:00
uninstall.sh stop systemd service before diabling in uninstall, taken from upstream c1c2e5ca 2020-09-28 17:02:11 +01:00
wm8960.c v5.12: symmetric_rates renamed symmetric_rate 2021-05-31 19:17:06 +01:00
wm8960.h add wm8960.h header file 2017-04-27 16:52:22 +08:00
wm8960_asound.state optimize some options 2017-09-15 02:01:53 +00:00

seeed-voicecard

The drivers for ReSpeaker Mic Hat, ReSpeaker 4 Mic Array, 6-Mics Circular Array Kit, and 4-Mics Linear Array Kit for Raspberry Pi.

Install seeed-voicecard

Get the seeed voice card source code and install all linux kernel drivers

git clone https://github.com/respeaker/seeed-voicecard
cd seeed-voicecard
sudo ./install.sh
sudo reboot

ReSpeaker Documentation

Up to date documentation for reSpeaker products can be found in Seeed Studio Wiki!

Coherence

Estimate the magnitude squared coherence using Welchs method. 4-mics-linear-array-kit coherence
Note: 'CO 1-2' means the coherence between channel 1 and channel 2.

# How to get the coherence of the captured audio(a.wav for example).
sudo apt install python-numpy python-scipy python-matplotlib
python tools/coherence.py a.wav

# Requirement of the input audio file:
- format: WAV(Microsoft) signed 16-bit PCM
- channels: >=2

uninstall seeed-voicecard

If you want to upgrade the driver , you need uninstall the driver first.

pi@raspberrypi:~/seeed-voicecard $ sudo ./uninstall.sh 
...
------------------------------------------------------
Please reboot your raspberry pi to apply all settings
Thank you!
------------------------------------------------------

Enjoy !

Technical support

For hardware testing purposes we made a Rasperry Pi OS 5.10.17-v7l+ 32-bit image with reSpeaker drivers pre-installed, which you can download by clicking on this link.

We provide official support for using reSpeaker with the following OS:

  • 32-bit Raspberry Pi OS
  • 64-bit Raspberry Pi OS

And following hardware platforms:

  • Raspberry Pi 3 (all models), Raspberry Pi 4 (all models)

Anything beyond the scope of official support is considered to be community supported. Support for other OS/hardware platforms can be added, provided MOQ requirements can be met.

If you have a technical problem when using reSpeaker with one of the officially supported platforms/OS, feel free to create an issue on Github. For general questions or suggestions, please use Seeed forum.