网址:http://ai.baidu.com/
百度AI实现的爬虫功能:
- 图像识别
- 语音识别/语音合成
- 自然语言处理
使用流程 - 点击控制台登录
- 选择想要的功能
- 在功能下创建一个app
- 选择对应的pythonSDK文档进行代码实现
语音合成案例:
首先在百度ai上创建一个应用
选择pythonSDK进行下载
找到python接入文档
├── README.md
├── aip //SDK目录
│ ├── __init__.py //导出类
│ ├── base.py //aip基类
│ ├── http.py //http请求
│ └── speech.py //语音合成
└── setup.py //setuptools安装
支持Python版本:2.7.+ ,3.+
安装使用Python SDK有如下方式:
如果已安装pip,执行pip install baidu-aip即可。
如果已安装setuptools,执行python setup.py install即可。
新建AipSpeech
AipSpeech是语音合成的Python SDK客户端,为使用语音合成的开发人员提供了一系列的交互方法。
参考如下代码新建一个AipSpeech:
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。
创建文件 baidu_ai.py
代码如下:
import time
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '11212345'
API_KEY = 'pVxdhsXS1BIaiwYYNT712345'
SECRET_KEY = 'BvHQOts27LpGFbt3RAOv84WfPCW12345'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
请求说明
合成文本长度必须小于1024字节,如果本文长度较长,可以采用多次请求的方式。文本长度不可超过限制
举例,要把一段文字合成为语音文件:
# -*- coding: utf-8 -*-
from aip import AipSpeech
#""" 你的 APPID AK SK """
APP_ID = '17531111'
API_KEY = 'eWDP4HmOxpQNb1TvaXK1111'
SECRET_KEY = '1aRHzK4ePL126wf8hubkLeo2rc11111'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
result = client.synthesis('你好,我是百度ai请输入你需要转换为语音的文字在此处', 'zh', 1, {
'vol': 4,
})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
with open('gpc.mp3', 'wb') as f:
f.write(result)
参数分析:
result = client.synthesis(
'你好百度', # text: 合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节
'zh', # lang: 语言,中文:zh 英文:en
1, # ctp: 客户端信息这里就写1,写别的不好使,至于为什么咱们以后再解释
{
'vol': 5, # 合成音频文件的准音量
'spd':4, # 语速 取值0-9,默认为5 中语速
'pit':8, # 语调音调,取值0-9,默认为5 中语调
'per':4, # 发音人选择,0为女生,1为男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
}
)
修改后的:
# -*- coding: utf-8 -*-
from aip import AipSpeech
import time
#""" 你的 APPID AK SK """
APP_ID = '21387290'
API_KEY = 'Ec6GtZgm3ndOaMlkbXRUF9Lc'
SECRET_KEY = 'W9NzglKMstljy61kRZXHwl8hk2MXS8Ex'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
while True:
input_text = input('-------------
输入1退出!请输入需要转为语音的文字:')
if input_text == '1':
print('---------
感谢使用!再见!')
time.sleep(3)
break
else:
voice_type = int(input('
0为女声,
1为男声,
3为情感合成-度逍遥,
4为情感合成-度丫丫,
请输入需要哪种语音类型:'))
result = client.synthesis(input_text, 'zh', 1, {
'vol': 5,
'per': voice_type
})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
save_name = 'D:/py/爬虫学习笔记/aip-python-sdk-2.0.0' + input_text[:20] + '.mp3'
print ('-----------
保存路径为:',save_name)
if not isinstance(result, dict):
with open(save_name, 'wb') as f:
f.write(result)
print('转换完成!')