自制免费小说推文辅助工具:免费的文本转语音软件(v1.0),如果没有免费的软件那就自己做一个吧

近在研究Pyqt的使用,于是准备做一些小工具练手。

本文为自研免费推文助手软件系列第1篇文章,后面会持续更新。

一、目标功能

1、文本转语音:生成音频文件(.mp3) ;(v1.0)

2、文本转语音:生成字幕文件(.srt);(v2.0)

3、文本处理:去除无效行(空行、纯数字行)、去除特殊字符串;(v2.0)

4、API服务:辅助手机发送文本到电脑;(v2.0)

4、素材下载:下载小红书等平台的无水印视频;(v3.0)

5、其他。(视情况而定,有人用就加,没人用就结束本系列)

二、核心代码

1、文本转语音核心

使用edge-tts文本转语音库。执行 pip install edge-tts 即可安装。

# 文本转语音核心代码

import aiofiles
import asyncio

from edge_tts import Communicate


async def async_text_to_voice(text, file, voice='zh-CN-XiaoxiaoNeural', rate='+0%'):
    """

    :param text: 目标文本
    :param file: 生成的音频文件
    :param voice: 角色
    :param rate: 语速
    :return:
    """
    try:
        communicate = Communicate(text, voice, rate=rate)
        async with aiofiles.open(file + '.mp3', 'wb') as f:
            async for chunk in communicate.stream():
                if chunk['type'] == 'audio':
                    await f.write(chunk['data'])
    except Exception as e:
        print("发生错误:", e)


def text_to_voice(text, path=None, voice='zh-CN-XiaoxiaoNeural', rate='+0%'):
    if not text:
        return False, '内容为空,无文件生成'
    try:
        asyncio.run(async_text_to_voice(text, path, voice, rate))
        res = True, ''
    except Exception as e:
        res = False, f"发生错误:{e}"
    return res

2、UI页面

使用PYQT5拖拽而成。

三、使用说明

当前为v1.0版本,仅具有基本的文本转语音功能。

1、选择角色、设置语速(1.0感觉太慢了,所以我设置的默认1.3);

2、粘贴目标文本;

3、点击生成按钮等待生成(完成后生成按钮由不可点击转为可点击状态表示生成完成,后面考虑加上进度条吧);

4、最终会在本软件所在目录生成音频文件。

提BUG

本软件为个人开发,所以测试方面不足,若发生错误异常欢迎沟通,如有建议也可以直接联系我。

下载地址

下载地址:https://pan.quark.cn/s/10b0976dd67d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值