树莓派的语音识别

1. 安装linux下的声音库

sudo apt-get install alsa-base

sudo apt-get install alsa-utils

sudo apt-get install libasound2-dev

可能遇到的问题:

E: Unable to locate package alsa-base

解决:更换系统的源

cd /etc/apt/

cp sources.list sources.list.bak

sudo apt-get install vim

sudo vim source.list

...中科大的软件源

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

...

sudo apt-get update # 更新源

sudo apt-get -f install #修复损坏的软件包

sudo apt-get upgrade #更新软件

换源可能出现的问题:

Err:1 http://mirrors.aliyun.com/ubuntu xenial InRelease

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

解决:

sudo gpg --keyserver keyserver.ubuntu.com --recv 3B4FE6ACC0B21F32 //(这个公钥根据提示来写的)

sudo gpg --export --armor 3B4FE6ACC0B21F32 | sudo apt-key add -

sudo apt-get update

输入alsamixer

2.声音的输入和输出

将usb声卡作为默认的声卡:

cd

vim .asoundrc

... 内容如下

pcm. !default sysdefault:Device

...

声音的输出: 挑选一个wav格式的音乐: 可以在这个网站下载示例 https://www.ape8.cn/

sudo aplay loveme.wav #开始播放音乐

声音输入:

sudo arecord -D hw:1,0 -c1 -r16000 -fS16_LE test.wav #对着话筒说话进行录制

参数说明:

-h,—help(帮助)

-V,–version(打印版本信息)

-l,–list-devices(列出全部声卡和数字音频设备)

-L,–list-pcms(列出全部PCM定义)

-D,–device(指定PCM设备名称)

-q,–quiet(安静模式)

-t,–file-type(文件类型voc,wav,raw或au)

-c,–channels(设置通道数)

-f,–format(设置格式)

-r,–rate(设置频率)

-d,–duration(设置持续时间,单位为秒)

-s,–sleep-min(设置最小休眠时间)

-M,–mmap(mmap流)

-N,–nonblock(设置为非块模式)

-B,–buffer-time(缓冲持续时长,单位为微秒)

-v,–verbose(显示PCM结构和设置)

-I,–separate-channels(设置为每个通道一个单独文件)

3. 语音识别

采用开源库: PocketShinx

下载安装:

#下载

wget https://sourceforge.net/projects/cmusphinx/files/sphinxbase/5prealpha/sphinxbase-5prealpha.tar.gz/download -O sphinxbase.tar.gz

wget https://sourceforge.net/projects/cmusphinx/files/pocketsphinx/5prealpha/pocketsphinx-5prealpha.tar.gz/download -O pocketsphinx.tar.gz

# 解压

tar -xzvf sphinxbase.tar.gz

tar -xzvf pocketsphinx.tar.gz

# 安装依赖

sudo apt-get install bison libasound2-dev swig

#先安装sphinxbase

cd sphinxbase-5prealpha

sudo ./configure --enable-fixed

sudo make

sudo make install

#安装pocketsphinx

cd pocketsphinx-5prealpha

sudo ./configure

sudo make

sudo make install

#让系统知道PocketPhinx库文件的位置

sudo vim /etc/ld.so.conf

...追加一行

/usr/local/lib

...

# 进入pocketPhinx下的src/programs

./pocketsphinx_continuous -inmic yes #这样就可以对着话筒说了,语音识别完成

4. 提高识别精度

通过上述的开源库,测试发现十分的不准确,提高准确率的方法有两种,一种是通过训练模型,过程很复杂,另一种是通过制定一些关键字进行范围限定.下面是第二种方法的操作步骤

创建字典

vim keyword.txt

...

up

down

left

right

light

hello

...

生成程序识别的文件:访问http://www.speech.cs.cmu.edu/tools

将字典文件上传,生成指定的.tgz压缩文件,点击下载

./pocketsphinx_continuous -lm 3253.lm -dict 3253.dic -inmic yes

发现识别精度直线上升

5.理解语音并发起动作

动作可以多种多样,他可以是触发一个脚本,可以是回复一句话,下面的实例,做一个简单回应,当我说出hello, 他回复im okay,这样的功能

让程序说话: 文本转语音: TTS(TextToSpeach)

sudo apt-get install espeak

修改pocketPhinx的程序

cp continuous.c continuous.c.bak # 做好备份

...修改如下

if (!in_speech && utt_started) {

/* speech -> silence transition, time to start new utterance */

ps_end_utt(ps);

hyp = ps_get_hyp(ps, NULL );

if (hyp != NULL) {

printf("开始识别了昂....");

if(strcmp(hyp,"HELLO")==0){

system("sudo espeak \"im okay\"");

}

printf("%s\n ", hyp);

fflush(stdout);

}

if (ps_start_utt(ps) < 0)

E_FATAL("Failed to start utterance\n");

utt_started = FALSE;

E_INFO("Ready....\n");

}

sudo make # 重新编译

./pocketsphinx_continuous -lm 3253.lm -dict 3253.dic -inmic yes

树莓派文字转语音 python_树莓派的语音识别相关推荐

  1. 树莓派文字转语音 python_树莓派3-语音-实现文字转语音服务

    实现文字转语音服务 说明 实现文字通过语音读出来 方法 1. Festival Text to Speech sudo apt-get install festival echo "Just ...

  2. 树莓派文字转语音 python_[原创] 在树莓派上把文字转成语音(Text-To-Speech/TTS)...

    本文软硬件环境: 树莓派:3代 Model B V1.2,内存1GB OS:Arch Linux ARM 有时候,我们需要在程序中添加文字转语音的功能,即通过某个程序或API,把输入的文字朗读出来,也 ...

  3. 树莓派文字转语音 python_会说话的树莓派,将文字转换为语音

    树莓派带了个音频输出接口,可外接小音箱.要是能实现文本到语音转换(text2speech)的话. 它的可玩性大大的提高了,比如 起床的时候语音播报天气.朗读电子邮件-更多的发挥你的想象力吧 这里介绍两 ...

  4. 树莓派文字转语音 python_基于树莓派的OTON眼镜:将文本转换为语音

    借助OTON眼镜,用户可以用眨眼方式捕捉文本,并以所选语言阅读文本.对于患有阅读障碍或视力不好的人士或国外旅行者来说,这是一个绝佳的工具. OTON眼镜 受他父亲的阅读障碍的启发,日本先进媒体艺术与科 ...

  5. 树莓派中怎么更新python_树莓派升级python的具体步骤

    1.安装 python3 sudo apt install python3 2.卸载 python2.7 (可选) sudo apt remove python 3.再执行如下命令自动清理 pytho ...

  6. python 利用pyttsx3文字转语音 适用于macOS windows树莓派

    2019-04-04 by 崔斐然 python 利用pyttsx3文字转语音 更新于2019-05-08: 树莓派安装pyodbc失败参考这里: 安装 unixodbc-dev, sudo apt ...

  7. 树莓派3B+ 叮当语音控制

    树莓派3B+ 叮当语音控制 智能音箱是一个并不新的产品,但在今年却显得尤为火爆,最近发布的天猫精灵,以99元的价格强势步入人们的生活,然而所谓的智能,无非是基于语音识别技术,联控各大平台的产品,从而实 ...

  8. python语音播报天气预报_树莓派之天气预报语音播报

    目录 树莓派之天气预报语音播报 方案选定 项目基调 需求分析 解决方案 具体实施 step1天气信息 安装ilang软件 json解析和文字组合 定时任务 树莓派之天气预报语音播报 前几天跟同事在聊家 ...

  9. 【小白教程】基于树莓派的智能语音助手-python

    [完整教程零基础]基于树莓派的智能语音助手-python 树莓派3b+.python3系统自带.百度语音识别与合成.调用图灵机器人(热词唤醒失败,可用snowboy) 1.Windows系统下[下载+ ...

最新文章

  1. 桌面图标不透明的小问题处理
  2. 求一个容器的最值的索引_殊途同归——从一道经典的多元最值问题说开
  3. 稳定性三十六计-幂等设计
  4. Java自带的广告怎么删掉_如何屏蔽电脑上的弹窗广告?
  5. Redis专题-底层数据结构与使用场景
  6. python的ide环境中创建文件_使用Python开发环境Wing IDE设立项目注意事项
  7. 使用java进行文件编码转换
  8. 2. Get the codes from GIT
  9. 时速4000公里高速列车:如何30分钟北京到武汉
  10. 易语言窗口c_句柄取进程名,易语言窗口句柄取进程文件名源码
  11. 如何跟上时代的步伐进入云世界
  12. mysql分组去掉重复记录_MYSQL中GROUP分组去除重复数据
  13. windows强制删除文件
  14. 【去水印】最简单的百度图片去水印
  15. python匹配邮箱_在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类...
  16. 按压式按摩靠背的设计
  17. 第九周 棚拍静物——让你的照片更有味道
  18. Raspberry Pi Pico SDK开发-PIO介绍
  19. Thumbnails生成缩略图透明底图变黑bug修改
  20. 12.8 创建空白图片

热门文章

  1. Excel数据上传并且导入数据库
  2. [野狐行网游研究][二期][8.21更新]
  3. 计算机828专业课包括哪些,上海海事大学计算机软工专业课828数据结构及程序设计复习指导...
  4. 你知道Java中seriaVersionUID=1L是什么意思吗?
  5. 十大家用投影仪排名,什么牌子的投影仪质量最好?
  6. 蓝桥杯十二届校内模拟赛 黄绿蓝小球方案(DFS)
  7. 关于form表单提交时的坑,submit,submit,submit
  8. 520表白html实现3D动态相册,换成女朋友照片
  9. 微信注册筛选软件 微信开通筛选技术
  10. caffe安装使用、样本制作、网络修改、错误重新训练!