zoukankan      html  css  js  c++  java
  • 08-百度ai语音合成

    网址:http://ai.baidu.com/
    在这里插入图片描述
    在这里插入图片描述
    百度AI实现的爬虫功能:

    • 图像识别
    • 语音识别/语音合成
    • 自然语言处理
      使用流程
    • 点击控制台登录
    • 选择想要的功能
    • 在功能下创建一个app
    • 选择对应的pythonSDK文档进行代码实现

    语音合成案例:
    首先在百度ai上创建一个应用
    在这里插入图片描述
    在这里插入图片描述
    选择pythonSDK进行下载
    在这里插入图片描述
    找到python接入文档
    在这里插入图片描述

    ├── README.md
    ├── aip                   //SDK目录
    │   ├── __init__.py       //导出类
    │   ├── base.py           //aip基类
    │   ├── http.py           //http请求
    │   └── speech.py //语音合成
    └── setup.py              //setuptools安装
    

    支持Python版本:2.7.+ ,3.+

    安装使用Python SDK有如下方式:

    如果已安装pip,执行pip install baidu-aip即可。
    如果已安装setuptools,执行python setup.py install即可。
    在这里插入图片描述
    新建AipSpeech
    AipSpeech是语音合成的Python SDK客户端,为使用语音合成的开发人员提供了一系列的交互方法。

    参考如下代码新建一个AipSpeech:

    from aip import AipSpeech
    
    """ 你的 APPID AK SK """
    APP_ID = '你的 App ID'
    API_KEY = '你的 Api Key'
    SECRET_KEY = '你的 Secret Key'
    
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    

    在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。
    创建文件 baidu_ai.py

    代码如下:

    import time
    from aip import AipSpeech
    
    """ 你的 APPID AK SK """
    APP_ID = '11212345'
    API_KEY = 'pVxdhsXS1BIaiwYYNT712345'
    SECRET_KEY = 'BvHQOts27LpGFbt3RAOv84WfPCW12345'
    
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    

    请求说明
    合成文本长度必须小于1024字节,如果本文长度较长,可以采用多次请求的方式。文本长度不可超过限制
    举例,要把一段文字合成为语音文件:

    # -*- coding: utf-8 -*-
    
    from aip import AipSpeech
    
    
    
    #""" 你的 APPID AK SK """
    APP_ID = '17531111'
    API_KEY = 'eWDP4HmOxpQNb1TvaXK1111'
    SECRET_KEY = '1aRHzK4ePL126wf8hubkLeo2rc11111'
    
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    result  = client.synthesis('你好,我是百度ai请输入你需要转换为语音的文字在此处', 'zh', 1, {
        'vol': 4,
    })
    
    # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
    if not isinstance(result, dict):
        with open('gpc.mp3', 'wb') as f:
            f.write(result)
    

    在这里插入图片描述
    参数分析:

    result  = client.synthesis(
        '你好百度', # text: 合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节
        'zh',  # lang: 语言,中文:zh 英文:en
        1,  # ctp: 客户端信息这里就写1,写别的不好使,至于为什么咱们以后再解释
        {
        'vol': 5,  # 合成音频文件的准音量
        'spd':4,  # 语速 取值0-9,默认为5 中语速
        'pit':8,  # 语调音调,取值0-9,默认为5 中语调
        'per':4, # 发音人选择,0为女生,1为男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
        }
    )
    

    修改后的:

    # -*- coding: utf-8 -*-
    
    from aip import AipSpeech
    import time
    
    
    #""" 你的 APPID AK SK """
    APP_ID = '21387290'
    API_KEY = 'Ec6GtZgm3ndOaMlkbXRUF9Lc'
    SECRET_KEY = 'W9NzglKMstljy61kRZXHwl8hk2MXS8Ex'
    
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    
    while True:
        input_text = input('-------------
    输入1退出!请输入需要转为语音的文字:')
        if input_text == '1':
            print('---------
    感谢使用!再见!')
            time.sleep(3)
            break
        else:
            voice_type = int(input('
    0为女声,
    1为男声,
    3为情感合成-度逍遥,
    4为情感合成-度丫丫,
    请输入需要哪种语音类型:'))
            result  = client.synthesis(input_text, 'zh', 1, {
                'vol': 5,
                'per': voice_type
            })
    
            # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
            save_name = 'D:/py/爬虫学习笔记/aip-python-sdk-2.0.0' + input_text[:20] + '.mp3'
            print ('-----------
    保存路径为:',save_name)
            if not isinstance(result, dict):
                with open(save_name, 'wb') as f:
                    f.write(result)
                    print('转换完成!')
    
    
  • 相关阅读:
    luogu 2617
    BZOJ 3295
    BZOJ 2458
    luogu 3810
    Uva
    Uva
    Uva
    Uva
    Uva
    成员函数的const到底修饰的是谁
  • 原文地址:https://www.cnblogs.com/gemoumou/p/13635337.html
Copyright © 2011-2022 走看看