0
点赞
收藏
分享

微信扫一扫

Python之实现文本转语音-edge-tts

1:效果图

Python之实现文本转语音-edge-tts_剪切板


2:Edge-tts介绍

Edge-TTS 是一款基于人工智能技术的语音合成软件,能够将文本转化为自然流畅的语音输出。基于微软edgeTTS开发的语音朗读转MP3软件,支持实时MP3转换,支持角色朗读, 支持在线网页浏览,支持全文转成MP3, 从光标处转成mp3, 选择内容转成mp3.,支持剪切板转成MP3., 支持合并对话所生成的MP3为一个文件,支持升级合成声音转成立体高质量声音文件,支音频文件音量增益2倍(因源声音音量较小),支持内置播放器即转即听,支持删除空行,支持右键选择单独MP3调用内置播放器播放。本软件仅供人个研究测试使用。不得用于商用。

3:代码实现

import edge_tts
import asyncio
import random
num=random.randint(2,10000)

TEXT = ""
with open('C:\\Users\\test.txt', 'rb') as f:
    data = f.read()
    TEXT = data.decode('utf-8')
print(TEXT)
print('--num--{}',num)
voice = 'zh-CN-XiaoxiaoNeural'
voices = [
    "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",
    "zh-HK-HiuGaaiNeural",
    "zh-HK-HiuMaanNeural",
    "zh-HK-WanLungNeural",
    "zh-TW-HsiaoChenNeural" 
]
# output = 'C:\\Users\\test'+str(num)+'.mp3'
output=''
rate = '-2%'
volume = '+2%'


async def my_function():
    tts = edge_tts.Communicate(text=TEXT, voice=voice, rate=rate, volume=volume)
    await tts.save(output)
async def my_function2():
    ct=len(voices)
    print('--ct-' + str(ct))
    for i in range(ct):
        print('-i--'+str(i))
        voice=voices[i]
        print('--voice-' + str(voice))
        tts = edge_tts.Communicate(text=TEXT, voice=voice, rate=rate, volume=volume)
        output = 'C:\\Users\\test' + str(voice) + '.mp3'
        await tts.save(output)
    #await tts.save(output)


if __name__ == '__main__':
    asyncio.run(my_function2())




举报

相关推荐

0 条评论