美文网首页
使用百度AI实现语音合成

使用百度AI实现语音合成

作者: 一杯海风_3163 | 来源:发表于2019-10-16 14:50 被阅读0次

    使用百度AI官网的语音识别SDK开发一个简单的文字合成语音的小程序。
    首先登陆百度AI官网,账号密码同百度网盘,都是通用的账号,没有的话可以注册一个。点击应用列表,创建应用,界面如下:


    应用列表.png
    创建应用.png

    创建之后,可以在应用列表查看已经创建的应用,这里显示的AppID、API Key和Secret Key非常重要,后面的开发会用到:


    语音识别应用信息.png

    然后我们开始下载语音识别中的语音合成SDK包:

    SDK下载.png
    下载Python语言适用的SDK包.png
    点击后面的使用说明,进入接口文档说明:
    https://ai.baidu.com/docs#/ASR-Online-Python-SDK/top
    参照这个文档说明,我们就可以开始开发了,打开pycharm,配置好python环境。
    首先下载baidu-aip,使用命令:pip install baidu-aip即可。
    开发代码不多,简单几行,运行之后,就会在该py文件同级目录下,生成一个mp3文件,打开就可以听到声音。
    
    # 接口文档:https://ai.baidu.com/docs#/TTS-Online-Python-SDK/top
    # 需要安装requests包
    
    from aip import AipSpeech
    
    
    # 百度AI应用列表中对应应用名称为语音识别的 系统分配给用户的一些信息
    APP_ID = '17535045'
    API_KEY = 'eWDP4HmOxpQNb1TvaXKGG2iG'
    SECRET_KEY = '1aRHzK4ePL126wf8hubkLeo2rcOXvTzk'
    
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    
    
    
    message = ''' 
            问,尘世间
            哪一个青春少年
            谁不想拥有一个光辉灿烂的明天
            只是,这人世间
            又岂能事事如愿?
            这一生,是平庸还是非凡
            其实很简单
            前路就摆在我们的眼前
            关键就看我们怎么去选
            因为上天给了我们同样的爱怜
            赋予了我们同样的才智和期限!
            青春有限,梦想无限
            关键就是我们
            如何去把青春的有限向梦想的无限转变
            看,希望在前,梦想不远
            成功的故事就看我们怎么去上演
            或许,成功就在明天
            也或许,离我们遥遥无边!
            为了明天
            心中的英特纳雄奈尔能够得以实现
            今天,我们必须收起贪婪
            用我们的勤劳和汗水去追逐明天
            不管前路有多艰
            只要我们坚持不懈、勇往直前
            那样我们就会
            前程无界,阔路无边!
    '''
    
    result  = client.synthesis(message, 'zh', 1, {
        'vol': 10,
    })
    
    # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
    if not isinstance(result, dict):
        with open('auido.mp3', 'wb') as f:
            f.write(result)
    

    如果想要将该程序打包成一个exe程序,并将任何文字文件转成语音合成后的语音文件,那么就要尝试打包,并修改文字来源,增加一个函数,专门用来获取同级目录的文字内容:

    
    # 接口文档:https://ai.baidu.com/docs#/TTS-Online-Python-SDK/top
    # 需要安装requests包
    
    from aip import AipSpeech
    
    
    # 百度AI应用列表中对应应用名称为语音识别的 系统分配给用户的一些信息
    APP_ID = '17535045'
    API_KEY = 'eWDP4HmOxpQNb1TvaXKGG2iG'
    SECRET_KEY = '1aRHzK4ePL126wf8hubkLeo2rcOXvTzk'
    
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    
    def get_file_content(filePath):
        with open(filePath,'r', encoding='UTF-8') as fp:
            return fp.read()
    
    # 修改代码如下
    result  = client.synthesis(get_file_content('article'), 'zh', 1, {
        'vol': 10,
    })
    
    # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
    if not isinstance(result, dict):
        with open('auido.mp3', 'wb') as f:
            f.write(result)
    

    这时候,我们只要在这个py文件同级目录增加一个article文件,这时候往article.txt填写一些文字,运行py文件,就会生成一个对应的语音文件。

    下面我们将这个py文件打包成exe文件
    首先使用命令:pip install pyinstaller
    下载pyinstaller成功之后开始打包
    使用命令:pyinstaller -F 文件名.py 注意,该路径不允许出现中文,否则打包不成功。打包之后,在dist文件下可以看到同名的exe文件了。

    image.png

    相关文章

      网友评论

          本文标题:使用百度AI实现语音合成

          本文链接:https://www.haomeiwen.com/subject/outumctx.html