基于树莓派语音合成小白避坑


前言

如何利用树莓派能够实现语音识别、语音合成适合小白的入门小设计。


参考文章:
https://blog.csdn.net/weixin_44897649/article/details/103173247?utm_source=app&app_version=4.8.1

1.硬件要求

树莓派3b+运行环境配置好以及sd卡、tf卡等基本器件,声音输出可以选择耳机,usb声卡(免驱动)+普通麦克风(内部没有声卡3.5mm)或者选择usb麦克风内置声卡(免驱动),我们选择的是后者。
如图是我们的麦克风

2.麦克风检测

参考文章:https://blog.csdn.net/weixin_43892158/article/details/113787727

2.1细节注意

网上很多提到对树莓派对于默认声卡的修改,其实这是有前提的,如果你能够实现通过麦克风声音的输入与树莓派声音的输出,没有必要进行默认声卡的修改。
其次如果感觉耳机输出声音太小可通过以下,进行调节

pi@raspberrypi:~ $ alsamixer

3.python-sdk模块

首先完成账号的申请与产品的创建,要注意语音识别、语音合成是不同的产品,要分别进行创建。其次安装该模块有两种方式安装,以语音识别库下载为例代码如下
示例1:
首先官网下载到树莓派pi文件夹下,先解压后安装

unzip aip-python-sdk-4.15.4.zip
sudo pip install baidu-aip

示例2:
直接终端运行

pip install baidu-aip

4.代码部分改进

参考原来的文章实现相对比较智能化的在线语音合成,实现直接将输入的文本合成音频直接输出。

#_*_ coding:UTF-8 _*_
# @author: zdl 
# 百度云语音合成Demo,实现对本地文本的语音合成。
# 需安装好python-SDK,待合成文本不超过1024个字节
# 合成成功返回audio.mp3 否则返回错误代码

# 导入AipSpeech  AipSpeech是语音识别的Python SDK客户端
import playsound
from aip import AipSpeech
import os

''' 你的APPID AK SK  参数在申请的百度云语音(合成)服务的控制台查看'''
APP_ID = 'xxx'
API_KEY = 'xxx'
SECRET_KEY = 'xxx'

# 新建一个AipSpeech
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

# 将本地文件进行语音合成
demo = raw_input('请输入你要合成的文字:')
print('输入的文字为:%s' %demo)
def tts(demo):
    if len(demo) != 0:
        word = demo
    result  = client.synthesis(word,'zh',1, {
        'vol': 5,'per':0,
    })
    
# 合成正确返回audio.mp3,错误则返回dict 
    if not isinstance(result, dict):
        with open('audio.mp3', 'wb') as f:
            f.write(result)
        print ('tts successful')
        os.system("mplayer /home/pi/audio.mp3")
# main

if __name__ == '__main__':

    tts(demo)

总结

第一次写博客,实践过程中有小伙伴们的支持,老师的提议,很多大神的帮助,少走了很多弯路,希望这篇文章同样可以帮到大家,不足的地方希望大家批评指正。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值