Adafruit I2S MEMS microphone and Raspberry Pi Zero W
Breakout boards, sensors, other Adafruit kits, etc.
Please be positive and constructive with your questions and comments.
burnt_orange_
Posts: 3 Joined: Sun Jun 23, 2024 9:28 pm
Post
by burnt_orange_ » Sun Jun 23, 2024 10:57 pm
Hi there,
I'm running Bullseye 32 bit on a Pi Zero W with the MEMS microphone. I'm using Bullseye because the scripts I am using for this project were developed on Bullseye and it's just faster for me to use that version (though I am willing to go to Bookworm if necessary). The install was working until lately.
I have tried the fixes in
this post but I'm still getting the following errors:
Code: Select all
make[1]: Entering directory '/usr/src/linux-headers-6.1.21+'
CC [M] /home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.o
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:59:15: error: variable ‘default_card_info’ has initializer but incomplete type
59 | static struct simple_card_info default_card_info = {
| ^~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:60:4: error: ‘struct simple_card_info’ has no member named ‘card’
60 | .card = "snd_rpi_i2s_card", // -> snd_soc_card.name
| ^~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:60:11: warning: excess elements in struct initializer
60 | .card = "snd_rpi_i2s_card", // -> snd_soc_card.name
| ^~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:60:11: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:61:4: error: ‘struct simple_card_info’ has no member named ‘name’
61 | .name = "simple-card_codec_link", // -> snd_soc_dai_link.name
| ^~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:61:11: warning: excess elements in struct initializer
61 | .name = "simple-card_codec_link", // -> snd_soc_dai_link.name
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:61:11: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:62:4: error: ‘struct simple_card_info’ has no member named ‘codec’
62 | .codec = "snd-soc-dummy", // "dmic-codec", // -> snd_soc_dai_link.codec_name
| ^~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:62:12: warning: excess elements in struct initializer
62 | .codec = "snd-soc-dummy", // "dmic-codec", // -> snd_soc_dai_link.codec_name
| ^~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:62:12: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:63:4: error: ‘struct simple_card_info’ has no member named ‘platform’
63 | .platform = "not-set.i2s",
| ^~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:63:15: warning: excess elements in struct initializer
63 | .platform = "not-set.i2s",
| ^~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:63:15: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:64:4: error: ‘struct simple_card_info’ has no member named ‘daifmt’
64 | .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS,
| ^~~~~~
In file included from ./include/sound/soc-topology.h:15,
from ./include/sound/soc-dapm.h:15,
from ./include/sound/soc.h:417,
from ./include/sound/simple_card.h:12,
from /home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:23:
./include/uapi/sound/asoc.h:150:41: warning: excess elements in struct initializer
150 | #define SND_SOC_DAI_FORMAT_I2S 1 /* I2S mode */
| ^
./include/sound/soc-dai.h:27:29: note: in expansion of macro ‘SND_SOC_DAI_FORMAT_I2S’
27 | #define SND_SOC_DAIFMT_I2S SND_SOC_DAI_FORMAT_I2S
| ^~~~~~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:64:13: note: in expansion of macro ‘SND_SOC_DAIFMT_I2S’
64 | .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS,
| ^~~~~~~~~~~~~~~~~~
./include/uapi/sound/asoc.h:150:41: note: (near initialization for ‘default_card_info’)
150 | #define SND_SOC_DAI_FORMAT_I2S 1 /* I2S mode */
| ^
./include/sound/soc-dai.h:27:29: note: in expansion of macro ‘SND_SOC_DAI_FORMAT_I2S’
27 | #define SND_SOC_DAIFMT_I2S SND_SOC_DAI_FORMAT_I2S
| ^~~~~~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:64:13: note: in expansion of macro ‘SND_SOC_DAIFMT_I2S’
64 | .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS,
| ^~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:4: error: ‘struct simple_card_info’ has no member named ‘cpu_dai’
65 | .cpu_dai = {
| ^~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: error: extra brace group at end of initializer
65 | .cpu_dai = {
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: warning: excess elements in struct initializer
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:4: error: ‘struct simple_card_info’ has no member named ‘codec_dai’
69 | .codec_dai = {
| ^~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: error: extra brace group at end of initializer
69 | .codec_dai = {
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: warning: excess elements in struct initializer
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c: In function ‘i2s_mic_rpi_init’:
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:123:15: error: ‘default_card_info’ has an incomplete type ‘struct simple_card_info’
123 | card_info = default_card_info;
| ^~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:123:13: error: ‘card_info’ has an incomplete type ‘struct simple_card_info’
123 | card_info = default_card_info;
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:124:12: error: invalid use of undefined type ‘struct simple_card_info’
124 | card_info.platform = card_platform;
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:125:12: error: invalid use of undefined type ‘struct simple_card_info’
125 | card_info.cpu_dai.name = card_platform;
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c: At top level:
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:41:32: error: storage size of ‘card_info’ isn’t known
41 | static struct simple_card_info card_info;
| ^~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:59:32: error: storage size of ‘default_card_info’ isn’t known
59 | static struct simple_card_info default_card_info = {
| ^~~~~~~~~~~~~~~~~
DONE.
Has anyone used the MEMS mic on a Pi Zero W and if so, how did you get it to work? Thanks in advance!
mikeysklar
Posts: 17729 Joined: Mon Aug 01, 2016 8:10 pm
Post
by mikeysklar » Mon Jun 24, 2024 11:25 am
I ordered a sensor so I can help smooth out the process.
It looks like the main resolution was to add these two lines to the /boot/config.txt:
Code: Select all
dtoverlay=googlevoicehat-soundcard
dtparam=i2s=on
It is not clear that a custom build of the modules is necessary to get up and running.
burnt_orange_
Posts: 3 Joined: Sun Jun 23, 2024 9:28 pm
Post
by burnt_orange_ » Mon Jun 24, 2024 6:42 pm
Thanks for the help! I put both of those in the /boot/config.txt and rebooted first, then followed directions on the product page. I am still getting the following errors:
Code: Select all
make -C /lib/modules/6.1.21+/build M=/home/pi/Raspberry-Pi-Installer-Scripts/i2 s_mic_module modules
make[1]: Entering directory '/usr/src/linux-headers-6.1.21+'
CC [M] /home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.o
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:59:15: error: variable ‘default_card_info’ has initializer but incomplete type
59 | static struct simple_card_info default_card_info = {
| ^~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:60:4: e rror: ‘struct simple_card_info’ has no member named ‘card’
60 | .card = "snd_rpi_i2s_card", // -> snd_soc_card.name
| ^~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:60:11: warning: excess elements in struct initializer
60 | .card = "snd_rpi_i2s_card", // -> snd_soc_card.name
| ^~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:60:11: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:61:4: e rror: ‘struct simple_card_info’ has no member named ‘name’
61 | .name = "simple-card_codec_link", // -> snd_soc_dai_link.name
| ^~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:61:11: warning: excess elements in struct initializer
61 | .name = "simple-card_codec_link", // -> snd_soc_dai_link.name
| ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:61:11: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:62:4: e rror: ‘struct simple_card_info’ has no member named ‘codec’
62 | .codec = "snd-soc-dummy", // "dmic-codec", // -> snd_soc_dai_ link.codec_name
| ^~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:62:12: warning: excess elements in struct initializer
62 | .codec = "snd-soc-dummy", // "dmic-codec", // -> snd_soc_dai_ link.codec_name
| ^~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:62:12: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:63:4: e rror: ‘struct simple_card_info’ has no member named ‘platform’
63 | .platform = "not-set.i2s",
| ^~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:63:15: warning: excess elements in struct initializer
63 | .platform = "not-set.i2s",
| ^~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:63:15: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:64:4: e rror: ‘struct simple_card_info’ has no member named ‘daifmt’
64 | .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_ CBS_CFS,
| ^~~~~~
In file included from ./include/sound/soc-topology.h:15,
from ./include/sound/soc-dapm.h:15,
from ./include/sound/soc.h:417,
from ./include/sound/simple_card.h:12,
from /home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/sn d-i2smic-rpi.c:23:
./include/uapi/sound/asoc.h:150:41: warning: excess elements in struct initiali zer
150 | #define SND_SOC_DAI_FORMAT_I2S 1 /* I2S mode */
| ^
./include/sound/soc-dai.h:27:29: note: in expansion of macro ‘SND_SOC_DAI_FORMA T_I2S’
27 | #define SND_SOC_DAIFMT_I2S SND_SOC_DAI_FORMAT_I2S
| ^~~~~~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:64:13: note: in expansion of macro ‘SND_SOC_DAIFMT_I2S’
64 | .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_ CBS_CFS,
| ^~~~~~~~~~~~~~~~~~
./include/uapi/sound/asoc.h:150:41: note: (near initialization for ‘default_car d_info’)
150 | #define SND_SOC_DAI_FORMAT_I2S 1 /* I2S mode */
| ^
./include/sound/soc-dai.h:27:29: note: in expansion of macro ‘SND_SOC_DAI_FORMA T_I2S’
27 | #define SND_SOC_DAIFMT_I2S SND_SOC_DAI_FORMAT_I2S
| ^~~~~~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:64:13: note: in expansion of macro ‘SND_SOC_DAIFMT_I2S’
64 | .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_ CBS_CFS,
| ^~~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:4: e rror: ‘struct simple_card_info’ has no member named ‘cpu_dai’
65 | .cpu_dai = {
| ^~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: error: extra brace group at end of initializer
65 | .cpu_dai = {
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: warning: excess elements in struct initializer
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:65:14: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:4: e rror: ‘struct simple_card_info’ has no member named ‘codec_dai’
69 | .codec_dai = {
| ^~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: error: extra brace group at end of initializer
69 | .codec_dai = {
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: warning: excess elements in struct initializer
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:69:16: note: (near initialization for ‘default_card_info’)
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c: In fun ction ‘i2s_mic_rpi_init’:
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:123:15: error: ‘default_card_info’ has an incomplete type ‘struct simple_card_info’
123 | card_info = default_card_info;
| ^~~~~~~~~~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:123:13: error: ‘card_info’ has an incomplete type ‘struct simple_card_info’
123 | card_info = default_card_info;
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:124:12: error: invalid use of undefined type ‘struct simple_card_info’
124 | card_info.platform = card_platform;
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:125:12: error: invalid use of undefined type ‘struct simple_card_info’
125 | card_info.cpu_dai.name = card_platform;
| ^
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c: At top level:
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:41:32: error: storage size of ‘card_info’ isn’t known
41 | static struct simple_card_info card_info;
| ^~~~~~~~~
/home/pi/Raspberry-Pi-Installer-Scripts/i2s_mic_module/snd-i2smic-rpi.c:59:32: error: storage size of ‘default_card_info’ isn’t known
59 | static struct simple_card_info default_card_info = {
| ^~~~~~~~~~~~~~~~~
mikeysklar
Posts: 17729 Joined: Mon Aug 01, 2016 8:10 pm
Post
by mikeysklar » Tue Jun 25, 2024 10:42 am
These are the necessary settings based on the last group thread. I think the necessary modules are present already and it is just this bit of configuration that needs to be in place.
I'll confirm in a few days when the MEMS mic arrives, but might be all that is necessary:
config.txt :
Code: Select all
dtparam=i2s=on
dtoverlay=googlevoicehat-soundcard
arm_64bit=0
/etc/asound.conf :
Code: Select all
pcm.dmic_hw {
type hw
card sndrpii2scard
channels 2
format S32_LE
}
pcm.dmic_sv {
type softvol
slave.pcm dmic_hw
control {
name "Mic Capture Volume"
card sndrpii2scard
}
}
pcm.!default {
type asym
playback.pcm "plughw:0"
capture.pcm "dmic_sv"
}
ctl.!default {
type hw
card 0
}
skip the installer and see if your I2S device is visible.
mikeysklar
Posts: 17729 Joined: Mon Aug 01, 2016 8:10 pm
Post
by mikeysklar » Mon Jul 01, 2024 1:28 pm
The SPH0645 mic arrived and upon reboot I was able to see the device and produce a recording just by adding a single line to the /boot/config.txt:
Code: Select all
dtoverlay=googlevoicehat-soundcard
Code: Select all
arecord -D plughw:1 -c1 -r 48000 -f S32_LE -t wav -V mono -v file1.wav
The audio file recorded fine and played back well.
This setup was on a Pi 4B running Bullseye 64-bit Legacy Lite (2024-03-12). No updates applied and I did not run the adafruit i2smic.py script.
I'll setup the same now with a 32-bit Pi Zero W to match your setup.
mikeysklar
Posts: 17729 Joined: Mon Aug 01, 2016 8:10 pm
Post
by mikeysklar » Mon Jul 01, 2024 2:10 pm
Platform: Pi Zero W
OS: Bullseye Legacy 32-bit Lite (2024-03-12)
Setup:
/boot/config.txt:
Code: Select all
dtoverlay=googlevoicehat-soundcard
reboot
Code: Select all
pi@zero:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sndrpigooglevoi [snd_rpi_googlevoicehat_soundcar], device 0: Google voiceHAT SoundCard HiFi voicehat-hifi-0 [Google voiceHAT SoundCard HiFi voicehat-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
I got a usable audio file with the following command:
Code: Select all
pi@zero:~ $ arecord -D plughw:0 -c1 -r 48000 -f S32_LE -t wav -V mono -v file1.wav
Recording WAVE 'file1.wav' : Signed 32 bit Little Endian, Rate 48000 Hz, Mono
Plug PCM: Route conversion PCM (sformat=S32_LE)
Transformation table:
0 <- 0*0.5 + 1*0.5
Its setup is:
stream : CAPTURE
access : RW_INTERLEAVED
format : S32_LE
subformat : STD
channels : 1
rate : 48000
exact rate : 48000 (48000/1)
msbits : 32
buffer_size : 24000
period_size : 6000
period_time : 125000
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 6000
period_event : 0
start_threshold : 1
stop_threshold : 24000
silence_threshold: 0
silence_size : 0
boundary : 1572864000
Slave: Hardware PCM card 0 'snd_rpi_googlevoicehat_soundcar' device 0 subdevice 0
Its setup is:
stream : CAPTURE
access : MMAP_INTERLEAVED
format : S32_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 32
buffer_size : 24000
period_size : 6000
period_time : 125000
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 6000
period_event : 0
start_threshold : 1
stop_threshold : 24000
silence_threshold: 0
silence_size : 0
boundary : 1572864000
appl_ptr : 0
hw_ptr : 0
burnt_orange_
Posts: 3 Joined: Sun Jun 23, 2024 9:28 pm
Post
by burnt_orange_ » Tue Jul 02, 2024 3:50 pm
This worked for me, thanks so much for your help!
mikeysklar
Posts: 17729 Joined: Mon Aug 01, 2016 8:10 pm
Post
by mikeysklar » Tue Jul 02, 2024 9:11 pm
I was approved to update the guide to use this one-line modification. I'll post an update when that is complete tomorrow.
mikeysklar
Posts: 17729 Joined: Mon Aug 01, 2016 8:10 pm
Post
by mikeysklar » Wed Jul 03, 2024 11:30 am
I updated
the guide page to no longer go through the i2smic.py installer method and use the one line googlevoicehat driver. Repair discussion in Raspberry-Pi-Installer-Scripts
#320 .
My testing shows it worked on these setups.
i2s-pi-test.png (108.18 KiB) Viewed 425 times
Please be positive and constructive with your questions and comments.