AI办公自动化:免费批量将英语电子书转成有声书

Edge-TTS是由微软推出的文本转语音Python库,通过微软Azure Cognitive Services转化文本为自然语音。可以作为付费文本转语音TTS服务的替代品,Edge-TTS支持40多种语言和300种声音,提供优质的语音输出 。 edge-tts支持英语、汉语、日语、韩语、法语等40多种语言,共300多种可选声音。

首先,通过Python包管理工具pip来安装Edge-TTS库。只需在命令行中输入以下命令:pip install edge-tts。

然后,可以通过cmd命令:edge-tts --list-voices 来查看所有的语音,其中美式英语的语音有:

Name: en-US-AnaNeural

Gender: Female

Name: en-US-AndrewMultilingualNeural

Gender: Male

Name: en-US-AndrewNeural

Gender: Male

Name: en-US-AriaNeural

Gender: Female

Name: en-US-AvaMultilingualNeural

Gender: Female

Name: en-US-AvaNeural

Gender: Female

Name: en-US-BrianMultilingualNeural

Gender: Male

Name: en-US-BrianNeural

Gender: Male

Name: en-US-ChristopherNeural

Gender: Male

Name: en-US-EmmaMultilingualNeural

Gender: Female

Name: en-US-EmmaNeural

Gender: Female

Name: en-US-EricNeural

Gender: Male

Name: en-US-GuyNeural

Gender: Male

Name: en-US-JennyNeural

Gender: Female

Name: en-US-MichelleNeural

Gender: Female

Name: en-US-RogerNeural

Gender: Male

Name: en-US-SteffanNeural

Gender: Male

下载英语电子书或者其他英语文本文档等资料,选好英语语音后,在deepseek中输入提示词:

你是一个Python编程专家,写一个tts文本转语音的Python脚本,具体步骤如下:

读取文件夹“F:\aivideo”里面的txt文本文档;

调用Edge-TTS库将txt文本转换成语音,语音格式为mp3,保存到同一个文件夹中,

具体参数:Gender为女性,Name为:en-US-AriaNeural,语速为:-30%;

注意:

每一步都要输出信息

使用 asyncio.run 来运行异步函数,自动管理事件循环的创建和关闭。

使用 chardet 库来检测Txt文件编码格式,然后使用对应的编码来读取文件;

Txt文件中可能包含非 UTF-8 编码的字符, 可以使用 errors='ignore' 参数来忽略这些错误字符。

源代码:

import os

import asyncio

import edge_tts

import sys

async def text_to_speech(text, output_file):

communicate = edge_tts.Communicate(text, "en-US-AriaNeural", rate="-30%")

await communicate.save(output_file)

def process_files(folder_path):

for filename in os.listdir(folder_path):

if filename.endswith(".txt"):

txt_file_path = os.path.join(folder_path, filename)

mp3_file_path = os.path.join(folder_path, os.path.splitext(filename)[0] + ".mp3")

print(f"Reading text from {txt_file_path}")

with open(txt_file_path, 'r', encoding='utf-8') as file:

text = file.read()

print(f"Converting text to speech and saving to {mp3_file_path}")

asyncio.run(text_to_speech(text, mp3_file_path))

print(f"Conversion complete for {txt_file_path}")

if __name__ == "__main__":

folder_path = r"F:\aivideo"

print(f"Processing files in {folder_path}")

if sys.platform == "win32":

asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

process_files(folder_path)

print("All files processed.")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/360054.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小阿轩yx-MySQL数据库管理

小阿轩yx-MySQL数据库管理 使用 MySQL 数据库 在服务器运维工作中不可或缺的 SQL (结构化查询语句)的四种类型 数据定义语言(DDL):DROP(删除)、CREATE(创建)、ALTER&…

基于rouyi框架的多租户改造

基于rouyi框架的多租户改造,重点是实现权限管理和数据隔离。权限管理相当于从原来的“顶级管理员admin-普通用户user”转变为“顶级管理员admin-租户管理员tanantAdmin-普通用户user”。数据隔离主要通过分库、分表、表内设置tenantId字段进行过滤三种方式。 本文主…

由于bug造成truncate table卡住问题

客户反应truncate table卡主,检查awr发现多个truncate在awr报告期内一直没执行完,如下: 检查ash,truncate table表的等待事件都是“enq: RO - fast object reuse”和“local write wait” 查找“enq: RO - fast object reuse”&am…

爬虫笔记15——爬取网页数据并使用redis数据库set类型去重存入,以爬取芒果踢V为例

下载redis数据库 首先需要下载redis数据库,可以直接去Redis官网下载。或者可以看这里下载过程。 pycharm项目文件下载redis库 > pip install redis 然后在程序中连接redis服务: from redis import RedisredisObj Redis(host127.0.0.1, port6379)…

Django模板

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Django指定的模板引擎在settings.py文件中定义,代码如下: TEMPLATES [{ # 模板引擎,默认为Django模板 BACKEND:…

SpringMVC框架中常用的几种切面Fliter、Aspect、Interceptor、Advice功能对比和应用场景

1.过滤器:Filter接口 参数校验:用户输入的参数可能包含恶意字符或参数格式错误,通过使用Filter可以拦截并进行参数校验,以保证应用安全。 多语言选择:通过获取请求头的语言参数,Filter可以根据用户的语言…

MySQL连接

MySQL工具包 MySQL实现简单链接 一 引入工具包 JBDCUtils,无需更改,直接使用即可。 import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties;public class JDBCUtil {private static String URL;p…

国标GB28181视频汇聚平台EasyCVR设备展示数量和显示条数不符的原因排查与解决

国标GB28181/GA/T1400协议/安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。智慧安防/视频存储/视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级…

Kotlin设计模式:深入解析Facade模式

Kotlin设计模式:深入解析Facade模式 在软件开发中,随着系统复杂度的增加,管理和使用多个相关接口变得越来越困难。这时候,Facade模式(外观模式)就显得尤为重要。本文将深入探讨Kotlin中的Facade模式&#…

Linux CentoS安装RabbitMQ:一键安装指南

有两种安装方法,官方推荐使用 docker安装RabbitMQ 一、Docker安装RabbitMQ 1、安装docker 参考我之前的文章:Centos7.5搭建docker并且部署Lnmp环境(小白入门docoker)_centos7.5安装docker和docker-compose-CSDN博客 2、安装Ra…

美食解压视频素材无水印无字幕的在哪找?海外美食解压网站分享

在如今快节奏的生活中,观看美食视频已成为许多人缓解压力的一种方式。这些视频不仅唤醒人们的味觉记忆,还能在繁忙中带来片刻的放松。然而,对于视频创作者来说,寻找高品质的美食视频素材,特别是那些无水印、无字幕、可…

利用SHAP算法解释BERT模型的输出

1 何为SHAP? 传统的 feature importance 只告诉哪个特征重要,但并不清楚该特征如何影响预测结果。SHAP 算法的最大优势是能反应每一个样本中特征的影响力,且可表现出影响的正负性。SHAP算法的主要思想为:控制变量法,如果某个特征…

养殖自动化温控系统:现代养殖场的智能守护神

现代农业养殖业中,养殖自动化温控系统已经成为提高生产效率和保障动物福利的关键技术之一。本篇文章将深入介绍养殖自动化温控系统的原理、组成、优势及其在不同类型养殖场中的应用实例,并展望该技术的未来发展。 一、养殖自动化温控系统概述 养殖自动…

数据结构——优先级队列(堆)Priority Queue详解

1. 优先级队列 队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队列时,可能需要优先级高的元素先出队列,该场景下,使用队列不合适 在这种情况下,数据结构应…

[笔记] CCD相机测距相关的一些基础知识

1.35mm胶片相机等效焦距 https://zhuanlan.zhihu.com/p/419616729 拿到摄像头拍摄的数码照片后,我们会看到这样的信息: 这里显示出了两个焦距:一个是实际焦距:5mm,一个是等效焦距:25mm。 实际焦距很容易…

HarmonyOS Next 系列之可移动悬浮按钮实现(六)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现(一) HarmonyOS Next 系列之验证码输入组件实现(二) HarmonyOS Next 系列之底部标签栏TabBar实现(三) HarmonyOS Next 系列之HTTP请求封装和Token…

Pytorch Geometric(PyG)入门

PyG (PyTorch Geometric) 是建立在 PyTorch 基础上的一个库,用于轻松编写和训练图形神经网络 (GNN),适用于与结构化数据相关的各种应用。官方文档 Install PyG PyG适用于python3.8-3.12 一般使用场景:pip install torch_geometric 或conda …

百度地图3d区域掩膜,最常见通用的大屏地图展现形式

需求及效果 原本项目使用的是百度地图3.0,也就是2d版本的那个地图,客户不满意觉得不够好看,让把地图改成3d的,但是我们因为另外的系统用的都是百度地图,为了保持统一只能用百度地图做 经过3天的努力,最后我终于把这个效果实现了,效果如下: 如何引用GL版本 为了实现…

前端项目外包出去,是我痛苦的开始。如何破?

不止一个老铁给我反馈,他们把其前端项目外包出去,非常的痛苦,远不如用自己的员工省心。明面上钱省了,实际精力大量耗费在上面,一算账并没省,反而闹了一肚子气,问我这事该如何破?其实…

C#的无边框窗体项目模板 - 开源研究系列文章

继续整理和编写代码及博文。 这次将笔者自己整理的C#的无边框窗体项目的基本模板进行总结,得出了基于C#的.net framework的Winform的4个项目模板,这些模板具有基本的功能,即已经初步将代码写了,直接在其基础上添加业务代码即可&am…