首页 > 试题

一只会说话的猫

更新时间:2023-01-27 19:43:13 阅读: 评论:0

2019年中考真题-高粱读音


2023年1月27日发(作者:笔记本电脑桌)

汤姆猫代码python_⽤树莓派实现会说话的汤姆猫

会说话的汤姆猫很多⼈都玩过,对着它说话,它就会⽤猫的⾳调重复你说的话。这篇⽂章就是介绍如何使⽤树莓派来实现这个功能。

测试设备:

树莓派3B+

ReSpeaker2-MicsPiHAT(USB的麦克风应该也可以)

⽿机/⾳箱(需要带插头的)

1、ReSpeaker硬件安装

ReSpeaker是直接扣在树莓派上的,将树莓派的针脚全部插⼊到ReSpeaker中。

2、ReSpeaker驱动安装

通过SSH连接到树莓派后,⾸先更新包源,然后安装git,下⼀步会使⽤git下载代码:

sudoapt-getupdate

sudoapt-getupgrade

sudoapt-getinstallgit

从github获取麦克风驱动源代码:

进⼊源代码⽬录,安装驱动:

cdeed-voicecard

sudo./

reboot

安装成功后需要重启,然后分别执⾏aplay-l和arecord-l列出所有的声⾳播放设备和声⾳录制设备:

pi@raspberrypi:~$aplay-l

****ListofPLAYBACKHardwareDevices****

card0:ALSA[bcm2835ALSA],device0:bcm2835ALSA[bcm2835ALSA]

Subdevices:7/7

Subdevice#0:subdevice#0

Subdevice#1:subdevice#1

Subdevice#2:subdevice#2

Subdevice#3:subdevice#3

Subdevice#4:subdevice#4

Subdevice#5:subdevice#5

Subdevice#6:subdevice#6

card0:ALSA[bcm2835ALSA],device1:bcm2835ALSA[bcm2835IEC958/HDMI]

Subdevices:1/1

Subdevice#0:subdevice#0

card1:eed2micvoicec[eed-2mic-voicecard],device0:bcm2835-i2s-wm8960-hifiwm8960-hifi-0[]

Subdevices:1/1

Subdevice#0:subdevice#0

pi@raspberrypi:~$arecord-l

****ListofCAPTUREHardwareDevices****

card1:eed2micvoicec[eed-2mic-voicecard],device0:bcm2835-i2s-wm8960-hifiwm8960-hifi-0[]

Subdevices:1/1

Subdevice#0:subdevice#0

如果都看到了card1:eed2micvoicec,则说明安装成功。

3、ReSpeaker驱动安装问题

如果安装成功请跳过这⼀步。

我这⾥第⼀次安装没有成功,报了⼀个错误:

Error!echo

Yourkernelheadersforkernel4.14.50-v7+cannotbefoundat

/lib/modules/4.14.50-v7+/buildor/lib/modules/4.14.50-v7+/source.

⼤概步骤是:

(1)升级系统内核(如果没安装rpi-update,则需要先安装):

sudorpi-update

安装成功后重启。

(2)更新linuxheaders(如果没安装rpi-source,则需要先安装):

sudorpi-source--skip-gcc

(3)删除⽼版本的linuxheaders:

删除/lib/modules/⽂件夹下的⽼版本,⽐如我这⾥安装的最新版本是:4.14.54-v7+,把⾮4.14.54开头的⽂件夹删掉就⾏了。

(4)重新安装驱动:

sudo./

安装成功后重启,再执⾏aplay-l和aarecord-l确认是否安装成功。

4、测试ReSpeaker

执⾏录⾳和播放命令:

arecord-fcd-Dhw:1|aplay-Dhw:1

将扬声器的插头插⼊ReSpeaker的播放器接⼝。

现在说话,⽿机中应该能够听到重复的声⾳。

ReSpeaker上还⽀持APA102LED,可以根据接收到的声⾳有闪灯的效果。

这⾥⽤到了pip,这是python的⼀个包安装⼯具,需要先安装:

pip-V #查看pip版本

然后安装运⾏:

sudopipinstallspidev

cdmic_hat

现在说话的时候等应该会闪。

5、安装PyAudio

虽然aplay和arecord可以实现播放和录⾳的功能,但是如果要实时检测声⾳的话需要⽤PyAudio(可能也有别的库,这⾥选⼀个常⽤的)。

因为我这⾥⽤了python3,所以需要python3版本的PyAudio:

sudoapt-getinstallportaudio19-devpython-all-devpython3-all-dev

pip3installpyaudio

6、安装SoundTouch

这个程序可以对⾳频进⾏⼀些处理,我们这⾥⽤来做变声。

在树莓派上需要源代码编译安装这个程序:

cdsoundtouch-soundtouch-2.0.0

sudoapt-getinstallautomakeautoconflibtoolbuild-esntial

./bootstrap

./configure

make

makeinstall

安装之后会在/usr/local/lib中⽣成类库⽂件,但是这个⽬录下的⽂件不能⾃动发现,建议将这个⽬录增加到/etc/中:

.d/*.conf

/usr/local/lib#增加的⾏

然后运⾏ldconfig加载配置。

7、运⾏汤姆猫程序

这是⼀个⽤python3写的程序,先安装⼏个依赖库:

sudopip3installnumpy

然后在/home/pi下创建⼀个⽬录tomcat:

cd/home/pi

mkdirtomcat

cdtomcat

然后创建,这个是会说话的汤姆猫的主程序。其中⼤概的流程是:

持续监控麦克风声⾳,如果达到某个阈值就开始录制声⾳,如果声⾳低于某个阈值就结束录⾳,然后保存声⾳,然后变声,然后播放;播放

完毕后,继续监控麦克风声⾳。

现在上传这个⽂件到tomcat⽬录中就可以运⾏了。

chmod+x./

./

现在说句话试试,你应该能够听到汤姆猫美妙的回声了(记得连上⽿机或⾳箱哦)。

本博客所有⽂章如⽆特别注明均为原创。

本文发布于:2023-01-27 19:43:13,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/147907.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:感谢人生
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图