<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki-en.lcmaker.com/index.php?action=history&amp;feed=atom&amp;title=LC-AI-C108</id>
		<title>LC-AI-C108 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki-en.lcmaker.com/index.php?action=history&amp;feed=atom&amp;title=LC-AI-C108"/>
		<link rel="alternate" type="text/html" href="http://wiki-en.lcmaker.com/index.php?title=LC-AI-C108&amp;action=history"/>
		<updated>2026-06-04T16:28:34Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>http://wiki-en.lcmaker.com/index.php?title=LC-AI-C108&amp;diff=377&amp;oldid=prev</id>
		<title>Melody: Created page with &quot;== '''Product name''' == RPI_AC108 audio decoding module 4 microphone voice module&lt;br&gt;    == '''Overview''' == Aire AC108 module is equipped with X-POWER audio decoding chip a...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki-en.lcmaker.com/index.php?title=LC-AI-C108&amp;diff=377&amp;oldid=prev"/>
				<updated>2023-11-23T08:56:17Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;== &amp;#039;&amp;#039;&amp;#039;Product name&amp;#039;&amp;#039;&amp;#039; == RPI_AC108 audio decoding module 4 microphone voice module&amp;lt;br&amp;gt;    == &amp;#039;&amp;#039;&amp;#039;Overview&amp;#039;&amp;#039;&amp;#039; == Aire AC108 module is equipped with X-POWER audio decoding chip a...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== '''Product name''' ==&lt;br /&gt;
RPI_AC108 audio decoding module 4 microphone voice module&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Overview''' ==&lt;br /&gt;
Aire AC108 module is equipped with X-POWER audio decoding chip and 4-channel silicon microphone array. &amp;lt;br&amp;gt;&lt;br /&gt;
Audio sound card expansion board specially designed for Raspberry Pi, low power consumption, stereo codec, support high-quality voice capture. It can also be used for DIY similar to smart speakers such as Tmall Genie and Google Assistant. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Features'''==&lt;br /&gt;
* Based on Raspberry Pi 40pin interface, suitable for Raspberry Pi series motherboards&amp;lt;br&amp;gt;&lt;br /&gt;
* Support Raspberry Pi Zero/Zero W/2B/3B/3B+/4 and other development boards &amp;lt;br&amp;gt;&lt;br /&gt;
* Using AC108 low-power stereo codec chip, can communicate through I2S interface&amp;lt;br&amp;gt;&lt;br /&gt;
* Onboard 4 high-quality MEMS silicon microphones, which can record left and right channels&amp;lt;br&amp;gt;&lt;br /&gt;
* Onboard 12 programmable APA-102-2020 full-color LEDs&amp;lt;br&amp;gt;&lt;br /&gt;
* Power supply mode: plug into the Raspberry Pi to get 5V and 3.3V power&amp;lt;br&amp;gt;&lt;br /&gt;
* Logic voltage: 3.3V&amp;lt;br&amp;gt;&lt;br /&gt;
* Raspberry Pi control interface: I2C, audio interface: I2S, Raspberry Pi controls the microphone array to capture voice through the I2C interface, and then transmits the voice signal to the Raspberry Pi through the I2S interface, and finally the 3.5mm headphone socket of the Raspberry Pi / HDMI interface output audio&amp;lt;br&amp;gt;&lt;br /&gt;
* Provide complete reference materials, with Raspberry Pi, you can DIY smart speakers similar to Tmall Genie, Xiaodu Speakers, and Google Assistant.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Introduction''' ==&lt;br /&gt;
1. Board size: 65*65mm, weight: 20g&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-1.jpg]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Interface description&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:C108-3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
(1)MIC1--MIC4: 4 analog MEMS silicon microphones&amp;lt;br&amp;gt;&lt;br /&gt;
(2)D1--D12: 12 APA102 full-color LEDs, connected to the SPI interface of the Raspberry Pi&amp;lt;br&amp;gt;&lt;br /&gt;
(3)Raspberry Pi 2*20P socket: support Raspberry Pi Zero/Zero W/2B/3B/3B+/4 etc&amp;lt;br&amp;gt;&lt;br /&gt;
(4)AC108: Highly integrated four-channel ADC with I2S/TDM output conversion function&amp;lt;br&amp;gt;&lt;br /&gt;
(5)GPIO12: Grove digital port, connected to GPIO12 and GPIO13 of Raspberry Pi&amp;lt;br&amp;gt;&lt;br /&gt;
(6)I2C: Grove I2C interface, connected to I2C-1 of Raspberry Pi&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Hardware connection''' ==&lt;br /&gt;
'''1.Preparation'''&amp;lt;br&amp;gt;&lt;br /&gt;
(1)First make sure that the Raspbian operating system running on the Pi is updated on or after 2018.06.27, then insert the WM8960 module into the Pi, connect the necessary peripherals such as the keyboard and monitor, and connect the Pi to the WiFi/wired network, as shown in the figure below :&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2)Change source&amp;lt;br&amp;gt;&lt;br /&gt;
Before installing the driver, please switch the source to Tsinghua according to the following process:&amp;lt;br&amp;gt;&lt;br /&gt;
①Input: sudo nano /etc/apt/sources.list&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-5.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
②Use # to comment out the content of the original file and replace it with the following content&amp;lt;br&amp;gt;&lt;br /&gt;
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib&amp;lt;br&amp;gt;&lt;br /&gt;
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-6.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
After inputting, press Ctrl+X to save and exit&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(3)Download and install the driver&amp;lt;br&amp;gt;&lt;br /&gt;
Enter:git clone https://github.com/respeaker/seeed-voicecard.git #Download driver&amp;lt;br&amp;gt;&lt;br /&gt;
Enter:cd seen-voicecard #Open folder&amp;lt;br&amp;gt;&lt;br /&gt;
Enter:sudo ./install.sh #Install sound card driver&amp;lt;br&amp;gt;&lt;br /&gt;
Enter:sudo reboot #Reboot Pi&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:C108-8.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(4)Check whether the sound card name matches the source code seeed-voicecard&amp;lt;br&amp;gt;&lt;br /&gt;
Type: arecord -L&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-9.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2.Install Python and virtual environment'''&amp;lt;br&amp;gt;&lt;br /&gt;
This is to isolate the relationship between the SDK and the system Python package&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd /home/pi&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: git clone https://github.com/respeaker/4mics_hat.git&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd /home/pi/4mics_hat&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install python-virtualenv #Install Python2 virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: virtualenv --system-site-packages ~/env #Create a virtual environment, named env&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: source ~/env/bin/activate #Activate virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: pip install spidev gpiozero #install required toolkit&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-10.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3.Example of controlling APA102 LED'''&amp;lt;br&amp;gt;&lt;br /&gt;
(1)APA102 LED interface configuration&amp;lt;br&amp;gt;&lt;br /&gt;
The onboard APA102 LED is controlled through the Pi's SPI interface, so the Pi's SPI interface needs to be configured first. &amp;lt;br&amp;gt;&lt;br /&gt;
The steps are as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
●Enter: sudo raspi-config&amp;lt;br&amp;gt;&lt;br /&gt;
●Select &amp;quot;SPI&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
●Select &amp;quot;Yes&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
●Select &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
●Select &amp;quot;Finish&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2)Run APA102 LED&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd /home/pi&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: git clone https://github.com/respeaker/4mics_hat.git&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd /home/pi/4mics_hat&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install python-virtualenv #Install Python virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: virtualenv --system-site-packages ~/env #Create a Python virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: source ~/env/bin/activate #Activate Python virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: pip install spidev gpiozero #install spidev and gpiozero&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-11.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter: python pixels.py #Run APA102 LED, the LED will blink&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-12.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4.Alexa SDK and DuerOS SDK'''&amp;lt;br&amp;gt;&lt;br /&gt;
Since Google Assistant cannot be logged in in China, Alexa and Baidu DuerOs, which can be connected in China, are used as voice engines to develop a voice mutual assistance system that can be used by most people. &amp;lt;br&amp;gt;&lt;br /&gt;
(1)Configuration and DOA test&amp;lt;br&amp;gt;&lt;br /&gt;
①Configure voice engine&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: source ~/env/bin/activate #Activate Python virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd ~/4mics_hat&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install libatlas-base-dev #install snowboy depend&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install python-pyaudio #Install pyaudio audio processing package&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: pip install ./snowboy*.whl #install snowboy for KWS&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: pip install ./webrtc*.whl #Install webrtc for DOA&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd ~/&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: git clone https://github.com/voice-engine/voice-engine #write by seen&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd voice-engine/&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: python setup.py install&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd examples&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-13.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2)Running&amp;lt;br&amp;gt;&lt;br /&gt;
Run python kws_doa.py in the virtual environment. Please use snowboy to wake up, we can see the location information. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-14.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5.Baidu Chinese voice interaction/Alexa English voice interaction'''&amp;lt;br&amp;gt;&lt;br /&gt;
(1)Configuration and installation related dependencies&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: source ~/env/bin/activate #activate the virtual&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd ~/&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: git clone https://github.com/respeaker/avs&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd avs #install Requirements&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: python setup.py install &amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install gstreamer1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install gstreamer1.0-plugins-good&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install gstreamer1.0-plugins-ugly&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: sudo apt install python-gi gir1.2-gstreamer-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: pip install tornado&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-15.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2)Obtain authorization&amp;lt;br&amp;gt;&lt;br /&gt;
Run alexa-auth on the terminal, and then log in to obtain authorization from Alexa, or run dueros-auth to obtain authorization from Baidu. Authorization files will be automatically saved in&amp;lt;br&amp;gt;&lt;br /&gt;
/home/pi/.avs.jason. In China, it is usually enough to obtain Baidu's authorization, the method is as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
①Input: dueros-auth&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-16.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
②Select baidu dueros, and then enter your own Baidu account to complete the authorization&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-17.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note: If you want to switch between alexa-auth and dueros-auth, please delete /home/pi/.avs.jason first. This is a hidden file, please use ls-la to display the file'''&lt;br /&gt;
&lt;br /&gt;
(3)Install mpg123 player&amp;lt;br&amp;gt;&lt;br /&gt;
Raspberry Pi has 3 players (mpv, mpg123 and gstreamer) available, and mpg123 has a good performance in voice interaction. &amp;lt;br&amp;gt;&lt;br /&gt;
Input: sudo apt install mpg123 #Install mpg123 player&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-18.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6.Baidu Chinese voice interaction test'''&amp;lt;br&amp;gt;&lt;br /&gt;
Plug the earphone/speaker terminal into the 3.5mm audio interface of the WM8960 module to connect to the speaker (if the monitor used has HDMI audio function, it will give priority to output audio from HDMI). &amp;lt;br&amp;gt;&lt;br /&gt;
After the above steps are configured correctly, you only need to enter the following 3 commands to enter the voice interaction function. &amp;lt;br&amp;gt;&lt;br /&gt;
Input: cd /4mics_hat #Open folder&amp;lt;br&amp;gt;&lt;br /&gt;
Input: source ~/env/bin/activate #Activate virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Input: PLAYER=mpg123 python ns_kws_doa_alexa_with_light.py &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-19.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:C108-20.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Then the terminal will print a lot of debug information. When we see status code: 204, say snowboy to the microphone on the WM8960 module to wake up the voice interaction function. The WM8960 voice module successfully recognizes&amp;lt;br&amp;gt;&lt;br /&gt;
Snowboy will print out a lot of debugging information after this sentence (if snowboy is not recognized, no debugging information will be output), at this time, immediately say the operation you want to perform, for example: play Jacky Cheung's song, and the intelligent voice module will play it immediately Jacky Cheung's music. &amp;lt;br&amp;gt;&lt;br /&gt;
('''Hint: The word snowboy may be more recognizable when pronounced by mobile phone translation software than by mouth''')&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''7.APA102 LED test'''&amp;lt;br&amp;gt;&lt;br /&gt;
After the above steps are configured correctly, you only need to enter the following 3 commands to test the LED function. &amp;lt;br&amp;gt;&lt;br /&gt;
Enter: cd ~/4mics_hat #Open folder&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: source ~/env/bin/activate #Activate virtual environment&amp;lt;br&amp;gt;&lt;br /&gt;
Enter: python pixels.py #run LED&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-21.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8.WM8960 module output volume adjustment'''&amp;lt;br&amp;gt;&lt;br /&gt;
The volume adjustment button on the Raspberry Pi desktop is used to adjust the volume of the built-in sound card by default. To adjust the volume of the WM8960 module, you must first set the WM8960 module (seeed-2mic-voicecard) as the default sound card. &amp;lt;br&amp;gt;&lt;br /&gt;
(1)Click Preferences---Audio Device Settings&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-22.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2)Sound card: seeed-2mic-voicecard (Alsa mixer), then click Make Default and OK&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:C108-23.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Kind tips:'''&lt;br /&gt;
1. When the environment has been configured, you only need to execute the 7th and 8th steps above to test the voice interaction function and APA102 LED at the next boot;&amp;lt;br&amp;gt;&lt;br /&gt;
2. Because many files in the configuration process need to be downloaded from overseas Github/Raspberry official website, the speed may be slow, please wait patiently, if the download fails, you can try multiple times! &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Melody</name></author>	</entry>

	</feed>