参考百度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:语音合成(将文字转为语音)

  1. from aip import AipSpeech
  2.  
  3. """ 你的 APPID AK SK """
  4. APP_ID = '写注册的APP_ID'
  5. API_KEY = '写注册的API_KEY'
  6. SECRET_KEY = '写注册的SECRET_KEY'
  7.  
  8. client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
  9.  
  10. result = client.synthesis('中南山下活死人墓预知后事如何请听下回分解', 'zh', 1, {
  11. 'vol': 5,
  12. 'spd': 3,
  13. 'pit': 9,
  14. 'per': 3,
  15. })
  16. # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
  17. if not isinstance(result, dict):
  18. with open('auido.mp3', 'wb') as f:
  19. f.write(result)

参数备注:

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

  1. from aip import AipSpeech
  2. import os
  3.  
  4. """ 你的 APPID AK SK """
  5. APP_ID = '同上'
  6. API_KEY = '同上'
  7. SECRET_KEY = '同上'
  8.  
  9. client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
  10.  
  11. #语音识别(将音频转为文字)
  12.  
  13. # 读取文件
  14. def get_file_content(filePath):
  15.  
  16. #实现文件自动转换(只要修改下面的本地文件并传值就可以执行)
  17. any2pcm=f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm"
  18. os.system(any2pcm)
  19.  
  20. with open(f"{filePath}.pcm", 'rb') as fp:
  21. return fp.read()
  22.  
  23. # 识别本地文件
  24. res=client.asr(get_file_content('ea.m4a'), 'pcm', 16000, {
  25. 'dev_pid': 1536,
  26. })
  27.  
  28. #拿到的是视频转换后的文字
  29. print(res['result'][0])
  30.  
  31. #语音合成(再将文字转为音频)
  32. result = client.synthesis(res['result'][0], 'zh', 1, {
  33. 'vol': 5,
  34. 'spd': 3,
  35. 'pit': 9,
  36. 'per': 3,
  37. })
  38. # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
  39. if not isinstance(result, dict):
  40. with open('auido.mp3', 'wb') as f:
  41. f.write(result)
  42.  
  43. #调用系统默认播放器
  44. 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. 如何使用cPanel管理域名和数据库

    cPanel是一个基于web的基于web的控制面板,它简化了许多常见的系统管理任务,如网站创建.数据库部署和管理等.本指南向您展示了如何使用cPanel用户帐户管理域和数据库.所有这些指令都与位于端口 ...

  2. 微信小程序(底部导航的实现)

    详情请看官方文档介绍: https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html 在根目录配置文件app.json中配置底部导航: ...

  3. 提升Web性能的8个技巧总结

    提升Web性能的8个技巧总结 在互联网盛行的今天,越来越多的在线用户希望得到安全可靠并且快速的访问体验.针对Web网页过于膨胀以及第三脚本蚕食流量等问题,Radware向网站运营人员提出以下改进建议, ...

  4. 使用POI 读取 Excel 文件,读取手机号码 变成 1.3471022771E10

    使用POI 读取 Excel 文件,读取手机号码 变成 1.3471022771E10 [问题点数:40分,结帖人xieyongqiu]             不显示删除回复             ...

  5. UVA 12118 Inspector's Dilemma(连通性,欧拉路径,构造)

    只和连通分量以及度数有关.不同连通分量只要连一条边就够了,连通分量为0的时候要特判.一个连通分量只需看度数为奇的点的数量,两个端点(度数为奇)是必要的. 如果多了,奇点数也一定是2的倍数(一条边增加两 ...

  6. 2017.12.1 如何用java写出一个菱形图案

    上机课自己写的代码 两个图形原理都是一样的 1.一共有仨个循环 注意搞清楚每一层循环需要做的事情 2.第一层循环:是用来控制行数 3.第二层循环控制打印空格数 4.第三层循环是用来循环输出星星 imp ...

  7. 通过Jquery获取RadioButtonList选中值

    推荐 使用第二种,第一种有时候不起作用 第一种:通过find方法 获取RadioButtonList所选中的值 <script type="text/javascript"& ...

  8. Nginx 配置支持 WAF

    WAF(Web Application Firewall),中文名叫做“Web应用防火墙” WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提 ...

  9. PHP 根据IP获取地理位置

    /** * 根据用户IP获取用户地理位置 * $ip 用户ip */ function get_position($ip){ if(empty($ip)){ return '缺少用户ip'; } $u ...

  10. java中常用的swing组件 (2013-10-27-163 写的日志迁移

    五种布局:   流式布局(FlowLayout)边界布局(borderLayout)网格布局(GridLayout)  盒子布局(BoxLaYout)  空布局(null)  常用的几种 卡片布局(C ...