Microsoft Edge TTS引擎实现文字转语音小工具

2024-06-03 20:28

本文主要是介绍Microsoft Edge TTS引擎实现文字转语音小工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Microsoft Edge TTS引擎实现文字转语音小工具

​ 看了一篇文章关于使用Microsoft Edge TTS引擎进行文本转语音的介绍。正好单位工作上经常用到音视频的制作和转换。但是文字变成音频一直都是播音员口播实现。现在到了AI时代,各种功能强大的AI大模型已经应用到各个领域,大大提高了工作、生产和学习的效率。受到此文启发,根据自己的实际需要,进行定制,实现文本转成音频。

功能介绍

​ 输入指定文本内容,可选择语音角色和语速,并生成相应的 MP3 音频文件。使用了 Microsoft Edge TTS 引擎进行文本转语音,界面简洁友好,操作方便快捷。生成的 MP3 文件可以直接播放,或者用于各种场合。

源码如下

import os
import tempfile
import asyncio
import pygame.mixer
import customtkinter as ctk
from tkinter import filedialog
from tkinter import messagebox
from edge_tts import Communicatepygame.mixer.init()# 用于异步执行 my_function 函数,以提高响应速度
async def my_function(text, output, voice, rate):volume = '+0%'tts = Communicate(text=text, voice=voice, rate=rate, volume=volume)await tts.save(output)# 定义一个语音模型选择字典
voice_dict = {'小小神经网络': 'zh-CN-XiaoxiaoNeural', '小一神经网络': 'zh-CN-XiaoyiNeural', '云健神经网络': 'zh-CN-YunjianNeural', '云熙神经网络': 'zh-CN-YunxiNeural', '云霞神经网络': 'zh-CN-YunxiaNeural', '云阳神经网络': 'zh-CN-YunyangNeural', '辽宁-小贝神经网络': 'zh-CN-liaoning-XiaobeiNeural', '陕西-小妮神经网络': 'zh-CN-shaanxi-XiaoniNeural', '香港-HiuGa神经网络': 'zh-HK-HiuGaaiNeural', '香港-HiuMa神经网络': 'zh-HK-HiuMaanNeural', '香港-万隆神经网络': 'zh-HK-WanLungNeural', '台湾-Hsiao陈神经网络': 'zh-TW-HsiaoChenNeural', '台湾-Hsiao于神经网络': 'zh-TW-HsiaoYuNeural', '台湾-云J何神经网络': 'zh-TW-YunJheNeural'}# 定义 synthesize_text 函数:这个函数是主要的功能实现部分。
# 首先从文本输入框中获取要转换的文本。
def synthesize_text():text = text_entry.

这篇关于Microsoft Edge TTS引擎实现文字转语音小工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028022

相关文章

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

使用Python实现一个优雅的异步定时器

《使用Python实现一个优雅的异步定时器》在Python中实现定时器功能是一个常见需求,尤其是在需要周期性执行任务的场景下,本文给大家介绍了基于asyncio和threading模块,可扩展的异步定... 目录需求背景代码1. 单例事件循环的实现2. 事件循环的运行与关闭3. 定时器核心逻辑4. 启动与停

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测