全流程演示通过百度AI实现语音识别——将文本转为语音(python实现)

全流程演示通过百度AI实现语音识别——将文本转为语音(python实现)


本文详细地梳理及实现了如何通过使用百度AI平台,将输入的文本转换成语音。

一. 前置条件

我们需要使用百度旗下的百度AI开放平台,链接如下:

百度AI开放平台-全球领先的人工智能服务平台
在这里插入图片描述

二. 获取资源

  1. 首先,我们需要进入百度AI平台,选择开放能力–>语音技术–>短语音识别。
    在这里插入图片描述
    在这里插入图片描述

  2. 其次,获取资源。

  • 如果是首次使用该平台,可以选择使用免费资源:

在这里插入图片描述

  • 按下图所示进行操作,此处我是由于已经选过了所以显示的是已领。

在这里插入图片描述

  1. 领取完成后点击应用列表–>点击创建项目。

在这里插入图片描述

  • 应用名称随意,在接口选择中点击语音技术–>点击全选。

在这里插入图片描述

  • 点击个人–>点击创建。(应用描述随意)

在这里插入图片描述

  • 回到应用列表,若出现应用1,则第一步成功了。

在这里插入图片描述

三. 代码实现

  1. 首先需要安装相应的python包(前提需要安装好了python或相应软件),在命令提示符中运行以下代码:

    pip install baidu-aip
    
  2. 在python环境中:

    • 从AIP中导入相应的语音模块AipSpeech

      from aip import AipSpeech
      
    • 复制粘贴APPID、AK、SK这3个值并以此初始化对象

      """你的APPID AK SK"""
      APP_ID='59391449'
      API_KEY='wmHNwxgshlfghleTdav0tmSH'
      SECRET_KEY='Z4q63PsTQ90T2SqNdfwjZLVdgD0RU3iu'
      # 使用上面定义的三个参数来初始化AipSpeech类的一个实例,命名为client。  
      # 这个实例将用于后续与百度AIP服务的交互。  
      client=AipSpeech (APP_ID, API_KEY, SECRET_KEY)
      

      三个值的来源为刚刚创建的应用的对应数据,如图:

      在这里插入图片描述

    • 准备文本及存放路径

      Text='八百标兵奔北坡,炮兵并排北边跑,炮兵怕把标兵碰,标兵怕碰炮兵炮。' # 文字部分可以随意拟定
      filePath= "D:/PycharmProjects/Visual_project/text/voice/MyVoice.mp3 " #音频文件存放路径,替换为你自己的路径
      
    • 语音合成

      # 调用client的synthesis方法来进行语音合成。参数包括要合成的文本、语言类型(这里是中文'zh')、语音的音量(这里是5)等。
      result=client.synthesis (Text,'zh',1, {'vol': 5}) 
      print(result) # 方法的返回值将是一个二进制数据(如果合成成功)或一个字典(如果发生错误)。  
      
    • 识别并正确返回语音二进制代码,错误则返回dict(相应的错误码)

      if not isinstance (result, dict):
      	# 如果结果不是字典(即没有错误),则打开指定的文件路径,并将合成的语音数据写入文件。  
          # 'wb'模式表示以二进制写模式打开文件。
          with open (filePath,'wb')as f: # 以写的方式打开MyVoice.mp3文件
              f.write(result) # 将result内容写入MyVoice.mp3文件
      else:
          print("错误")
      
    • 此处附上完整代码:

      # 从aip模块中导入AipSpeech类,这是百度提供的一个用于语音处理的类。  
      from aip import AipSpeech  
        
      # 下面的三行代码定义了连接到百度AIP服务所需的三个关键参数:APP_ID、API_KEY和SECRET_KEY。  
      # 这些参数是用于身份验证的,确保只有授权的用户才能访问服务。  
      APP_ID='59391349'  
      API_KEY='wmHNwxgshltNhleTdav0tmSH'  
      SECRET_KEY='Z4q63PsTQ90T2SqNrxwjZLVdgD0RU3iu'  
        
      # 使用上面定义的三个参数来初始化AipSpeech类的一个实例,命名为client。  
      # 这个实例将用于后续与百度AIP服务的交互。  
      client=AipSpeech(APP_ID, API_KEY, SECRET_KEY)  
        
      # 定义要合成为语音的文本内容。这里是一段中文绕口令。  
      Text='八百标兵奔北坡,炮兵并排北边跑,炮兵怕把标兵碰,标兵怕碰炮兵炮。'  
        
      # 定义合成后的语音文件将要保存的路径和文件名。  
      filePath= "D:/PycharmProjects/Visual_project/text/voice/MyVoice.mp3 "  
        
      # 调用client的synthesis方法来进行语音合成。参数包括要合成的文本、语言类型(这里是中文'zh')、语音的音量(这里是5)等。 
      # 方法的返回值将是一个二进制数据(如果合成成功)或一个字典(如果发生错误)。  
      result=client.synthesis(Text,'zh',1, {'vol': 5})  
        
      # 打印出合成操作的结果,这可能是二进制数据或一个错误字典。  
      print(result)  
        
      # 下面的代码块检查返回的结果是否是一个字典。如果是字典,那么很可能是一个错误信息。  
      # 如果不是字典,那么结果应该是包含合成语音的二进制数据。  
      if not isinstance(result, dict):  
          # 如果结果不是字典(即没有错误),则打开指定的文件路径,并将合成的语音数据写入文件。  
          # 'wb'模式表示以二进制写模式打开文件。  
          with open(filePath,'wb') as f:  
              f.write(result)  # 将语音数据写入文件。  
      else:  
          # 如果结果是字典,那么打印“错误”,表示语音合成过程中可能出现了问题。  
          print("错误")
      

    3.在完成以上步骤后,你就可也在设定的路径里找到MyVoice.mp3这个文件,如图:

    在这里插入图片描述

​ 该文件便是最终成果。

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值