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. 苹果原生文字转语音播报

    1.CHiOSSpeech.h // // 文 件 名:CHiOSSpeech.h // // 版权所有:Copyright © 2018年 leLight. All rights reserved. ...

  2. java 文字转换成语音 代码_java文字转语音播报功能的实现方法

    前言 本文主要给大家分享了关于java文字转语音播报的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 一.pom.xml引入jar包依赖 com.hynnet ja ...

  3. pyttsx3 实现文字转语音

    pyttsx3 实现文字转语音 代码 代码 #-*- coding: UTF-8 -*-import pyttsx3engine = pyttsx3.init()txt = '''<长相思·一重 ...

  4. ios 原生语音识别,百度翻译API使用,原生文字转语音播报

    若有不正之处,希望大家不吝赐教,谢谢! 原生语音识别所需: 首先需要再plist文件中加入: Privacy - Speech Recognition Usage Description 需要使用si ...

  5. 免费接口,手把手使用Python进行语音合成,文字转语音

    手把手使用Python实现语音合成,文字转语音 0. 太长不看系列,直接使用 1. Python调用标贝科技语音合成接口,实现文字转语音 1.1 环境准备: 1.2 获取权限 1.2.1 登录 1.2 ...

  6. Python脚本实现Mac开机自动语音播报天气

    简介 最近专注于捣腾mac系统,发现了系统语音朗读的功能,于是萌生了从一些天气服务的API获得并解析天气,在本地调用语音朗读指令,使得电脑上的"天气预报"也实现播报功能. 代码我已 ...

  7. Android如何解决文字转语音播报的问题

    如何解决文字转语音的问题 1.网上的普遍解决方式 2.我自己需求和解决方式 3.总结 1.网上的普遍解决方式 TTS+语音引擎实现离线的语音播报的功能 下载百度,讯飞等厂家的离线SDK(收费) 由于这 ...

  8. SpeechSynthesisUtterance文字转语音播报

    一.介绍 SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 二.基本属性 var sp ...

  9. 【实用小工具】如何用Python语音合成,以及文字转语音~

    文章目录 前言 正文 直接使用 1. 获取权限 1.1 环境准备: 1.2 获取权限 1.2.1 登录 1.2.2 创建新应用 1.2.3 选择服务 2. 代码实现 2.1 获取access_toke ...

最新文章

  1. 歌词数据解析、歌词滚动、歌词进度控制功能的实现(基于js-base64、lyric-parser、better-scroll),以vue项目为例
  2. wine应用运行后字体都是问号
  3. LBO验证与LBO_full验证的区别
  4. JSTL-EL表达式
  5. java8 streams_使用Java 8 Streams进行编程对算法性能的影响
  6. 打不开磁盘“D:\CentOS7\CentOS7.vmdk”或它所依赖的某个快照磁盘。
  7. Seurat亮点之细胞周期评分和回归
  8. windows字体:中文名,英文名
  9. 各种卫星产品数据总结
  10. PHP 图片转PDF
  11. 前端面试题及解答(尽量口语化,模拟面试现场时的回答)
  12. 汽车维修店如何挖掘潜在客户资源
  13. qml 滚动控件Scroll ScrollBar ScrollIndicator ScrollView
  14. 设计模式 - 学习笔记 - 适配器模式AdapterPattern
  15. 三大主流Mac清理软件实测:Cleaner One | 柠檬清理 | CleanmyMac
  16. C语言中创建自己函数库文件流程
  17. LoRa节点开发:5、代码详解LoRaWAN中的几种数据包(发送与接收数据)
  18. 最详细的宝塔青龙面板搭建教程
  19. 微信URL Scheme码+长链接转短链接+短链接通过h5页面跳转到微信小程序
  20. PAT日志 1086

热门文章

  1. U盘和存储卡实际上可以轻松的创建隐藏分区制作PE启动盘
  2. Linux 系统安装后优化项常见操作
  3. Python二级(04)——Python语言基本语法元素
  4. html5 斜边,css斜切角 斜边 倒角
  5. win10 系统,java安装后如何配置环境变量,解决“'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”问题
  6. OpenCv 在Win7台式机上的摄像头无法拍照
  7. 2 snippets vue 修改配置_vue-snippets: 支持 Vue 3 的语法高亮,代码格式化和代码提示的 Visual Studio Code 插件。...
  8. 期望、方差、标准差、协方差、正太分布、分布
  9. 【Laravel】Laravel使用总结(一)
  10. windows画图常用函数