参考百度AI官网:http://ai.baidu.com/

准备工作:

  支持Python版本:2.7.+ ,3.+

安装使用Python SDK有如下方式

  >如果已经安装了pip,执行 pip install baidu-aip 即可。

  >如果已安装setuptools,执行 python setup.py install 即可。

登录百度ia网站:

  1、用百度账号登录

  2、进入左侧语言应用

  3、创建新应用

实验1:语音合成(将文字转为语音)

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) result = client.synthesis('中南山下活死人墓预知后事如何请听下回分解', 'zh', 1, {
'vol': 5,
'spd': 3,
'pit': 9,
'per': 3,
})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
with open('auido.mp3', 'wb') as f:
f.write(result)

参数备注:

实验2:语音识别(语音转为文字)+语音合成

from aip import AipSpeech
import os """ 你的 APPID AK SK """
APP_ID = '同上'
API_KEY = '同上'
SECRET_KEY = '同上' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #语音识别(将音频转为文字) # 读取文件
def get_file_content(filePath): #实现文件自动转换(只要修改下面的本地文件并传值就可以执行)
any2pcm=f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm"
os.system(any2pcm) with open(f"{filePath}.pcm", 'rb') as fp:
return fp.read() # 识别本地文件
res=client.asr(get_file_content('ea.m4a'), 'pcm', 16000, {
'dev_pid': 1536,
}) #拿到的是视频转换后的文字
print(res['result'][0]) #语音合成(再将文字转为音频)
result = client.synthesis(res['result'][0], 'zh', 1, {
'vol': 5,
'spd': 3,
'pit': 9,
'per': 3,
})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
with open('auido.mp3', 'wb') as f:
f.write(result) #调用系统默认播放器
os.system("auido.mp3")

注意点:

  1. 语音识别的格式只支持pcm,万能格式转换命令为:

    ffmpeg -y  -i audio.wav(原文件名)  -acodec pcm_s16le -f s16le -ac 1 -ar 16000 audio.pcm(转换后的文件名字)

  2. os.system()是直接可以执行系统命令

Python人工智能-基于百度AI接口的更多相关文章

  1. 人工智能-调百度AI接口+图灵机器人

    1.登陆百度AI的官网 1.注册:没有账号注册 2.创建应用 3.创建应用 4.查看应用的ID 5.Python代码 from aip import AipSpeech APP_ID = " ...

  2. python基于百度AI开发文字识别

    很多场景都会用到文字识别,比如app或者网站里都会上传身份证等证件以及财务系统识别报销证件等等 第一步,你需要去百度AI里去注册一个账号,然后新建一个文字识别的应用 然后你将得到一个API Key 和 ...

  3. 基于百度AI开放平台的人脸识别及语音合成

    基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...

  4. 基于百度ai,图灵机器人,Flask 实现的网站语音智能问答

    准备以下模块中的函数 from aip import AipSpeech import time import os import requests APP_ID = '15420654' API_K ...

  5. python 全栈开发,Day122(人工智能初识,百度AI)

    一.人工智能初识 什么是智能? 我们通常把人成为智慧生物,那么”智慧生物的能力”就是所谓的”智能”我们有什么能力?听,说,看,理解,思考,情感等等 什么是人工智能? 顾名思义就是由人创造的”智慧能力” ...

  6. 基于flask和百度AI接口实现前后端的语音交互

    话不多说,直接怼代码,有不懂的,可以留言 简单的实现,前后端的语音交互. import os from uuid import uuid4 from aip import AipSpeech from ...

  7. 了解人工智能?-百度AI

    了解人工智能? 什么是人工智能? 由人创造的"智慧能力",同样具备智慧生物的能力 耳朵=倾听=麦克风=语音识别 ASR Automatic Speech Recognition 嘴 ...

  8. [初识]使用百度AI接口,图灵机器人实现简单语音对话

    一.准备 1.百度ai开放平台提供了优质的接口资源https://ai.baidu.com/  (基本免费) 2.在语音识别的接口中, 对中文来说, 讯飞的接口是很好的选择https://www.xf ...

  9. django--调用百度AI接口实现人脸注册登录

    面部识别----考勤打卡.注册登录.面部支付等等...感觉很高大上,又很方便,下面用python中的框架--django完成一个注册登录的功能,调用百度AI的接口,面部识别在网上也有好多教程,可以自己 ...

随机推荐

  1. pat甲级1020中序后序求层序

    1020 Tree Traversals (25)(25 分) Suppose that all the keys in a binary tree are distinct positive int ...

  2. sql常识

    1.UNION与UNION ALL的区别UNION去重且排序UNION ALL不去重不排序2.sql语句or与union all的执行效率比较:union all>union> in &g ...

  3. Uploadify 3.2 参数属性、事件、方法函数详解以及配置

    一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass ” 按钮样式 buttonCursor ‘ ...

  4. 让你不再害怕指针——C指针详解(经典,非常详细)

    http://blog.csdn.net/soonfly/article/details/51131141 前言:复杂类型说明 要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理 ...

  5. 【BZOJ4650】[NOI2016] 优秀的拆分(后缀数组)

    点此看题面 大致题意: 定义将一个字符串拆成\(AABB\)的形式为优秀拆分,求一个字符串所有子串的优秀拆分个数. 后缀数组 这题可是一道后缀数组黑题啊. 其实看完题解这题还是挺简单的. 大致思路 显 ...

  6. 国外常用代理IP对比【仅供参考】

    国外常用代理IP对比[仅供参考]http://www.it588.cn/vmware/2019-03-22/547.html

  7. 01_13_JSP编译指令

    01_13_JSP编译指令 1. Directive Directive(编译指令)相当于在编译期间的命令 格式: <%@Directive 属性=”属性值”%> 常见的Directive ...

  8. Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用

    //方法一,可以验证登录,但方法不实用.package com.swift; import java.sql.Connection; import java.sql.DriverManager; im ...

  9. js点击拉拽轮播图pc端移动端适配

    <div class="content"> <button class="left">left</button> <b ...

  10. JavaScriptDate(日期)

    如何使用Date()方法获取当日的日期. getFullYear(): 使用getFullYear()获取年份. getTime(): getTime()返回1970年1月1日至今的毫秒数. setF ...