欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

python教程

基于百度API文字转语音Python示例代码

python教程 我的站长站 2022-05-04 共312人阅读

准备工作

1、首先需要去百度智能云注册账号,官网:https://cloud.baidu.com/

2、登陆进入百度语音,领取免费资源

3、创建应用,记下自己的 APIkey和 Secret Key写入代码对应的位置

Python示例代码

# coding=utf-8
 
import sys
import json
 
# 保证兼容python2以及python3
IS_PY3 = sys.version_info.major == 3
if IS_PY3:
    from urllib.request import urlopen
    from urllib.request import Request
    from urllib.error import URLError
    from urllib.parse import urlencode
    from urllib.parse import quote_plus
else:
    import urllib2
    from urllib import quote_plus
    from urllib2 import urlopen
    from urllib2 import Request
    from urllib2 import URLError
    from urllib import urlencode
 
# 替换你的 API_KEY
API_KEY = '你的APIKEY'
 
# 替换你的 SECRET_KEY
SECRET_KEY = '你的Secret Key'
 
# 信息内容文本
TEXT = "这里填写你要转成语音的文字"
 
 
 
TTS_URL = 'http://tsn.baidu.com/text2audio'
 
"""  TOKEN start """
 
TOKEN_URL = 'http://openapi.baidu.com/oauth/2.0/token'
# 发音人选择, 基础音库:0为度小美,1为度小宇,3为度逍遥,4为度丫丫,
# 精品音库:5为度小娇,103为度米朵,106为度博文,110为度小童,111为度小萌,默认为度小美 
PER = 0
# 语速,取值0-15,默认为5中语速
SPD = 5
# 音调,取值0-15,默认为5中语调
PIT = 5
# 音量,取值0-9,默认为5中音量
VOL = 5
# 下载的文件格式, 3:mp3(default) 4: pcm-16k 5: pcm-8k 6. wav
AUE = 3
 
"""
    获取token
"""
def fetch_token():
    params = {'grant_type': 'client_credentials',
              'client_id': API_KEY,
              'client_secret': SECRET_KEY}
    post_data = urlencode(params)
    if (IS_PY3):
        post_data = post_data.encode('utf-8')
    req = Request(TOKEN_URL, post_data)
    try:
        f = urlopen(req, timeout=5)
        result_str = f.read()
    except URLError as err:
        print('token http response http code : ' + str(err.code))
        result_str = err.read()
    if (IS_PY3):
        result_str = result_str.decode()
 
 
    result = json.loads(result_str)
 
    if ('access_token' in result.keys() and 'scope' in result.keys()):
        if not 'audio_tts_post' in result['scope'].split(' '):
            print ('please ensure has check the tts ability')
            exit()
        return result['access_token']
    else:
        print ('please overwrite the correct API_KEY and SECRET_KEY')
        exit()
 
 
"""  TOKEN end """
 
if __name__ == '__main__':
 
    token = fetch_token()
 
    tex = quote_plus(TEXT)  # 此处TEXT需要两次urlencode
     
    params = {'tok': token, 'tex': tex, 'per':PER,'cuid': "quickstart",
              'lan': 'zh', 'ctp': 1}  # lan ctp 固定参数
 
    data = urlencode(params)
 
    req = Request(TTS_URL, data.encode('utf-8'))
    has_error = False
    try:
        f = urlopen(req)
        result_str = f.read()
 
        headers = dict((name.lower(), value) for name, value in f.headers.items())
 
        has_error = ('content-type' not in headers.keys() or headers['content-type'].find('audio/') < 0)
    except  URLError as err:
        print('http response http code : ' + str(err.code))
        result_str = err.read()
        has_error = True
 
    import time
    localtime = time.localtime(time.time())
    time = str(time.strftime('%Y%m%d%H%M%S',time.localtime(time.time())))
    save_file = "errorinfo.txt" if has_error else time+'.mp3'
 
    with open(save_file, 'wb') as of:
        of.write(result_str)
 
    if has_error:
        if (IS_PY3):
            result_str = str(result_str, 'utf-8')
        print("api error:" + result_str)
 
    print("file saved as : " + save_file)
相关专题
API
API
2022-06-15 121

API是开发中必备知识点,合理的应用API可以大大节省开发成本,为您整理收集了包含API接口的信息,包含API接口,API代码,API源码,助你更快的学习使用API技术....

相关推荐
  • Python代码
  • 文本转语音
  • Python源码
  • iqiyi视频解析Python代码

    最新吾爱大佬分享的一段iqiyi视频解析Python代码,转载分享给大家参考。代码说明m3u8下载部分:pip install m3u8download-hecoter使用需要nodejs项目链接:https://github.com/hecoter/videoParse/tree/main/iqiyipython代码import requestsimport reimpo...

    python教程 138 2年前
  • python开发一个桌面僵尸宠物代码

    python开发一个桌面行走的僵尸宠物代码,可切换僵尸皮肤,效果如下:python代码截图python代码如下# *_* coding : UTF-8 *_*# author : Leemamas# 开发时间 : 2021/5/28 0:48 import sysfrom PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt...

    python教程 232 3年前
  • 获取免费的https代理Python代码

    前言大家用Python爬网页时候,爬快了被封IP,爬慢了,等的着急,这时候就需要https代理来切换IP了。分享一段获取免费的https代理Python代码,可以快速获取网络上免费的https代理。Python代码from multiprocessing.dummy import Lockimport reimport requestsi...

    python教程 101 3年前
  • 基于百度API文字转语音Python示例代码

    准备工作1、首先需要去百度智能云注册账号,官网:https://cloud.baidu.com/2、登陆进入百度语音,领取免费资源3、创建应用,记下自己的 APIkey和 Secret Key写入代码对应的位置Python示例代码# coding=utf-8 import sysimport json # 保证兼容python2以及p...

    python教程 312 2年前
  • 微博自定义批量取消关注Python代码

    用过微博都知道,微博自带的批量取消关注功能非常不好用,有跟没有一样,还是要一个个点,麻烦的一比。花了半小时写了微博自定义批量取消关注Python代码,用作批量取消关注,如果有部分,不想取消掉,还可以在白名单里设置。import requestsfrom jsonpath import js...

    python教程 114 2年前
  • TTS微软接口文本转语音源码
    TTS微软接口文本转语音源码

    源码介绍TTS微软接口文本转语音源码,最新微软接口,仅需输入文字和简单设置,即可合成语音。非常适合影视解说配音,再也不需要花钱配音了。源码截图...

    php源码 129 1年前
  • 基于百度API文字转语音Python示例代码

    准备工作1、首先需要去百度智能云注册账号,官网:https://cloud.baidu.com/2、登陆进入百度语音,领取免费资源3、创建应用,记下自己的 APIkey和 Secret Key写入代码对应的位置Python示例代码# coding=utf-8 import sysimport json # 保证兼容python2以及p...

    python教程 312 2年前
  • python文本批量转语音代码

    本片教程利用的微软语音项目:https://github.com/skygongque/tts,不过它最多生成10分钟的音频,大概2500字,对于大的文本就要想办法分割再识别,我就把狗尾续貂,增加了这部分的功能。教程开始1、安装python,下载https://github.com/skygongque/tts的项目。2、...

    python教程 60 1年前
  • 视频配音利器 讯飞文本转语音工具
    视频配音利器 讯飞文本转语音工具

    讯飞输入法大家都知道,讯飞手机版的语音AI转换功能也是传的神乎其神。今天分享的这款讯飞文本转语音工具,就是用的讯飞AI转换接口开发的,视频配音利器。软件测试了最多转化4000多字,没有广告。主要功...

    软件分享 319 4年前
  • PHP在线文本转语音播放应用源码
    PHP在线文本转语音播放应用源码

    PHP在线文本转语音播放应用源码,百度文字转语音API接口。PHP运行环境即可运行,无需数据库。可设置男生女生,播放速度。

    php源码 419 4年前
  • Json压缩和格式化工具,附Python源码
    Json压缩和格式化工具,附Python源码

    软件介绍一款Json压缩和格式化工具,可以在线Json压缩和格式化。基于Python库开发,附上Python源码,GUI没有美化,巨丑。软件截图Python源码import jsonimport tkinter as tkdef json_compress(json_str...

    开发软件 55 1年前
  • python打飞机小游戏源码+成品打包

    python源码用的pygame库,自带的random和os。程序运行需要的图片,声音和字体下载链接: https://pan.baidu.com/s/1KItG2usXOM_xcxcdHIixaw 提取码: qmweimport pygameimport randomimport os FPS = 60WIDTH = 500HEIGHT = 600 BLACK = (0, 0, 0)WHITE =...

    python教程 55 1年前
  • 原创力文库Python爬虫下载源码

    # !/usr/bin/python# -*- coding: UTF-8 -*-import reimport jsonimport osimport shutilimport sysimport timeimport requestsimport img2pdffrom PIL import Image from alive_progress import alive_barfrom requests.exceptions import SSLErro...

    python教程 65 1年前
  • 讯飞听见语音转文字python源码

    讯飞听见语音转文字python源码,这个只能 转中文和英文,免费的转换不能超过3分钟。# -*- coding: utf-8 -*-# ☯ Author: ******# ☯ Email : ******@****.***# ☯ Date : 2021/06/24 20:13import osimport reimport timeimport randomimport logging...

    python教程 79 1年前
  • Python视频逐帧提取工具源码

    代码说明可以直接提取视频每一帧截图,只分享Python代码,自行打包。使用方法:将视频拉至窗口即可逐帧提取图像,默认生成在视频同目录下,效果看图。视频提取演示Python代码import osimport cv2import windndfrom tkinter import * def video_to_imgs(source...

    python教程 74 3年前