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参数可以对频率、快慢等等声音属性进行调整。