参考链接:https://blog.csdn.net/liyanyu123/article/details/80430333
https://blog.csdn.net/u010918541/article/details/78009588
1、安装mp3播放器
sudo apt-get install mplayer (首选)
sudo apt-get install mpg123 (备用)
2、安装PIP(python 安装工具)
1)下载安装脚本
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
会在当前目录产生一个 get-pip.py 文件。
2)运行安装脚本
$ sudo python get-pip.py
安装工具成功,过程中会有一些警告信息,主要内容是python版本低了。
安装的是最新版本的PIP。
3、下载百度SDK压缩包(在百度网站下载)python版本。
在下载目录会产生 aip-python-sdk-2.0.0.zip 包,解压包至home目录。
4、安装SDK包
切换到 aip-python-sdk-2.0.0 目录。
运行:sudo pip install baidu-aip
运行:sudo python setup.py install
安装过程中会有些警告,主要还是说python版本低了,但不会出错。
自动安装位置在/usr/lib/… 目录下。
5、运行测试程序
下面经过测试,刚申请的APIKEY
#-*- coding:utf-8 -*-
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = ''百度申请
API_KEY = ''百度申请
SECRET_KEY=''百度申请
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
for i in range(4):
if (i==0):
content='你瞅啥?'
if (i==1):
content='瞅你咋地。'
if (i==2):
content='再瞅一个试试!'
if (i==3):
content='试试就试试。'
if (i==0 or i==2):
result = client.synthesis(content,'zh',5,{'spd':5,'vol': 8,'per':0})
if (i==1 or i==3):
result = client.synthesis(content,'zh',5,{'spd':5,'vol': 8,'per':1})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
filename=str(i)
if not isinstance(result, dict):
with open(filename+'.mp3', 'wb') as f:
f.write(result)
会在当前目录产生0-4.MP3文件。
测试命令:mplayer 0.mp3 会发出语音。
6、不错的类,留着以后用
#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
python 使用百度tts库合成语音文件 ,首先要安装好play命令
'''
import os
import sys, locale
'''
App ID: 8919993
API Key: 5X1XYGfOhRVND38ETHTaoeif
Secret Key: 6989b7eda9aaff924a93afad746ef9c1
'''
APP_ID = '15672628'
API_KEY = 'h3DY3X7Bkzgl7pZAS4vTq9ZS'
SECRET_KEY='6aKwVUBU1WKUGGhpKsW2FsOx2KTL1V7N'
class Speak:
def __init__ (self,message,times,launguage,isRemove):
'''
传入参数 消息 次数 是否清除合成的语音文件
'''
self.tts(message,launguage)
#说几次
for i in range(0,times):
self.say()
if isRemove:
self.over()
def tts(self,message,launguage):
try:
import requests
except:
print "请下载python-requests模块后使用..."
exit(-1)
import urllib
s = requests.Session()
mes=''
if launguage is "zh":
mes="http://tts.baidu.com/text2audio?lan=zh&pid=101&vol=9&ie=UTF-8&text="
else:
mes="http://tts.baidu.com/text2audio?lan=en&pid=101&vol=9&ie=UTF-8&text="
s.get(mes+ urllib.quote(message))
res = s.get(mes+ urllib.quote(message)).content
f = open("tts-temp.mp3", "w")
f.write(res)
f.close()
def say(self):
os.system("play tts-temp.mp3")
def over(self):
os.system("rm tts-temp.mp3")
def play(music):
os.system("play "+music)
man=Speak("你好 中国",1,"zh",True)