当你想使用文字朗读功能时,可能会使用pyttsx3,这里介绍另一种方法:

第一步: 下载需要的包

pip install baidu-aip
pip install playsound

第二步: 编写代码

导入包

import playsound
from aip import AipSpeech

定义朗读函数及参数内容

def speak(text: str, sound_path='temp.mp3', app_id='15422825',api_key='DhXGtWHYMujMVZZGRI3a7rzb', secret_key='PbyUvTL31fImGthOOIP5ZbbtEOGwGOoT',speed=5, tone=5, volume=5, person=4, language='zh'):

这里的app-id、api-key、secret-key来源于网上。

参数 参数意义 参数类型
text 要朗读的文本 str
sound_path 暂存mp3文件路径 str
app_id APP-ID str
api_key API-KEY str
secret_key SECRET-KEY str
speed 语速 0~10之间 int
tone 音调 0~10之间 int
volume 音量 0 ~ 15之间 int
person 发声人 1~4之间 建议自己调整 int
language 朗读语言 str

检查输入合法性

if not ((-1 < speed < 10) and (-1 < tone < 10)and (-1 < volume < 16) and (-1 < person < 5)):raise ValueError('The parameters do not meet the requirements -1 < speed < 10, ''-1 < tone < 10, -1 < volume < 16 and -1 < person < 5')
if len(text) >= 1024:raise ValueError('The length of the text must be less than 1024 bytes')

合成语音

client = AipSpeech(app_id, api_key, secret_key)
try:result = client.synthesis(text, language, 1,{'spd': speed, 'pit': tone,'vol': volume, 'per': person})
except KeyError:raise ValueError('app-id or api-key or secret-key is wrong')
if isinstance(result, dict):raise ValueError(result.get('err_msg', 'request error'))

暂存文件

try:with open(sound_path, 'wb') as f:f.write(result)
except (PermissionError, OSError, FileExistsError) as error:raise PermissionError(error)

播放音频

playsound.playsound(sound_path)

完整代码:

import playsound
from aip import AipSpeechdef speak(text: str, sound_path='temp.mp3', app_id='15422825',api_key='DhXGtWHYMujMVZZGRI3a7rzb', secret_key='PbyUvTL31fImGthOOIP5ZbbtEOGwGOoT',speed=5, tone=5, volume=5, person=4, language='zh'):if not ((-1 < speed < 10) and (-1 < tone < 10)and (-1 < volume < 16) and (-1 < person < 5)):raise ValueError('The parameters do not meet the requirements -1 < speed < 10, ''-1 < tone < 10, -1 < volume < 16 and -1 < person < 5')if len(text) >= 1024:raise ValueError('The length of the text must be less than 1024 bytes')client = AipSpeech(app_id, api_key, secret_key)try:result = client.synthesis(text, language, 1,{'spd': speed, 'pit': tone,'vol': volume, 'per': person})except KeyError:raise ValueError('app-id or api-key or secret-key is wrong')if isinstance(result, dict):raise ValueError(result.get('err_msg', 'request error'))try:with open(sound_path, 'wb') as f:f.write(result)except (PermissionError, OSError, FileExistsError) as error:raise PermissionError(error)playsound.playsound(sound_path)if __name__ == '__main__':speak('python调用baidu-aip朗读')

python调用baidu-aip朗读相关推荐

  1. pycharm中python调用百度aip所遇问题解决方案记录:pip安装时版本报错以及aip导入时报错no module named aip/requests)

    pycharm中python调用百度aip所遇问题解决方案记录:pip安装时版本报错以及aip导入时报错no module named aip/requests pip安装时版本报错 pip升级后安装 ...

  2. 使用Python调用baidu翻译的接口,实现转换android stuido 中的values/strings.xml 解放生产力,自动翻译生成文件

    调用baidu翻译的接口,实现转换android stuido 中的values/strings.xml 解放生产力,自动翻译生成文件 因为使用的是合法免费的接口,每秒只能请求一次,测试结果翻译330 ...

  3. 调用baidu aip

    使用百度API实现语音转文字_住在明天的春天的博客-CSDN博客_语音转文字api 1.在百度云创建一个语音产品 百度云 在->产品->人工智能->语音技术(选择任何一个创建一个功能 ...

  4. python如何调用图片-python调用图片

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python本身也有识别图片转文字的框架,但是相比调用接口,识别的精度就略显不行 ...

  5. python调用百度AI识别文字和表格

    python调用百度AI识别文字和表格 获取账户信息 1.需要先注册百度AI,获得ID和密钥.百度AI社区关于注册的详细说明:https://ai.baidu.com/forum/topic/show ...

  6. Python调用Unit闲聊对话API的应用

    文章目录 1 机器人的创建 2 Python调用API的代码实现 简介:利用百度大脑平台(百度智能对话定制与服务平台,即UNIT)提供的API接口,实现可以完成闲聊功能的智能对话机器人 1 机器人的创 ...

  7. python调用(百度云、腾讯云)API接口表格识别并保存为excel

    Python表格识别 图像识别具有较高的商业价值,本节主要通过python调用(百度云.腾讯云)API接口表格识别并保存为excel分析表格识别的能力: 提示:需分别申请密钥,在相应位置添加自己密钥即 ...

  8. python调用百度OCR识别证件+操作excel表格

    python调用百度OCR识别证件+操作excel表格 如果要操作文件的话最好让程序知道文件存不存在,因为做了GUI界面,报错不会直接弹出来,异常捕获就用得比较频繁 因为面向对象没学好,GUI是用工具 ...

  9. python实现简单的api接口-简单实现Python调用有道API接口(最新的)

    # ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...

最新文章

  1. 用python做炒股软件-同花顺有python接口_基于python的炒股软件
  2. Maven 修改本地存储库位置--转
  3. 在Cloudshare上使用PAL=〉系统检查及初始化
  4. SAP Backgroud job
  5. html框架实验总结,网页设计实训心得
  6. 试图加载格式不正确的程序
  7. 怎么将tflite部署在安卓上_tensorflow从训练自定义CNN网络模型到Android端部署tflite...
  8. oracle select之后自动保存excel_Excel制作自动化仓库入库单,数据录入、计算、保存只需一键完成...
  9. 远程调用python_远的解释|远的意思|汉典“远”字的基本解释
  10. 基于LOAM框架的激光SLAM开源程序汇总
  11. linux下搭建apache+mysql+php环境(LAMP)
  12. JTree创建、获取和删除节点的方法
  13. react全局状态管理_Recoil - Facebook出品的全新React状态管理库
  14. KDD 2011 最佳工业论文中机器学习的实践方法-翻译
  15. 华为高管回应养猪传闻,赋能企业用AI养好猪
  16. vue 使用emoji表情包
  17. 交通灯系统51单片机设计(附Proteus仿真、C程序、原理图及PCB、论文等全套资料)
  18. 高德地图 key 和 安全密钥 的使用
  19. JAVA注释、标识符、常量与变量、数据类型和数据类型转换
  20. ubuntu系统下C语言编写简单程序

热门文章

  1. 高德地图实时公交体验:省时准点绿色出行
  2. Mac配置中文 man 手册
  3. 从flv文件中提取音频并存储为mp3格式
  4. The 1st Universal Cup Stage 5: Osijek, February 25-26, 2023 题解
  5. 手机百度输入法环境:android 1.6,百度手机输入法Android 5.1版—新增粤语语音输入...
  6. Hudi Compaction
  7. RICHARD FEYNMAN, 挑战者号, 软件工程--自顶向下
  8. D. Assumption is All You Need
  9. 【淘宝SEO】实践经验总结几个常用的论坛推广技巧
  10. [暂停学习]谈谈如何和雾霾愉快地度过冬天