python之pyttsx3实现文字转语音播报
1. pyttsx3是什么
pyttsx3是Python中的文本到语音转换库,可以实现文本的朗读功能。
2. pyttsx3的安装
pip install pyttsx3
3. pyttsx3的demo
import pyttsx3pyttsx3.speak("Are you ok?")
pyttsx3.speak("最近有许多打工人都说打工好难")
戴上耳机直接跑即可。是不是很简单!那如果我们想对读音的速率,中英文问题进行自定义设置呢?可以用pyttsx3初始化来获取语音引擎,在调用init后会返回一个engine对象,对engine对象进行操作即可。
import pyttsx3engine = pyttsx3.init('sapi5') # 获取一个引擎,默认是sapi5
engine.setProperty('rate', 130) # 设置朗读的速率
engine.setProperty('volume',0.6) # 设置朗读的音量
如果使用引擎,则需要主要朗读中文和朗读英文是需要区别对待的,如何查看语音合成器类别(看看有什么朗读种类)?
voices = engine.getProperty('voices')
for voice in voices:print(voice)
输出结果如下:
<Voice id=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_ZH-CN_HUIHUI_11.0name=Microsoft Huihui Desktop - Chinese (Simplified)languages=[]gender=Noneage=None>
<Voice id=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0name=Microsoft Zira Desktop - English (United States)languages=[]gender=Noneage=None>
默认的语音合成器有两个,两个语音合成器均可以合成英文音频,但只有第一个合成器能合成中文音频。如果需要其他的语音合成器需要自行下载和设置。如何选择合成器,代码如下:
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id) # 如果选用voices[0]则表示朗读中文
engine.setProperty('voice', voices[1].id) # 如果选用voices[1]则表示朗读英文
引擎的朗读命令:
engine.say("要讲的内容")
engine.runAndWait() # 运行所有指令后等待下一次指令循环
engine.stop() # 直接朗读中断
如果有需要,想将朗读的内容保存为MP3,可以使用如下命令:
engine.save_to_file(text, 'test.mp3') # 将要朗读的text转成MP3文件
4. 完整的demo
import pyttsx3engine = pyttsx3.init('sapi5')
engine.setProperty('rate', 130)
engine.setProperty('volume', 0.6)
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id)def speak(audio):engine.say(audio)engine.runAndWait()text = "最近有许多打工人都找我说打工好难"
speak(text)
engine.save_to_file(text, 'test.mp3')
5. 搞个ToDo吧!
可以每天早、中、晚爬取热搜文本,然后将其做成MP3,不想刷新闻的时候,可以听听播报,放松一下眼睛也是不错的选择!
python之pyttsx3实现文字转语音播报相关推荐
- 苹果原生文字转语音播报
1.CHiOSSpeech.h // // 文 件 名:CHiOSSpeech.h // // 版权所有:Copyright © 2018年 leLight. All rights reserved. ...
- java 文字转换成语音 代码_java文字转语音播报功能的实现方法
前言 本文主要给大家分享了关于java文字转语音播报的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 一.pom.xml引入jar包依赖 com.hynnet ja ...
- pyttsx3 实现文字转语音
pyttsx3 实现文字转语音 代码 代码 #-*- coding: UTF-8 -*-import pyttsx3engine = pyttsx3.init()txt = '''<长相思·一重 ...
- ios 原生语音识别,百度翻译API使用,原生文字转语音播报
若有不正之处,希望大家不吝赐教,谢谢! 原生语音识别所需: 首先需要再plist文件中加入: Privacy - Speech Recognition Usage Description 需要使用si ...
- 免费接口,手把手使用Python进行语音合成,文字转语音
手把手使用Python实现语音合成,文字转语音 0. 太长不看系列,直接使用 1. Python调用标贝科技语音合成接口,实现文字转语音 1.1 环境准备: 1.2 获取权限 1.2.1 登录 1.2 ...
- Python脚本实现Mac开机自动语音播报天气
简介 最近专注于捣腾mac系统,发现了系统语音朗读的功能,于是萌生了从一些天气服务的API获得并解析天气,在本地调用语音朗读指令,使得电脑上的"天气预报"也实现播报功能. 代码我已 ...
- Android如何解决文字转语音播报的问题
如何解决文字转语音的问题 1.网上的普遍解决方式 2.我自己需求和解决方式 3.总结 1.网上的普遍解决方式 TTS+语音引擎实现离线的语音播报的功能 下载百度,讯飞等厂家的离线SDK(收费) 由于这 ...
- SpeechSynthesisUtterance文字转语音播报
一.介绍 SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 二.基本属性 var sp ...
- 【实用小工具】如何用Python语音合成,以及文字转语音~
文章目录 前言 正文 直接使用 1. 获取权限 1.1 环境准备: 1.2 获取权限 1.2.1 登录 1.2.2 创建新应用 1.2.3 选择服务 2. 代码实现 2.1 获取access_toke ...
最新文章
- 歌词数据解析、歌词滚动、歌词进度控制功能的实现(基于js-base64、lyric-parser、better-scroll),以vue项目为例
- wine应用运行后字体都是问号
- LBO验证与LBO_full验证的区别
- JSTL-EL表达式
- java8 streams_使用Java 8 Streams进行编程对算法性能的影响
- 打不开磁盘“D:\CentOS7\CentOS7.vmdk”或它所依赖的某个快照磁盘。
- Seurat亮点之细胞周期评分和回归
- windows字体:中文名,英文名
- 各种卫星产品数据总结
- PHP 图片转PDF
- 前端面试题及解答(尽量口语化,模拟面试现场时的回答)
- 汽车维修店如何挖掘潜在客户资源
- qml 滚动控件Scroll ScrollBar ScrollIndicator ScrollView
- 设计模式 - 学习笔记 - 适配器模式AdapterPattern
- 三大主流Mac清理软件实测:Cleaner One | 柠檬清理 | CleanmyMac
- C语言中创建自己函数库文件流程
- LoRa节点开发:5、代码详解LoRaWAN中的几种数据包(发送与接收数据)
- 最详细的宝塔青龙面板搭建教程
- 微信URL Scheme码+长链接转短链接+短链接通过h5页面跳转到微信小程序
- PAT日志 1086
热门文章
- U盘和存储卡实际上可以轻松的创建隐藏分区制作PE启动盘
- Linux 系统安装后优化项常见操作
- Python二级(04)——Python语言基本语法元素
- html5 斜边,css斜切角 斜边 倒角
- win10 系统,java安装后如何配置环境变量,解决“'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”问题
- OpenCv 在Win7台式机上的摄像头无法拍照
- 2 snippets vue 修改配置_vue-snippets: 支持 Vue 3 的语法高亮,代码格式化和代码提示的 Visual Studio Code 插件。...
- 期望、方差、标准差、协方差、正太分布、分布
- 【Laravel】Laravel使用总结(一)
- windows画图常用函数