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

目录

一、前期准备

二、语音合成

三、语音识别


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

一、前期准备

这里我们使用到3个代码

API_KEY.py 填写我们的API
xzarm_asr.py 语音识别
xzarm_tts.py 语音合成

python 复制代码
# 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-SDKhttps://console.bce.baidu.com/ai_apaas/secretKey

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

百度智能云千帆ModelBuilderhttps://console.bce.baidu.com/ai/#/ai/speech/overview/index

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

我们先安装用到的库

python 复制代码
pip install --upgrade appbuilder-sdk

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

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

python 复制代码
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到指定的文件夹下

python 复制代码
# 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

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

python 复制代码
# 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')

结果:

相关推荐
向上的车轮2 分钟前
C语言编码规范
c语言·开发语言
飘逸高铁侠3 分钟前
使用 Python 剪辑视频的播放速度
开发语言·python·音视频·剪辑
酒鬼猿6 分钟前
C++初阶(十六)--STL--list的模拟实现
开发语言·c++
SUN_Gyq28 分钟前
在 C/C++ 中,volatile 关键字的作用是什么?volatile 关键字与 const 关键字有什么区别?
java·开发语言·jvm·c++
froginwe1129 分钟前
R Excel 文件操作指南
开发语言
mr_LuoWei200933 分钟前
三维地形图计算软件(三)-原基于PYQT5+pyqtgraph旧代码
开发语言·python·qt
凌虚(失业了求个工作)35 分钟前
AI 声音:数字音频、语音识别、TTS 简介与使用示例
人工智能·后端·python·深度学习·语音识别
请叫我欧皇i39 分钟前
html select下拉多选 修改yselect.js插件实现下拉多选,搜索,限制选中,默认回显等操作
开发语言·javascript·html
Achou.Wang1 小时前
go结构体匿名“继承“方法冲突时继承优先顺序
开发语言·后端·golang
云边有个稻草人1 小时前
扫雷-完整源码(C语言实现)
c语言·开发语言·笔记·算法·扫雷游戏