Python中运用aspeak模块实现批量文字转语音

import aspeak
import os
import time

def search_files(filedir,filetype):
    filelist=[]
    for root,subDirs,files in os.walk(filedir):
        for fileName in files:
            if fileName.endswith(filetype):
                filelist.append(fileName)
    return filelist
def speak(txt):
    wavout=str(txt).split('.')[-2]+'.wav'
    # aspeak命令的更多功能参数请参考GITHUB上的官方文档
    # -R {Girl,Boy,YoungAdultFemale,YoungAdultMale,OlderAdultFemale,OlderAdultMale,SeniorFemale,SeniorMale}
    command=f'aspeak -f {txt} -v zh-CN-YunjianNeural -R YoungAdultMale -o {wavout}'
    os.system(command)

#程序入口,参数变量初始化
#配音文件所在文件夹filedir,配置好文件夹地址,程序会自动检索文件夹下所有TXT文件转化为声音文件。
filedir='E:\PycharmProjects\pythonProject9'
filetype='txt'
filelist=search_files(filedir,filetype)
i=0
for txt in filelist:
    speak(txt)
    i=i+1
    print(f'第{i}个文件配音完毕,{txt}')

说明:

⑴ filedir,文件存取目录

⑵ filetype,文字保存的文件类型为TXT,输出的文件为TXT文件名加后缀.wav

⑶ 文字转配音的时候会把filedir目录下的全部TXT文件转换为wav音频文件。

⑷限制,时长10分钟以内,字数一千字以内,查阅官方文档,修改command参数可以对频率、快慢等等声音属性进行调整。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值