当前位置: 首页 > article >正文

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

目录

一、前期准备

二、语音合成

三、语音识别


 

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

一、前期准备

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

 结果:


http://www.kler.cn/a/418580.html

相关文章:

  • ESP8266 (ESP-01S)烧录固件 和 了解与单片机通信必需的AT指令
  • 【热门主题】000077 物联网智能项目:开启智能未来的钥匙
  • Cursor AI快捷键的使用场景及作用
  • 服务熔断-熔断器设计
  • 现代网络架构PCI DSS合规范围确定和网络分割措施实施探讨
  • DroneCAN 最新开发进展,Andrew在Ardupilot开发者大会2024的演讲
  • 【前端】跨域问题与缓存
  • 泷羽sec- shell编程(8) until循环以及函数基本创建调用 学习笔记
  • 【OceanBase 诊断调优】—— 如何在 OceanBase 数据库 Oracle 模式中定位存储过程内的慢 SQL
  • CH32v20x单片机risc-v内核uint64_t类型移位后变量为0解决办法
  • 【热门主题】000075 探索嵌入式硬件设计的奥秘
  • js原型、原型链和继承
  • go语言的成神之路-筑基篇-gin框架渲染模板
  • 《datawhale2411组队学习 模型压缩技术7:NNI剪枝》
  • Angular v19 (三):增量水合特性详解 - 什么是水合过程?有哪些应用场景?与 Qwik 相比谁更胜一筹?- 哪个技术好我就学哪个,这就是吸心大法吧
  • 使用 client-go 实现 Kubernetes 节点 Drain:详解与实战教程
  • C_接口函数
  • 特性标记清理:GitHub Actions 来帮忙!
  • colorthief.js(图像中自动提取出主色调、调色板或者平均颜色)源码解析MMCQ算法
  • SnowFlake
  • 如何正确使用 GitHub API 获取特定版本信息:详解错误排查与解决方案
  • Word - 图片右键保存
  • Scala关于成绩的常规操作
  • 华为云云连接+squid进行正向代理上网冲浪
  • 【RabbitMQ 消息列队测试之:调试技巧】
  • 【Python数据分析五十个小案例】使用自然语言处理(NLP)技术分析 Twitter 情感