【NLP】用python实现文本转语音处理

这篇具有很好参考价值的文章主要介绍了【NLP】用python实现文本转语音处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、说明

        介绍一款python调用库,离线软件包pyttsx3 API,它能够将文字转化成语音文件。Python 中有多种 API 可用于将文本转换为语音。pyttsx3 是一个非常易于使用的工具,可将输入的文本转换为音频。与其它类似的库不同,它可以离线工作,并且与 Python 2 和 3 兼容。

二、环境安装

        安装 pyttsx3 API,请打开终端并写入:      

  pip install pyttsx3

        该库依赖于 win32,因此我们在执行程序时可能会出现错误。为了避免这种情况,只需在您的环境中安装 pypiwin32 即可。      

  pip install pypiwin32

三、pyttsx3 中重要函数

        一些重要函数包括:

  • pyttsx3.init([driverName : string, debug : bool]) – 获取对将使用给定驱动程序的引擎实例的引用。如果请求的驱动程序已被另一个引擎实例使用,则返回该引擎。否则,将创建一个新引擎。
  • getProperty(name : string) – 获取引擎属性的当前值。
  • setProperty(name, value) – 将命令排队以设置引擎属性。新的属性值会影响此命令之后排队的所有话语。
  • say(text : unicode, name : string) – 将命令排队以说出话语。语音根据队列中该命令之前设置的属性输出。
  • runAndWait() – 处理所有当前排队的命令时发生阻塞。适当地调用引擎通知的回调。当在此调用之前排队的所有命令都从队列中清空时返回。

四、文本转语音程序示范

        现在我们已经准备好编写一个将文本转换为语音的示例程序。

# Python program to show
# how to convert text to speech
import pyttsx3  

# Initialize the converter
converter = pyttsx3.init()
# Set properties before adding
# Things to say 
# Sets speed percent 

# Can be more than 100
converter.setProperty('rate', 150)
# Set volume 0-1
converter.setProperty('volume', 0.7)
# Queue the entered text 
# There will be a pause between
# each one like a pause in 
# a sentence

converter.say("Hello GeeksforGeeks")
converter.say("I'm also a geek")  

# Empties the say() queue
# Program will not continue
# until all speech is done talking

converter.runAndWait()
        输出:

        上述程序的输出将是一个声音,说“Hello GeeksforGeeks”和“I'm also a geek”。

五、变语速处理

        我们将设置发动机的速率和音量。设置讲话的速率和音量:

    rate = engine.getProperty('rate')
    engine.setProperty('rate', rate-100)

        默认情况下,速率是200,所以我们将其降低到100。速率是说话速率,200对我们来说很高。所以我们降低了它。

        速率简单来说就是说话者说出文本的速度。设置速率后,我们将通过首先获取音量属性然后设置它来更改或设置音量。

    volume = engine.getProperty('volume')
    engine.setProperty('volume', volume+0.50)

        默认音量为 1,即 100%,我们通过将 0.50 添加到从读取音量属性接收到的值,将其增加到 150%。

        现在我们完成了这两个属性的设置,我们将调用 say(),语音现在将具有我们的参数,即 1x 速度和 1.50 音量。

engine.say("Hello, This is the test for the pyttsx3")
engine.runAndWait()

        现在这个 runAndWait 对我们来说很重要。我们想要运行这个引擎,并继续运行,直到它完成所传递文本的 TTS。

六、改变声音

        假设您想将生成的声音从男性更改为女性。你怎样做呢?让我们来看看。
您会注意到,当您运行上述代码来实现文本到语音转换时,响应的声音是男性声音。要更改语音,您可以通过从引擎获取语音属性来获取可用语音列表,并且您可以根据系统中可用的语音更改语音。

        要获取声音列表,请编写以下代码。

voices = converter.getProperty('voices')

  

for voice in voices:

    # to get the info. about various voices in our PC 

    print("Voice:")

    print("ID: %s" %voice.id)

    print("Name: %s" %voice.name)

    print("Age: %s" %voice.age)

    print("Gender: %s" %voice.gender)

    print("Languages Known: %s" %voice.languages)

Output:

【NLP】用python实现文本转语音处理

        要更改语音,请使用 setProperty() 方法设置语音。上面找到的 Voice Id 用于设置语音。
下面是变声的实现。

voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0"

  

# Use female voice

converter.setProperty('voice', voice_id)

  

converter.runAndWait()

        现在,您可以根据需要在声音之间切换。您可以尝试运行 for 循环来将不同的语句分配给不同的声音。运行代码并享受结果。文章来源地址https://www.toymoban.com/news/detail-501053.html

到了这里,关于【NLP】用python实现文本转语音处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 实现语音转文本

    Python可以使用多种方式来实现语音转文本,下面介绍其中两种。 Google Speech API 是 Google 在 2012 年推出的一个 API,可以用于实现语音转文本。使用 Google Speech API 需要安装 SpeechRecognition 库,可以使用 pip 安装: 安装完成后,可以使用下面的代码实现语音转文本: 除了 Google Spe

    2024年02月04日
    浏览(40)
  • NLP_文本去重_附Python实现【MinHash和MinHashLSH】算法

    大规模的文本去重是目前比较热门的一个技术,由于大模型的兴起,更多的高质量数据集也是大家迫切需要的。 关于如何进行文本去重? 直观的方法首先是利用 Python正则表达式 进行去重。 推荐学习:1. re — 正则表达式操作 2. 正则表达式 - 教程 然后是利用 文本之间的相似

    2024年02月16日
    浏览(56)
  • 一款非常好用的语音转文字工具介绍

    最近发现一款非常好用的语音转文字的工具Whisper,支持将视频和语音转换成文字,同时记录语音的位置信息,支持语言的翻译,可以将英文转换成中文。同时支持实时的语音自动采集录制。 下面是下载的地址: 【免费】视频、语音转文字Windows版资源-CSDN文库 大家下载好文件

    2024年02月02日
    浏览(105)
  • 深度学习处理文本(NLP)

    深度学习处理文本主要涉及到自然语言处理(NLP)领域。随着深度学习技术的发展,NLP领域已经取得了很大的进展。以下是深度学习在处理文本中的一些主要应用和技术: 词嵌入(Word Embeddings): 词嵌入是将词汇表中的单词映射到稠密的向量,常用的方法有Word2Vec, GloVe和Fas

    2024年02月11日
    浏览(39)
  • 举例说明自然语言处理(NLP)技术

    自然语言处理(NLP)技术是一种人工智能领域的技术,用于处理自然语言文本或语音信号。下面是一些自然语言处理技术的例子: 机器翻译:机器翻译是一种自然语言处理的技术,它可以将一种语言的文本翻译成另一种语言的文本,如将英语翻译成中文。 命名实体识别:命

    2024年02月10日
    浏览(56)
  • 第五篇【传奇开心果系列】Python文本和语音相互转换库技术点案例示例:详细解读pyttsx3的`preprocess_text`函数文本预处理。

    pyttsx3在文本转换语音之前,首先要开展系列步骤的文本预处理工作。 这些预处理步骤可以在使用 pyttsx3 之前应用于文本,以提高转换结果的质量和可读性。预处理后的文本更干净、准确,可以更好地用于语音转换。pyttsx3主要使用 preprocess_text 函数开展文本预处理。 下面是一

    2024年02月22日
    浏览(53)
  • 1 — NLP 的文本预处理技术

            在本文中,我们将讨论以下主题:1 为什么文本预处理很重要?2  文本预处理技术。这个文对预处理做一个完整化、程序化处理,这对NLP处理项目中有很大参考性。

    2024年02月07日
    浏览(36)
  • 文本NLP噪音预处理(加拼写检查)

    最近总结修改了下预处理方法,记录下  首先download需要的依赖  pyenchant 是用来检测拼写正确的,如果你的文本里面可能包含非正确拼写的单词,那就忽略它, nltk 用来做分词的。  这里最后再转小写是因为防止 ServiceHandlerId 这种连续的单词链接成的字符串被拼写检查剔除,

    2024年02月14日
    浏览(42)
  • 自然语言处理 Paddle NLP - 检索式文本问答-理论

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月11日
    浏览(55)
  • 自然语言处理NLP:文本预处理Text Pre-Processing

    大家好,自然语言处理(NLP)是计算机科学领域与人工智能领域中的一个重要方向,其研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。本文将介绍文本预处理的本质、原理、应用等内容,助力自然语言处理和模型的生成使用。 文本预处理是将原始文本数

    2024年04月26日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包