上代码就完事了,有备注还要慢慢升级
# -*- coding: utf-8 -*-
import os
from aip import AipSpeech
#
def ZM_speech(text_in, audio_out):
#以下部分为私密填写
APP_ID = '写自己的'
API_KEY = '写自己的'
SECRET_KEY = '写自己的'
#以上部分为私密填写
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
#以上内容为读取部分
result = client.synthesis(text_in, 'zh', 1,{
'vol':5, #音量,取值0-15,默认为5
'per':106, #发音人选择0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通话,度逍遥(精品)=5003,度小鹿=5118,度博文=106,度小童=110,度小萌=111,度米朵=103,度小娇=5
'spd':4, #语速,取值0-9,默认为5
'pit':5, #音调,取值0-9,默认为5
})
#需要升级为可以自由调整发音模式
#以上为合成部分
if not isinstance(result,dict):
with open(audio_out, 'wb') as f:
#5-29这里仅仅做到了保存到写入的文件夹地址,下部升级到指定文件夹,同时可以自动命名文件
#5-30升级到可以保持到指定文件夹,还需升级可以根据原文本内容自动命名功能
f.write(result)
print('本次运行成功!')
while True:
print('\n欢迎使用智能语音合成助手,单次只能转换512字一下,超过将无法转换!\n')
print('\n退出程序运行请输入 q \n')
file_path = input("请输入文件路径 \n")
if file_path == 'q':
break
with open(file_path,encoding='utf-8') as file_object:
contents = file_object.read()
words = contents.rstrip()
num_words = len(words)
if num_words<= 500:
words = contents.rstrip()
num_words = len(words)
print(file_path + '共' + str(num_words) + '字')
else:
print('指定的文本内容超过500字需要调整文件或使用其它版本的语音助手功能!')
###以上为读取指定路径下面TXT文本并传递给contents
#设定一个变量,该变量为指定路径,windows系统下D盘 注意windows系统中使用‘\\’用于区分系统路径
#判断D盘下是否有document\整理输出数据,如何没有则创建
dir_name = 'D:\\Document\\整理语音数据\\'
file_name = input('请输入要保持的文件名: \n')
if file_path == 'q':
break
out_path = dir_name + file_name + '.mp3'
ZM_speech(contents,out_path)