5个Python中实现文字转语音模块的使用讲解

 更新时间:2023年11月28日 10:03:13   作者:数据知道  
这篇文章主要为大家详细介绍了5个Python中实现文字转语音模块的使用,文中的示例代码讲解详细,对我们深入掌握Python有一定的帮助,需要的可以参考下

一. 用 gtts 模块

参考文档:https://gtts.readthedocs.io/en/latest/

使用前需要先安装:pip3 install gtts ,样例如下:

# -*- encoding: utf-8 -*-
from gtts import gTTS

text = """
从前,有一座美丽的大森林,森林里住着许多小动物,它们每天过着无忧无虑的生活。有一天,森林里来了几个伐木工人,
他们拿着斧头和锯子,把一棵棵树给砍倒了。几天下来,裸露的土地不断扩大,森林里的树木不断减少。大象看了之后非常生气,
他和几个好朋友决定把这些伐木工人抓起来,送到动物法庭上。第二天,大象他们就把伐木工人给抓了起来,送到了动物法庭上。
许多旁观者都纷纷议论起来,猴法官说:“安静,安静,大象你们把这些人抓来是怎么回事?”大象说:“这些人乱砍树木,破坏我们的家园。
大象的好朋友小猴说:“对呀,他们把树给砍光了,我们就不能在树上荡秋千了。”小鸟也说:”猴法官,要是没有树木,我们就不能筑巢了。
长颈鹿说:“要是没有树木,我们就吃不到树叶了,我们会饿死的。”听到这里,猴法官对伐木工人说:“你们乱砍树木是不对的,
没有了树木,我们动物就无法生存,同样也会给你们人类带来灾难的。”听了这些话,伐木工人觉得很惭愧,知道自己错了,
他们保证以后不再乱砍树木破坏森林了,还在森林入口立了一块告示牌,上面写着:“保护森林,人人有责。”从此以后,人们不再破坏森林,
动物和人类和平相处,大家都过着幸福、快乐的生活。
"""

tts = gTTS(text=text, lang='zh-tw')
tts.save("XXX.mp3")

二. 用pyttsx3模块

参考文档:https://pyttsx3.readthedocs.io/en/latest/

优势:

1、完全脱机文本到语音转换,可以在系统中安装的不同语音中进行选择;

2、控制语音的速度/速率,调整音量;

3、将语音音频另存为文件;

4、简单、强大、直观的API。

使用前需要先安装:pip3 install pyttsx3

基本使用

import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()

直接朗读

import pyttsx3
pyttsx3.speak("I will speak this text")

更改语音、速率和音量

import pyttsx3
engine = pyttsx3.init() # object creation

""" RATE"""
rate = engine.getProperty('rate')   # getting details of current speaking rate
print (rate)                        #printing current voice rate
engine.setProperty('rate', 125)     # setting up new voice rate


"""VOLUME"""
volume = engine.getProperty('volume')   #getting to know current volume level (min=0 and max=1)
print (volume)                          #printing current volume level
engine.setProperty('volume',1.0)    # setting up volume level  between 0 and 1

"""VOICE"""
voices = engine.getProperty('voices')       #getting details of current voice
#engine.setProperty('voice', voices[0].id)  #changing index, changes voices. o for male
engine.setProperty('voice', voices[1].id)   #changing index, changes voices. 1 for female

engine.say("Hello World!")
engine.say('My current speaking rate is ' + str(rate))
engine.runAndWait()
engine.stop()


"""Saving Voice to a file"""
# On linux make sure that 'espeak' and 'ffmpeg' are installed
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()

三. baidu-aip

通过在百度开放开发者平台申请语音合成账号来生成音频文件。样例如下:

# 下载baidu-aip模块并导入
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) #配置百度语音客户端res=client.synthesis(text,lang,1,options={
#spd:语速,取值0-9,默认为5中语速,
#pit:音调,取值0-9,默认为5中语调,
#vol:音量,取值0-15,默认为5中音量,
#per:发音人选择, 0为女声,1为男声, 3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女})  
#配置个性化语音
with open('XX.mp3','wb') as f:  #打开文件流
    f.write(res)    #写入文件

四. pywin32

操作window dll的库,它可以实现很多功能,十分强大。不过经测试,对中文支持不太友好。

需要先安装:pip install pywin32

# -*- encoding: utf-8 -*-
from win32com import client

# 配置客户端接口
speaker = client.Dispatch("SAPI.SpVoice")

speaker.Speak("hello")

五. speech

也是一款强大的语音模块,依赖于pywin32,而且它最适合做语音启动程序了。

下载并导入:pip install speech

import speech
# 生成音频:
speech.say('hello')

到此这篇关于5个Python中实现文字转语音模块的使用讲解的文章就介绍到这了,更多相关Python文字转语音内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python矩阵基本运算的实现

    python矩阵基本运算的实现

    本文主要介绍了python 矩阵的基本运算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • python中元类用法实例

    python中元类用法实例

    这篇文章主要介绍了python中元类用法实例,对于学习Python有不错的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • 遗传算法之Python实现代码

    遗传算法之Python实现代码

    本篇文章主要介绍了Python 遗传算法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • keras修改backend的简单方法

    keras修改backend的简单方法

    这篇文章主要介绍了keras修改backend的简单方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python中文件I/O高效操作处理的技巧分享

    Python中文件I/O高效操作处理的技巧分享

    文件I/O是Python中最重要的技术之一,在Python中对文件进行I/O操作是非常简单的。但如何高效的操作处理是需要技巧的,下面这篇文章就主要介绍了Python中文件I/O高效操作处理的技巧,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • Python装饰器用法实例总结

    Python装饰器用法实例总结

    这篇文章主要介绍了Python装饰器用法,结合实例形式总结分析了Python常用装饰器的概念、功能、使用方法及相关注意事项,需要的朋友可以参考下
    2018-02-02
  • python中pika模块问题的深入探究

    python中pika模块问题的深入探究

    这篇文章主要给大家介绍了关于python中pika模块问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Python OpenCV直方图均衡化详解

    Python OpenCV直方图均衡化详解

    本文中将介绍如何使用OpenCV函数执行直方图均衡,并将其应用于灰度和彩色图像,以及将亮度归一化并提高图像的对比度。感兴趣的小伙伴可以了解一下
    2022-02-02
  • python Pool常用函数用法总结

    python Pool常用函数用法总结

    在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下。
    2021-04-04
  • Python 中借助日志记录库使用 Log4j的过程记录

    Python 中借助日志记录库使用 Log4j的过程记录

    这篇文章主要介绍了在 Python 中借助日志记录库使用 Log4j,本文解释了什么是 log4j,它是如何工作的,以及我们为什么要使用它,需要的朋友可以参考下
    2023-07-07

最新评论