ITPub博客

首页 > IT职业 > IT生活 > 如何用Python语音合成,以及文字转语音~

如何用Python语音合成,以及文字转语音~

IT生活 作者:专注的阿熊 时间:2022-09-23 11:55:11 0 删除 编辑

#!/usr/bin/env python

# coding: utf-8

import requests

import json

import argparse

# 获取 access_token 用于鉴权

def get_access_token(client_secret, client_id):

     grant_type = "client_credentials"

     url = "https://openapi.data-baker.com/oauth/2.0/token?grant_type={}&client_secret={}&client_id={}".format(grant_type, client_secret, client_id)

     response = requests.post(url)

     access_token = json.loads(response.text).get('access_token')

     return access_token

# 获取转换后音频

def get_audio(data):

     url = "https://openapi.data-baker.com/tts?access_token={}&domain={}&language={}&voice_name={}&text={}&audiotype={}".format(data['access_domain'], data['domain'], data['language'], data['voice_name'], data['text'], data['audiotype'])

     response = requests.post(url)

     content_type = response.headers['Content-Type']

     if 'audio' not in content_type:

         raise Exception(response.text)

     return response.content

# 获取命令行输入参数

def get_args():

     text = 外汇跟单gendan5.com' 欢迎使用标贝开发平台。 '

     parser = argparse.ArgumentParser(description='ASR')

     parser.add_argument('-client_secret', type=str, required=True)

     parser.add_argument('-client_id', type=str, required=True)

     parser.add_argument('-file_save_path', type=str, required=True)

     parser.add_argument('--text', type=str, default=text)

     parser.add_argument('--audiotype', type=str, default='6')

     parser.add_argument('--domain', type=str, default='1')

     parser.add_argument('--language', type=str, default='zh')

     parser.add_argument('--voice_name', type=str, default='Lingling')

     args = parser.parse_args()

     return args

if __name__ == '__main__':

     try:

         args = get_args()

         # 获取 access_token

         client_secret = args.client_secret

         client_id = args.client_id

         access_token = get_access_token(client_secret, client_id)

         # 读取参数

         audiotype = args.audiotype

         domain = args.domain

         language = args.language

         voice_name = args.voice_name

         text = args.text

         data = {'access_domain': access_token, 'audiotype': audiotype, 'domain': domain, 'language': language,

                 'voice_name': voice_name, 'text': text}

         content = get_audio(data)

         # 保存音频文件

         with open('test.wav', 'wb') as audio:

             audio.write(content)

         print("task finished successfully")

     except Exception as e:

         print(e)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946337/viewspace-2915928/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-23

  • 博文量
    410
  • 访问量
    276760