博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python绘画音频_Python 音频生成器的实现示例
阅读量:382 次
发布时间:2019-03-05

本文共 3230 字,大约阅读时间需要 10 分钟。

使用Python生成不同声音的音频

第一步先去百度AI中注册账号,在控制台中创建语音技术应用,获取AppID,API Key,Secret Key

第二步 引用

from tkinter import *

from tkinter.filedialog import askdirectory

from aip import AipSpeech

from tkinter import ttk

第三步搭建窗体

root = Tk()

root.title("生成语音")

path = StringVar()

pathmc=StringVar()

pathnr=StringVar()

Label(root,text = "保存路径:").grid(row = 0, column = 0)

Entry(root, textvariable = path).grid(row = 0, column = 1)

Button(root, text = "路径选择", command = selectPath).grid(row = 0, column = 3)

Label(root,text = "语音名称:").grid(row = 2, column = 0)

Entry(root, textvariable = pathmc).grid(row = 2, column = 1)

Label(root,text = "语音内容:").grid(row = 3, column = 0)

Entry(root, textvariable = pathnr).grid(row = 3, column = 1)

Button(root, text = "保存", command = Save).grid(row = 4, column = 0)

#下拉框

Label(root,text = "声音类型:").grid(row =1, column = 0)

number = StringVar()

numberChosen = ttk.Combobox(root, width=12, textvariable=number)

numberChosen["values"] = ("女声", "男声", "度逍遥", "度丫丫")

numberChosen.grid(column=1, row=1)

numberChosen.current(0)

root.mainloop()

第四步 创建方法

#保存地址

def selectPath():

path_ = askdirectory()

path.set(path_)

print(path_)

生成音频的参数

def Save():

switch = {"女声": 0,

"男声": 1,

"度逍遥": 3,

"度丫丫": 4,

}

lx=switch.get(number.get(),"0")

yuying(path.get(),pathmc.get(),pathnr.get(),lx)

#生成音频

def yuying(url,title,contain,lx):

APP_ID = "XXX"#百度AI中获得

API_KEY = "XXX"

SECRET_KEY = "XXX"

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

result = client.synthesis(contain, "zh", 1, {

"vol": 5,"per":lx,"spd":2,# per 发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女 否

})

if not isinstance(result, dict):

with open(url+"\"+title+".mp3", "wb") as f:

f.write(result)

合起来的代码就是

from tkinter import *

from tkinter.filedialog import askdirectory

from aip import AipSpeech

from tkinter import ttk

def selectPath():

path_ = askdirectory()

path.set(path_)

print(path_)

def Save():

switch = {"女声": 0,

"男声": 1,

"度逍遥": 3,

"度丫丫": 4,

}

lx=switch.get(number.get(),"0")

yuying(path.get(),pathmc.get(),pathnr.get(),lx)

def yuying(url,title,contain,lx):

APP_ID = "XXX"#百度AI中获得

API_KEY = "XXX"

SECRET_KEY = "XXX"

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

result = client.synthesis(contain, "zh", 1, {

"vol": 5,"per":lx,"spd":2,# per 发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女 否

})

if not isinstance(result, dict):

with open(url+"\"+title+".mp3", "wb") as f:

f.write(result)

root = Tk()

root.title("生成语音")

path = StringVar()

pathmc=StringVar()

pathnr=StringVar()

Label(root,text = "保存路径:").grid(row = 0, column = 0)

Entry(root, textvariable = path).grid(row = 0, column = 1)

Button(root, text = "路径选择", command = selectPath).grid(row = 0, column = 3)

Label(root,text = "语音名称:").grid(row = 2, column = 0)

Entry(root, textvariable = pathmc).grid(row = 2, column = 1)

Label(root,text = "语音内容:").grid(row = 3, column = 0)

Entry(root, textvariable = pathnr).grid(row = 3, column = 1)

Button(root, text = "保存", command = Save).grid(row = 4, column = 0)

Label(root,text = "声音类型:").grid(row =1, column = 0)

number = StringVar()

numberChosen = ttk.Combobox(root, width=12, textvariable=number)

numberChosen["values"] = ("女声", "男声", "度逍遥", "度丫丫")

numberChosen.grid(column=1, row=1)

numberChosen.current(0)

root.mainloop()

效果图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云海天教程。

转载地址:http://hdjg.baihongyu.com/

你可能感兴趣的文章