树莓派3B+ 语音识别之USB声卡的使用

本人这边为树莓派3B+ ,镜像为2018-10-09-raspbian-stretch.img

我买的usb声卡如下:

首先pc上ssh远程连接到树莓派,lsusb命令查看当前的usb设备,然后插入usb声卡后,lsusb查看该usb设备是否被识别到。

接下来,我们使用cat /proc/asound/cards 查看当前usb声卡设备插入后设备驱动能否被正常加载,即树莓派是否已经识别到该usb设备为usb声卡设备。

如上图可以看到,默认的自带声卡的编号是0,USB声卡是1。

切换默认的声卡

现在我们需要修改默认使用的声卡是我的usb声卡,而不是树莓派自带的声卡。

按照目前网络中搜索的usb声卡默认设置的方法,都是说需要修改/etc/modprobe.d/alsa-base.conf 这个文件,但是实际上我的树莓派系统目录下没有这个文件。。。==b! 这个是因为现在使用的最新的stretch版本的树莓派的镜像将该设置默认声卡的文件设置到了/lib/modprobe.d/aliases.conf 这个文件。

修改/lib/modprobe.d/aliases.conf 配置文件

~ $ sudo vi /lib/modprobe.d/aliases.conf

将snd-usb-audio index=-2中的-2修改为0即可,保存后重启,再次ssh连接到树莓派。

执行cat /proc/asound/cards后查看

当前usb声卡排在前面,即默认使用的声卡是usb声卡,而不是树莓派缺省声卡。

接下来我们通过安装使用SOX音频工具来验证当前usb声卡的功能是否ok。

安装SOX音频工具

  1. sudo apt-get update //更新软件源列表

  2. sudo apt-get install sox //安装sox

  3. sudo apt-get install sox libsox-fmt-all //使sox支持多种音频格式

执行录音命令

停止录音的话直接Ctrl+C即可。

播放刚才的录音

声音能够很清楚的播放出来,也没有任何电流声,这个usb声卡质量还是可以的。usb声卡测试完了,接下来开始在QT中开始使用做语音识别啦。。。。

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
树莓可以通过语音指令或者语音识别来播放音乐。以下是一个简单的示例: 1. 安装音频播放器软件。树莓可以安装多种音频播放器软件,比如MPlayer、OMXPlayer等。你可以使用以下命令安装MPlayer: ``` sudo apt-get update sudo apt-get install mplayer ``` 2. 安装语音识别软件。树莓可以使用多种语音识别软件,比如PocketSphinx、Google Speech Recognition等。你可以使用以下命令安装PocketSphinx: ``` sudo apt-get update sudo apt-get install pocketsphinx ``` 3. 编写Python脚本。以下是一个简单的Python脚本,使用PocketSphinx进行语音识别,然后使用MPlayer播放音乐: ``` #!/usr/bin/env python import os import pocketsphinx import pyaudio # 定义语音识别器 config = pocketsphinx.Decoder.default_config() config.set_string('-hmm', '/usr/local/share/pocketsphinx/model/en-us/en-us') config.set_string('-dict', '/usr/local/share/pocketsphinx/model/en-us/cmudict-en-us.dict') config.set_string('-lm', '/usr/local/share/pocketsphinx/model/en-us/en-us.lm.bin') decoder = pocketsphinx.Decoder(config) # 定义音频播放器 player = "mplayer" # 定义语音输入 CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 16000 RECORD_SECONDS = 3 # 启动录音 p = pyaudio.PyAudio() stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) while True: # 读取语音输入 print("Say something...") frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(data) audio = b''.join(frames) # 进行语音识别 decoder.start_utt() decoder.process_raw(audio, False, True) decoder.end_utt() result = decoder.hyp().hypstr print("You said: " + result) # 播放音乐 if "play music" in result: os.system(player + " /path/to/music.mp3") ``` 4. 运行Python脚本。使用以下命令运行Python脚本: ``` python music_player.py ``` 当你说出“play music”时,树莓会自动播放音乐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值