99bbf880e9
commit 28086d05ada6d03daa886aad0e469854b811311c Author: Charles Keepax <ckeepax@opensource.cirrus.com> Date: Thu May 19 16:43:18 2022 +0100 ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local The helper function snd_soc_component_is_codec is based off the presence of the non_legacy_dai_naming flag. This isn't super robust as CPU side components may also specify this flag, and indeed the kernel already contains a couple that do. After componentisation there isn't really a totally robust solution to identifying what is a CODEC driver, without introducing a flag specifically for that purpose, and really the desirable direction to move in is that the distinction doesn't matter. This patch does two things to try to mitigate these problems. Firstly, now that all the other users of the helper function have been removed, it makes the helper function local to the driver rather, than being part of the core. This should help to discourage any new code from being created that depends on the CODEC driver distinction. Secondly, it updates the helper function itself to use the endianness flag rather than the non_legacy_dai_naming flag. The endianness flag is definitely invalid on a CPU side component, so it a more reliable indicator that the device is definitely a CODEC. The vast majority of buses require the CODEC to set the endianness flag, so the number of corner cases should be fairly minimal. It is worth noting that CODECs sending audio over SPI, or built into the CPU CODECs are potential corner cases, however the hope is that in most cases those types of devices do not consitute a simple audio card. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-57-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org> |
||
---|---|---|
ac108_plugin | ||
patches | ||
pulseaudio | ||
tools | ||
ac10x.h | ||
ac101.c | ||
ac101_regs.h | ||
ac108.c | ||
ac108.h | ||
ac108_6mic.state | ||
ac108_asound.state | ||
asound_2mic.conf | ||
asound_4mic.conf | ||
asound_6mic.conf | ||
builddtbo.sh | ||
default.pa | ||
dkms.conf | ||
install.sh | ||
LICENSE | ||
Makefile | ||
README.md | ||
seeed-2mic-voicecard-overlay.dts | ||
seeed-2mic-voicecard.dtbo | ||
seeed-4mic-voicecard-overlay.dts | ||
seeed-4mic-voicecard.dtbo | ||
seeed-8mic-voicecard-overlay.dts | ||
seeed-8mic-voicecard.dtbo | ||
seeed-voicecard | ||
seeed-voicecard.c | ||
seeed-voicecard.service | ||
sound-compatible-4.18.h | ||
ubuntu-prerequisite.sh | ||
uninstall.sh | ||
wm8960.c | ||
wm8960.h | ||
wm8960_asound.state |
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 Welch’s method.
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.