百度智能云千帆部署流程---语音识别和合成

发布于:2024-11-29 ⋅ 阅读:(26) ⋅ 点赞:(0)

目录

一、前期准备

二、语音合成

三、语音识别


 

 实现整个流程如下图,但是我们的工作量并不是很多,我们可以在官网找到示例代码

一、前期准备

         这里我们使用到3个代码

API_KEY.py     填写我们的API

 xzarm_asr.py       语音识别

 xzarm_tts.py     语音合成

# API_KEY.py
# 小智-学长 2024-10-19

# 百度智能云千帆AppBuilder-SDK
#https://console.bce.baidu.com/ai_apaas/secretKey
APPBUILDER_TOKEN = "bce-v3/ALTAK-zQsH6******"#语音合成

# 百度智能云千帆ModelBuilder
# https://console.bce.baidu.com/ai/#/ai/speech/overview/index
APPBUILDER_token = "25.548acf45ed740******"#语音识别

        后期我们可能用到这两个网站,我们先暂时放置在这里,分别使用到百度智能云千帆AppBuilder-SDK、ModelBuilder,对应着语音合成和语音识别。

百度智能云千帆AppBuilder-SDKicon-default.png?t=O83Ahttps://console.bce.baidu.com/ai_apaas/secretKey

语音合成:百度智能云千帆AppBuilder-SDK

百度智能云千帆ModelBuildericon-default.png?t=O83Ahttps://console.bce.baidu.com/ai/#/ai/speech/overview/index

语音识别:百度智能云千帆ModelBuilder

我们先安装用到的库 

pip install --upgrade appbuilder-sdk

下载速度慢可能是由于网络连接不稳定或者与 PyPI 的服务器距离较远。你可以尝试以下几种方法来加快下载速度:

国内的 PyPI 镜像源速度通常更快,可以通过指定源来加速下载。例如,使用阿里云镜像

pip install --upgrade nodezator -i https://mirrors.aliyun.com/pypi/simple/

其他常见的国内镜像源:

  • 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
  • 豆瓣:https://pypi.doubanio.com/simple/

将以上 URL 替换到 -i 后即可。

二、语音合成

        打开我们的网址百度智能云千帆AppBuilder,点击“密钥管理”,没有密钥的话就新建一个

 记录这个值,填写到API_KEY.py 的APPBUILDER_TOKEN

需要填写:xzarm_tts_tts(TEXT='  ', tts_wav_path = '  ')

运行代码将保存语音文件wav到指定的文件夹下 

# xzarm_tts.py
# 小智-学长 2024-5-23
# 语音合成

print('导入语音合成模块')

import os
import appbuilder
from API_KEY import *
os.environ["APPBUILDER_TOKEN"] = APPBUILDER_TOKEN
tts_ab = appbuilder.TTS()


def xzarm_tts_tts(TEXT='我是小智大模型AI机械臂,您可以说出你的要求,我会一一完成要求', tts_wav_path = 'temp/xzarm_tts_tts.wav'):
    '''语音合成TTS,生成wav音频文件'''
    inp = appbuilder.Message(content={"text": TEXT})
    out = tts_ab.run(inp, model="paddlespeech-tts", audio_type="wav")
    with open(tts_wav_path, "wb") as f:
        f.write(out.content["audio_binary"])
    print("TTS语音合成,导出wav音频文件至:{}".format(tts_wav_path))
xzarm_tts_tts(TEXT='我是大模型AI机械臂,您可以说出你的要求,我会一一完成要求哦', tts_wav_path = 'temp/xzarm_tts_tts.wav')

三、语音识别

打开我们的网址语音技术 - 百度智能云控制台,点击“应用列表” “创建应用” 

 我们点击“API在线调试”,找到refresh_token的值,填到API_KEY.py 的APPBUILDER_token

  记录这个值,填写到API_KEY.py 的APPBUILDER_token

 

运行代码将显示出识别的结果,如果不是,请查看错误码对应的问题。

# xzarm_asr.py
# 小智-学长 2024-10-19
# 录音+语音识别

print('导入录音+语音识别模块')
import os,json,base64,requests
from API_KEY import *

def xzarm_asr_recognition(audio_path='temp/speech_record.wav'):
    """
    录音文件的语音识别,返回识别结果
    :param audio_path: 需要识别的音频文件路径
    :return: 语音识别结果文本
    """
    url = "https://vop.baidu.com/server_api"
    
    # 读取音频文件并进行Base64编码
    with open(audio_path, "rb") as f:
        content = base64.b64encode(f.read()).decode("utf8")
        size = os.path.getsize(audio_path)

    # 准备请求数据
    payload = json.dumps({
        "format": "pcm",
        "rate": 16000,
        "channel": 1,
        "cuid": "Hy5qg1neIBkl8ltIHWefF6uwTtNBmF49",
        "token": APPBUILDER_token,
        "speech": content,
        "len": size
    })
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    
    # 发起POST请求
    response = requests.post(url, headers=headers, data=payload)
    response_data = response.json()
    
    # 解析并返回识别结果
    if 'result' in response_data:                
        text = response_data['result'][0]
        print('语音识别结果::', text)
        return text
    else:
        print("识别失败:", response_data)
        return None
xzarm_asr_recognition(audio_path='temp/xzarm_tts_tts.wav')

 结果:


网站公告

今日签到

点亮在社区的每一天
去签到