“WM8960 Audio HAT”的版本间的差异
Waveshare-admin(讨论 | 贡献) 小 (替换文字 - 「 {|style="width:auto" | {|class="at-c" style="table-layout:fixed;border-radius:100px;width:100%;border:2px solid #{{{bordercolor}}}" |- |class="bg-Joinus roundy-100 hide" style="table-layout:fixed;border-radius:100px;padding:10px;width:1) |
(→录音播放功能) |
||
(未显示10个用户的69个中间版本) | |||
第1行: | 第1行: | ||
+ | <div class="wiki-pages blue-color"> | ||
+ | <div class="tabberlive newwsnav" id="wsnavbar"> | ||
+ | <ul class="tabbernav"> | ||
+ | <li class="nav-link">[[#myintro|说明]]</li> | ||
+ | <li class="nav-link">[[#myresources|资料]]</li> | ||
+ | <li class="nav-link">[[#myfaq|FAQ]]</li> | ||
+ | <li class="nav-link">[[#mysupport|售后]]</li> | ||
+ | </ul> | ||
+ | </div> | ||
<div class="tabber"> | <div class="tabber"> | ||
− | |||
− | |||
{{外围模块|colorscheme=blue | {{外围模块|colorscheme=blue | ||
|name = WM8960 Audio Board | |name = WM8960 Audio Board | ||
− | |img=[[File:WM8960-Audio-HAT-1.jpg|360px|alt=WM8960-Audio-HAT|link= | + | |img=[[File:WM8960-Audio-HAT-1.jpg|360px|alt=WM8960-Audio-HAT|link=https://{{SERVERNAME}}/shop/WM8960-Audio-HAT.htm]] |
|category1=音频解码 | |category1=音频解码 | ||
|brand=Waveshare | |brand=Waveshare | ||
第10行: | 第17行: | ||
|interface1 = I2S | |interface1 = I2S | ||
}} | }} | ||
+ | |||
+ | <div class="tabbertab" title="说明" id="myintro"> | ||
+ | |||
+ | <h1>说明</h1> | ||
+ | |||
+ | =产品简介= | ||
+ | ==前言== | ||
+ | 本产品是基于树莓派而设计的音频模块,采用WM8960低功耗立体声编解码器,通过I2C接口控制,I2S接口传输音频。板载标准3.5mm耳机接口,可通过外接耳机播放音乐,同时也可通过双通道喇叭接口外接喇叭播放。板子左右两边有一个高质量MEMS硅麦克风,可以立体声录音。<br /> | ||
+ | |||
+ | ==产品特性== | ||
+ | *供电电压:5V | ||
+ | *逻辑电压:3.3V | ||
+ | *音频编解码芯片:WM8960 | ||
+ | *控制接口:I2C | ||
+ | *音频接口:I2S | ||
+ | *DAC信噪比:98dB | ||
+ | *ADC信噪比:94dB | ||
+ | *耳机驱动:40mW (16Ω@3.3V) | ||
+ | *扬声器驱动:1W per channel (8Ω BTL) | ||
+ | |||
+ | ==硬件资源== | ||
+ | [[file:wm8960_audio_hat.png|900px]]<br /> | ||
+ | LP、LN分别对应左扬声器的正、负极; RP、RN分别对应右扬声器的正、负极。<br /> | ||
+ | {|border=1; style="width:700px;" | ||
+ | |-style="background:#0000ff; color:white;" align="center" | ||
+ | |功能引脚||树莓派引脚(BCM)||描述 | ||
+ | |-align="center" | ||
+ | |5V||5V||电源正(5V电源输入) | ||
+ | |-align="center" | ||
+ | |GND||GND||电源地 | ||
+ | |-align="center" | ||
+ | |SDA||P2/SDA||I2C数据输入 | ||
+ | |-align="center" | ||
+ | |SCL||P3/SCL||I2C时钟输入 | ||
+ | |-align="center" | ||
+ | |CLK||P18||I2S位时钟输入 | ||
+ | |-align="center" | ||
+ | |LRCLK||P19||I2S帧时钟输入 | ||
+ | |-align="center" | ||
+ | |DAC||P21||I2S串行数据输出 | ||
+ | |-align="center" | ||
+ | |ADC||P20||I2S串行数据输入 | ||
+ | |-align="center" | ||
+ | |BUTTON||P17||自定义按键 | ||
+ | |} | ||
+ | |||
+ | =树莓派使用= | ||
+ | <font color="#FF0000"> | ||
+ | 本产品例程只适用于树莓派官方系统(Raspbian)<br /> | ||
+ | </font> | ||
+ | |||
+ | ==安装驱动== | ||
+ | 如果你是国内用户,用官方源可能会比较慢,整个安装过程下载需要很长时间且可能会更新失败,因此可以换成阿里源:<br /> | ||
+ | <pre> | ||
+ | sudo nano /etc/apt/sources.list | ||
+ | </pre> | ||
+ | 将官方源开头用#注释,并添加阿里源:<br /> | ||
+ | <pre> | ||
+ | #deb-src http://archive.raspberrypi.org/debian/ stretch main | ||
+ | deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi | ||
+ | deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi | ||
+ | </pre> | ||
+ | |||
+ | 屏蔽树莓派默认音频:<br /> | ||
+ | <pre> | ||
+ | sudo nano /boot/config.txt | ||
+ | </pre> | ||
+ | 找到dtparam=audio=on,在最前面加上#号,将其改成#dtparam=audio=on,改成ctrl+c然后Y保存退出<br /> | ||
+ | |||
+ | 更新软件源:<br /> | ||
+ | <pre> | ||
+ | sudo apt-get update | ||
+ | sudo apt-get upgrade | ||
+ | </pre> | ||
+ | 检查内核版本:<br /> | ||
+ | <pre> | ||
+ | uname -a | ||
+ | 下载驱动程序: | ||
+ | git clone https://github.com/waveshare/WM8960-Audio-HAT | ||
+ | </pre> | ||
+ | 安装WM8960驱动:<br /> | ||
+ | <pre> | ||
+ | cd WM8960-Audio-HAT | ||
+ | #需要等待一定的时间 | ||
+ | sudo ./install.sh | ||
+ | sudo reboot | ||
+ | </pre> | ||
+ | |||
+ | 重启后运行如下命令看下驱动是否加载成功。<br /> | ||
+ | <pre> | ||
+ | sudo dkms status | ||
+ | </pre> | ||
+ | <pre> | ||
+ | pi@raspberrypi:~ $ sudo dkms status | ||
+ | wm8960-soundcard, 1.0, 4.19.58-v7l+, armv7l: installed | ||
+ | </pre> | ||
+ | |||
+ | <font color="#FF0000"> | ||
+ | 注意:首次安装如果更新了内核可能会出现有噪声等问题,需要重启后再次运行命令安装驱动就可以了。<br /> | ||
+ | 这里提供的是一个完成教程,如果安装多次还是无法出现驱动可以使用我们做好的[https://pan.baidu.com/s/1xHWcfnpxLpuPVWjHyZfZwA 镜像(版本2019-07-10,密码l9jz)]使用。<br /> | ||
+ | </font> | ||
+ | <!-- | ||
+ | 配置每次启动的会后重启wm8960服务(修复每次重启后耳机口无法正常播放的问题) | ||
+ | <pre> | ||
+ | sudo sed -i '/exit 0/i sudo systemctl restart wm8960-soundcard.service &' /etc/rc.local | ||
+ | </pre> | ||
+ | --> | ||
+ | |||
+ | ==检测声卡== | ||
+ | *检查播放:aplay -l | ||
+ | <pre> | ||
+ | pi@raspberrypi:~ $ aplay -l | ||
+ | **** List of PLAYBACK Hardware Devices **** | ||
+ | card 0: wm8960soundcard [wm8960-soundcard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] | ||
+ | Subdevices: 1/1 | ||
+ | Subdevice #0: subdevice #0 | ||
+ | </pre> | ||
+ | |||
+ | *检查录音:arecord -l | ||
+ | <pre> | ||
+ | pi@raspberrypi:~ $ arecord -l | ||
+ | **** List of CAPTURE Hardware Devices **** | ||
+ | card 0: wm8960soundcard [wm8960-soundcard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] | ||
+ | Subdevices: 1/1 | ||
+ | Subdevice #0: subdevice #0 | ||
+ | </pre> | ||
+ | |||
+ | ==录音播放测试== | ||
+ | ===录播测试=== | ||
+ | <pre> | ||
+ | sudo arecord -f cd -Dhw:0 | aplay -Dhw:0 | ||
+ | </pre> | ||
+ | 程序运行后通过耳机或者喇叭会听到麦克风采集到的声音,注意喇叭不能开靠近麦克风,否则会导致共振产生啸叫。<br /> | ||
+ | |||
+ | ===录音=== | ||
+ | <pre> | ||
+ | sudo arecord -D hw:0,0 -f S32_LE -r 16000 -c 2 test.wav | ||
+ | </pre> | ||
+ | test.wav是录制生成的文件名。<br /> | ||
+ | |||
+ | ===播放=== | ||
+ | <pre> | ||
+ | sudo aplay -Dhw:0 test.wav | ||
+ | </pre> | ||
+ | 播放刚刚录制的音频<br /> | ||
+ | |||
+ | ===调节音量=== | ||
+ | 默认的音量是比较小的<br /> | ||
+ | <pre> | ||
+ | sudo alsamixer | ||
+ | </pre> | ||
+ | 如果 WM8960 声卡没有设置为默认声卡则需要按 F6 选择声卡设备。<br /> | ||
+ | [[file:wm8960_audio_hat_alsamixer.png|900px]]<br /> | ||
+ | 实际上右边还有很多可以调节的选项。<br /> | ||
+ | |||
+ | ===mpg123播放器=== | ||
+ | aplay只支持wav的音乐,实际上MP3格式的音乐会更加多,安装:<br /> | ||
+ | <pre> | ||
+ | sudo apt-get install mpg123 | ||
+ | sudo mpg123 music.mp3 | ||
+ | </pre> | ||
+ | 需要注意,这里的music.mp3需要替换成你的mp3音乐。<br /> | ||
+ | |||
+ | ===图形化smplayer=== | ||
+ | 如果是命令行系统可以跳过,如果你的是桌面系统,安装: | ||
+ | <pre> | ||
+ | sudo apt-get install smplayer | ||
+ | </pre> | ||
+ | 在界面中右键选择wm8960-soundcard为默认<br /> | ||
+ | [[file:wm8960_audio_hat_smplayer.png|900px]]<br /> | ||
+ | 在菜单中打开smplayer软件,打开音频文件即可播放。(smplayer也可以播放视频)<br /> | ||
+ | [[file:wm8960_audio_hat_smplayer2.png|900px]]<br /> | ||
+ | [[file:wm8960_audio_hat_smplayer3.png|900px]]<br /> | ||
+ | |||
+ | ==程序控制== | ||
+ | 我们提供了一个简单的python控制例程。<br /> | ||
+ | |||
+ | *安装对应的库 | ||
+ | <pre> | ||
+ | sudo apt-get install libasound2-dev | ||
+ | git clone https://github.com/larsimmisch/pyalsaaudio | ||
+ | cd pyalsaaudio | ||
+ | sudo python setup.py build | ||
+ | sudo python setup.py install | ||
+ | </pre> | ||
+ | |||
+ | *下载例程 | ||
+ | <pre> | ||
+ | wget http://www.waveshare.net/w/upload/1/19/WM8960_Audio_HAT_Code.tar.gz | ||
+ | tar zxvf WM8960_Audio_HAT_Code.tar.gz | ||
+ | sudo chmod 777 -R WM8960_Audio_HAT_Code | ||
+ | </pre> | ||
+ | |||
+ | *播放 | ||
+ | <pre> | ||
+ | sudo python playwav.py music.wav | ||
+ | </pre> | ||
+ | |||
+ | *录音 | ||
+ | <pre> | ||
+ | sudo python recordwav.py out.wav | ||
+ | </pre> | ||
+ | </div> | ||
+ | =VisionFive2使用= | ||
+ | ==加载驱动== | ||
+ | 在 U-boot 打印到图示位置试,按下任意键可以进入设备树的切换</br> | ||
+ | [[File:VisionFive2-21.jpg]]</br> | ||
+ | 将开机时的命令换成如下</br> | ||
+ | ext4load mmc 1:3 a0000000 /boot/uEnv.txt | ||
+ | env import a0000000 17c | ||
+ | setenv fdtfile starfive/jh7110-visionfive-v2-wm8960.dtb | ||
+ | sysboot mmc 1:3 ext2 b0000000 /boot/extlinux/extlinux.conf | ||
+ | ==202302 系统,加载驱动== | ||
+ | 开机,正常进入系统,输入命令</br> | ||
+ | nano /boot/uEnv.txt | ||
+ | 进入系统启动配置文件,将 1 部分的内容注释掉,添加 2 部分的内容</br> | ||
+ | fdtfile=starfive/jh7110-visionfive-v2-wm8960.dtb | ||
+ | [[File:visionfive2-WM8960-1.png]]</br> | ||
+ | 重启即可</br> | ||
+ | ==开始使用== | ||
+ | 安装alsa-utils</br> | ||
+ | apt install alsa-utils | ||
+ | 如果一开始没有接入模块,需要重启VisionFive2后才能检测到音频设备</br> | ||
+ | 输入 aplay -l 列出声卡和数字音频设备</br> | ||
+ | 注意观察图上标出来的位置,这表示声卡和数字音频设备的设备号,其中card0,device0 为VisionFive2主板板载耳机接口,card0,device2为WM8960模块板载耳机接口</br> | ||
+ | [[File:VisionFive2-19.jpg]]</br> | ||
+ | 输入 arecord -l 列出声卡和录音设备</br> | ||
+ | 注意观察图上标出来的位置,这表示声卡和录音设备的设备号,card0,device1为WM8960模块板载的两个贴片麦克风</br> | ||
+ | [[File:VisionFive2-20.jpg]]</br> | ||
+ | 输入命令:</br> | ||
+ | arecord -Dhw:0,1 -f S32_LE -r16000 -c2 -d 10 -t wav sound_32b_16k.wav | ||
+ | 开始录制10秒32位、16kHz的音频,并将其保存在当前目录下,文件名为sound_32b_16k.wav</br> | ||
+ | 输入命令:</br> | ||
+ | aplay -Dhw:0,2 -f S32_LE -r16000 -t wav sound_32b_16k.wav | ||
+ | 使用WM8960模块板载耳机接口播放音频</br> | ||
+ | <font color="#FF0000">注意VisionFive2主板板载耳机接口只支持输出16位音频格式的音频</br></font> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed"> | ||
+ | </div></div> | ||
+ | =RDK X3 MODULE使用= | ||
+ | ==录音播放功能== | ||
+ | 如果您使用的是server的镜像,请导入最新的两个音频软件包到系统,如果不是请跳到驱动安装</br> | ||
+ | wget https://www.waveshare.net/w/upload/3/3b/Audio_Driver_HAT_V2.zip | ||
+ | unzip Audio_Driver_HAT_V2.zip | ||
+ | sudo dpkg -i *.deb | ||
+ | sync | ||
+ | sudo reboot | ||
+ | 安装驱动 | ||
+ | git clone git@github.com:HorizonRDK/hobot-audio.git | ||
+ | cd hobot-audio | ||
+ | sudo ./install.sh | ||
+ | What type of audio board do you have? | ||
+ | 1. WM8960 Audio HAT | ||
+ | 2. Audio Driver HAT | ||
+ | 此处选择1<br> | ||
+ | 运行命令sync && reboot重启开发板,如/dev/snd下出现如下设备节点,说明转接板安装成功<br> | ||
+ | root@ubuntu:~# ls /dev/snd/ | ||
+ | by-path controlC0 pcmC0D0c pcmC0D0p pcmC0D1c pcmC0D1p timer | ||
+ | ===录音播放测试=== | ||
+ | 2通道麦克风录音: | ||
+ | tinycap ./2chn_test.wav -D 0 -d 0 -c 2 -b 16 -r 48000 -p 512 -n 4 -t 5 | ||
+ | |||
+ | 双通道音频播放: | ||
+ | tinyplay ./2chn_test.wav -D 0 -d 1 | ||
+ | <div class="tabbertab" title="资料" id="myresources"> | ||
+ | |||
+ | <h1>资料</h1> | ||
+ | |||
===文档=== | ===文档=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/f/fa/WM8960_Audio_HAT_Schematic.pdf 原理图]<br> |
− | |||
===程序=== | ===程序=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/1/19/WM8960_Audio_HAT_Code.tar.gz 示例程序]<br> |
===数据手册=== | ===数据手册=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/1/18/WM8960_v4.2.pdf WM8960数据手册]<br> |
− | <br />< | + | |
+ | ===3D图纸=== | ||
+ | *[https://{{SERVERNAME}}/w/upload/b/b3/WM8960_Audio_HAT_drawing.zip WM8960 Audio HAT 3D 图纸] | ||
+ | |||
+ | </div> | ||
+ | <div class="tabbertab" title="FAQ" id="myfaq"> | ||
+ | |||
+ | <h1>FAQ</h1> | ||
+ | <br /> | ||
+ | {{FAQ|最新的系统安装驱动报错没有kernel-header文件, 无法正常安装? | ||
+ | | | ||
+ | 将以下设置行加到/boot/config.txt 文件的最后一行,保存后重启系统,再安装驱动。 | ||
+ | <pre> | ||
+ | arm_64bit=0 | ||
+ | </pre> | ||
+ | |||}} | ||
+ | |||
+ | {{FAQ|WM8960 Audio HAT驱动装好了,喇叭有声音,但是耳机没有声音?| | ||
+ | 终端运行以下指令重启声卡服务,然后再测试一下<br> | ||
+ | <pre> | ||
+ | sudo systemctl restart wm8960-soundcard.service | ||
+ | </pre> | ||
+ | |||}} | ||
+ | {{FAQ|耳机座子是几段的| | ||
+ | 耳机座子是4段国标(又称OMTP)耳机接口,如果是美标(又称CTIA)耳机可能会出现麦没有声音现象。 | ||
+ | |||}} | ||
+ | {{FAQ|板子的晶振是多大的| | ||
+ | 24Mhz。 | ||
+ | |||}} | ||
+ | {{FAQ|喇叭的功率| | ||
+ | 两个喇叭都是8欧姆5W的。 | ||
+ | |||}} | ||
+ | {{FAQ|是否可以录音边播放?| | ||
+ | 可以,在说明的录音测试部分有详细说明 | ||
+ | |||}} | ||
+ | {{FAQ|WM8960 Audio HAT驱动装好了,怎么检测不到声卡?| | ||
+ | 1.查看一下/boot/config.txt文件是否屏蔽掉了树莓派默认音频。<br> | ||
+ | 2.注意是否用对驱动版本。<br> | ||
+ | 3.确保安装驱动的过程没有报错。<br> | ||
+ | 4.安装好之后一定要重启。 | ||
+ | |||}} | ||
+ | </div> | ||
+ | |||
+ | <div class="tabbertab" title="售后" id="mysupport"> | ||
− | < | + | <h1>技术支持</h1> |
+ | <br />{{Service17}}</div> | ||
</div> | </div> | ||
− | |||
− |
2024年1月15日 (一) 09:09的最新版本
| ||||||||||||||||||||
| ||||||||||||||||||||
说明
产品简介
前言
本产品是基于树莓派而设计的音频模块,采用WM8960低功耗立体声编解码器,通过I2C接口控制,I2S接口传输音频。板载标准3.5mm耳机接口,可通过外接耳机播放音乐,同时也可通过双通道喇叭接口外接喇叭播放。板子左右两边有一个高质量MEMS硅麦克风,可以立体声录音。
产品特性
- 供电电压:5V
- 逻辑电压:3.3V
- 音频编解码芯片:WM8960
- 控制接口:I2C
- 音频接口:I2S
- DAC信噪比:98dB
- ADC信噪比:94dB
- 耳机驱动:40mW (16Ω@3.3V)
- 扬声器驱动:1W per channel (8Ω BTL)
硬件资源
LP、LN分别对应左扬声器的正、负极; RP、RN分别对应右扬声器的正、负极。
功能引脚 | 树莓派引脚(BCM) | 描述 |
5V | 5V | 电源正(5V电源输入) |
GND | GND | 电源地 |
SDA | P2/SDA | I2C数据输入 |
SCL | P3/SCL | I2C时钟输入 |
CLK | P18 | I2S位时钟输入 |
LRCLK | P19 | I2S帧时钟输入 |
DAC | P21 | I2S串行数据输出 |
ADC | P20 | I2S串行数据输入 |
BUTTON | P17 | 自定义按键 |
树莓派使用
本产品例程只适用于树莓派官方系统(Raspbian)
安装驱动
如果你是国内用户,用官方源可能会比较慢,整个安装过程下载需要很长时间且可能会更新失败,因此可以换成阿里源:
sudo nano /etc/apt/sources.list
将官方源开头用#注释,并添加阿里源:
#deb-src http://archive.raspberrypi.org/debian/ stretch main deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
屏蔽树莓派默认音频:
sudo nano /boot/config.txt
找到dtparam=audio=on,在最前面加上#号,将其改成#dtparam=audio=on,改成ctrl+c然后Y保存退出
更新软件源:
sudo apt-get update sudo apt-get upgrade
检查内核版本:
uname -a 下载驱动程序: git clone https://github.com/waveshare/WM8960-Audio-HAT
安装WM8960驱动:
cd WM8960-Audio-HAT #需要等待一定的时间 sudo ./install.sh sudo reboot
重启后运行如下命令看下驱动是否加载成功。
sudo dkms status
pi@raspberrypi:~ $ sudo dkms status wm8960-soundcard, 1.0, 4.19.58-v7l+, armv7l: installed
注意:首次安装如果更新了内核可能会出现有噪声等问题,需要重启后再次运行命令安装驱动就可以了。
这里提供的是一个完成教程,如果安装多次还是无法出现驱动可以使用我们做好的镜像(版本2019-07-10,密码l9jz)使用。
检测声卡
- 检查播放:aplay -l
pi@raspberrypi:~ $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: wm8960soundcard [wm8960-soundcard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
- 检查录音:arecord -l
pi@raspberrypi:~ $ arecord -l **** List of CAPTURE Hardware Devices **** card 0: wm8960soundcard [wm8960-soundcard], device 0: bcm2835-i2s-wm8960-hifi wm8960-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
录音播放测试
录播测试
sudo arecord -f cd -Dhw:0 | aplay -Dhw:0
程序运行后通过耳机或者喇叭会听到麦克风采集到的声音,注意喇叭不能开靠近麦克风,否则会导致共振产生啸叫。
录音
sudo arecord -D hw:0,0 -f S32_LE -r 16000 -c 2 test.wav
test.wav是录制生成的文件名。
播放
sudo aplay -Dhw:0 test.wav
播放刚刚录制的音频
调节音量
默认的音量是比较小的
sudo alsamixer
如果 WM8960 声卡没有设置为默认声卡则需要按 F6 选择声卡设备。
实际上右边还有很多可以调节的选项。
mpg123播放器
aplay只支持wav的音乐,实际上MP3格式的音乐会更加多,安装:
sudo apt-get install mpg123 sudo mpg123 music.mp3
需要注意,这里的music.mp3需要替换成你的mp3音乐。
图形化smplayer
如果是命令行系统可以跳过,如果你的是桌面系统,安装:
sudo apt-get install smplayer
在界面中右键选择wm8960-soundcard为默认
在菜单中打开smplayer软件,打开音频文件即可播放。(smplayer也可以播放视频)
程序控制
我们提供了一个简单的python控制例程。
- 安装对应的库
sudo apt-get install libasound2-dev git clone https://github.com/larsimmisch/pyalsaaudio cd pyalsaaudio sudo python setup.py build sudo python setup.py install
- 下载例程
wget http://www.waveshare.net/w/upload/1/19/WM8960_Audio_HAT_Code.tar.gz tar zxvf WM8960_Audio_HAT_Code.tar.gz sudo chmod 777 -R WM8960_Audio_HAT_Code
- 播放
sudo python playwav.py music.wav
- 录音
sudo python recordwav.py out.wav
VisionFive2使用
加载驱动
在 U-boot 打印到图示位置试,按下任意键可以进入设备树的切换
将开机时的命令换成如下
ext4load mmc 1:3 a0000000 /boot/uEnv.txt env import a0000000 17c setenv fdtfile starfive/jh7110-visionfive-v2-wm8960.dtb sysboot mmc 1:3 ext2 b0000000 /boot/extlinux/extlinux.conf
202302 系统,加载驱动
开机,正常进入系统,输入命令
nano /boot/uEnv.txt
进入系统启动配置文件,将 1 部分的内容注释掉,添加 2 部分的内容
fdtfile=starfive/jh7110-visionfive-v2-wm8960.dtb
开始使用
安装alsa-utils
apt install alsa-utils
如果一开始没有接入模块,需要重启VisionFive2后才能检测到音频设备
输入 aplay -l 列出声卡和数字音频设备
注意观察图上标出来的位置,这表示声卡和数字音频设备的设备号,其中card0,device0 为VisionFive2主板板载耳机接口,card0,device2为WM8960模块板载耳机接口
输入 arecord -l 列出声卡和录音设备
注意观察图上标出来的位置,这表示声卡和录音设备的设备号,card0,device1为WM8960模块板载的两个贴片麦克风
输入命令:
arecord -Dhw:0,1 -f S32_LE -r16000 -c2 -d 10 -t wav sound_32b_16k.wav
开始录制10秒32位、16kHz的音频,并将其保存在当前目录下,文件名为sound_32b_16k.wav
输入命令:
aplay -Dhw:0,2 -f S32_LE -r16000 -t wav sound_32b_16k.wav
使用WM8960模块板载耳机接口播放音频
注意VisionFive2主板板载耳机接口只支持输出16位音频格式的音频
RDK X3 MODULE使用
录音播放功能
如果您使用的是server的镜像,请导入最新的两个音频软件包到系统,如果不是请跳到驱动安装
wget https://www.waveshare.net/w/upload/3/3b/Audio_Driver_HAT_V2.zip unzip Audio_Driver_HAT_V2.zip sudo dpkg -i *.deb sync sudo reboot
安装驱动
git clone git@github.com:HorizonRDK/hobot-audio.git cd hobot-audio sudo ./install.sh What type of audio board do you have? 1. WM8960 Audio HAT 2. Audio Driver HAT
此处选择1
运行命令sync && reboot重启开发板,如/dev/snd下出现如下设备节点,说明转接板安装成功
root@ubuntu:~# ls /dev/snd/ by-path controlC0 pcmC0D0c pcmC0D0p pcmC0D1c pcmC0D1p timer
录音播放测试
2通道麦克风录音:
tinycap ./2chn_test.wav -D 0 -d 0 -c 2 -b 16 -r 48000 -p 512 -n 4 -t 5
双通道音频播放:
tinyplay ./2chn_test.wav -D 0 -d 1
FAQ
将以下设置行加到/boot/config.txt 文件的最后一行,保存后重启系统,再安装驱动。
arm_64bit=0
终端运行以下指令重启声卡服务,然后再测试一下
sudo systemctl restart wm8960-soundcard.service
耳机座子是4段国标(又称OMTP)耳机接口,如果是美标(又称CTIA)耳机可能会出现麦没有声音现象。
24Mhz。
两个喇叭都是8欧姆5W的。
可以,在说明的录音测试部分有详细说明
1.查看一下/boot/config.txt文件是否屏蔽掉了树莓派默认音频。
2.注意是否用对驱动版本。
3.确保安装驱动的过程没有报错。
4.安装好之后一定要重启。