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

目录

一、前期准备

二、语音合成

三、语音识别


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

一、前期准备

这里我们使用到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')

结果:

相关推荐
我是小z呀12 分钟前
爬取b站评论
开发语言·javascript·ecmascript
gzroy14 分钟前
Streamlit+Selenium快速构建一个网络爬虫应用
爬虫·python·selenium
神秘的t15 分钟前
javaEE初阶————多线程初阶(1)
java·开发语言
菊次郎の夏17 分钟前
飞书二维码登录注意点
开发语言·javascript·飞书
百年੭ ᐕ)੭*⁾⁾18 分钟前
scrapy爬取图片
爬虫·python·scrapy
一只鸡某35 分钟前
算法--最大公约数,最小公倍数
开发语言·c++·算法
传说故事43 分钟前
CLIP代码相关问题
人工智能·python·ai·clip
B站计算机毕业设计超人1 小时前
计算机毕业设计Python机器学习农作物健康识别系统 人工智能 图像识别 机器学习 大数据毕业设计 算法
大数据·人工智能·python·深度学习·机器学习·课程设计·数据可视化
程序猿~厾罗1 小时前
HTML实战课堂之启动动画弹窗
python