IBM Speech to Text:发出语音识别请求

2024-08-29 16:04

本文主要是介绍IBM Speech to Text:发出语音识别请求,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要使用 IBM Watson® Speech to Text 服务请求语音识别,您只需提供要转录的音频。 服务为其每个接口(WebSocket 接口、同步 HTTP 接口和异步 HTTP 接口)提供了相同的基本转录功能。

以下示例显示了每个服务接口的基本转录请求 (不含可选参数):

  • 这些示例将提交名为 audio-file.flac的简短 FLAC 文件。
  • 示例使用缺省语言模型 en-US_BroadbandModel。 有关更多信息,请参阅 使用缺省模型。

了解语音识别结果 描述服务对这些示例的响应。

用法需求

发出语音识别请求时,请考虑以下基本用法需求:

  • 方法名称区分大小写。
  • HTTP 请求头不区分大小写。
  • HTTP 和 WebSocket 查询参数区分大小写。
  • JSON 字段名称区分大小写。
  • 所有 JSON 响应内容都采用 UTF-8 字符集。
  • 文档中使用花括号 ({ }) 来指示变量值。 提供变量值时省略花括号。

此外,请考虑以下特定于服务的需求:

  • 您只需要指定输入音频。 其他所有参数都是可选的。
  • 如果需要,请确保指定 model 参数以指示适合于您的语言和音频的模型。
  • 如果在输入中指定了无效的查询参数或 JSON 字段,那么响应会包含 warnings 字段,用于描述无效自变量。 不管有任何警告,请求都会成功。

使用请求发送音频

传递给服务的音频必须是服务支持的其中一种格式。 对于大多数音频,服务可以自动检测格式。 但对于某些音频,必须使用 Content-Type 或等效参数来指定格式。 有关更多信息,请参阅音频格式。 (为了清楚起见,以下示例在所有请求中都指定了音频格式。)

使用 WebSocket 和同步 HTTP 接口时,通过单个请求最多可以传递 100 MB 音频数据。 使用异步 HTTP 接口时,最多可以传递 1 GB 音频数据。 在任何请求中,都必须发送至少 100 字节的音频。

如果要识别的音频量很大,那么可以手动将音频划分成较小的区块。 但是,将音频转换为压缩的有损格式通常更高效、更方便。 压缩可以最大限度提高可通过单个请求发送的数据量。 尤其是音频为 WAV 或 FLAC 格式时,将其转换为有损格式会产生显著的效果。

  • 有关使用压缩的音频格式的更多信息,请参阅 音频格式。
  • 有关压缩效果以及将音频转换为使用压缩的格式的更多信息,请参阅数据限制和压缩以及音频转换。
  • 有关转录包含音频和视频的多媒体文件中音频的更多信息,请参阅转录视频文件中的语音。

使用 WebSocket 接口

WebSocket 接口通过全双工连接提供低延迟和高吞吐量,从而支持高效实现。 所有请求和响应都通过同一 WebSocket 连接发送。

要使用 WebSocket 接口,请首先使用 /v1/recognize 方法来建立与服务的连接。 可以指定要用于通过连接发送的请求的参数,例如,语言模型和任何定制模型。 然后,注册事件侦听器来处理来自服务的响应。 要发出请求,请发送包含音频格式和任何其他参数的 JSON 文本消息。 可将音频作为二进制消息 (blob) 传递,然后发送文本消息以指示音频结束。

以下示例提供的 JavaScript 代码用于建立连接,并发送用于识别请求的文本和二进制消息。 基本示例不包含用于定义连接的所有必需事件处理程序的代码。

 

var access_token = {access_token}; var wsURI = '{ws_url}/v1/recognize' + '?access_token=' + access_token; var websocket = new WebSocket(wsURI); websocket.onopen = function(evt) { onOpen(evt) }; function onOpen(evt) { var message = { action: 'start', content-type: 'audio/flac' }; websocket.send(JSON.stringify(message)); websocket.send(blob); websocket.send(JSON.stringify({action: 'stop'})); } 显示更多

使用同步 HTTP 接口

同步 HTTP 接口为发出识别请求提供了最简单的方法。 您可使用 POST /v1/recognize 方法向服务发出请求。 通过单个请求可传递音频和所有参数。 以下 curl 示例显示了基本 HTTP 识别请求:

IBM Cloud

 

curl -X POST -u "apikey:{apikey}" --header "Content-Type: audio/flac" --data-binary @audio-file.flac "{url}/v1/recognize"

IBM Cloud Pak for Data

 

curl -X POST --header "Authorization: Bearer {token}" --header "Content-Type: audio/flac" --data-binary @audio-file.flac "{url}/v1/recognize"

使用异步 HTTP 接口

异步 HTTP 接口提供了用于转录音频的非阻塞接口。 使用此接口时,可以先向服务注册回调 URL,也可以不注册。 有回调 URL 时,服务可发送包含作业状态和识别结果的回调通知。 此接口使用基于用户指定私钥的 HMAC-SHA1 签名,为其通知提供认证和数据完整性。 没有回调 URL 时,必须轮询服务来获取作业状态和结果。 无论采用哪种方法,都可使用 POST /v1/recognitions 方法来发出识别请求。

以下 curl 示例显示了简单的异步 HTTP 识别请求。 该请求不包含回调 URL,因此必须轮询服务来获取作业状态和生成的文字记录。

IBM Cloud

 

curl -X POST -u "apikey:{apikey}" --header "Content-Type: audio/flac" --data-binary @audio-file.flac "{url}/v1/recognitions"

IBM Cloud Pak for Data

 

curl -X POST --header "Authorization: Bearer {token}" --header "Content-Type: audio/flac" --data-binary @audio-file.flac "{url}/v1/recognitions"

这篇关于IBM Speech to Text:发出语音识别请求的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118316

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

基于人工智能的智能家居语音控制系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 随着物联网(IoT)和人工智能技术的发展,智能家居语音控制系统已经成为现代家庭的一部分。通过语音控制设备,用户可以轻松实现对灯光、空调、门锁等家电的控制,提升生活的便捷性和舒适性。本文将介绍如何构建一个基于人工智能的智能家居语音控制系统,包括环境准备

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

Java http请求示例

使用HttpURLConnection public static String httpGet(String host) {HttpURLConnection connection = null;try {URL url = new URL(host);connection = (HttpURLConnection) url.openConnection();connection.setReq

LLM系列 | 38:解读阿里开源语音多模态模型Qwen2-Audio

引言 模型概述 模型架构 训练方法 性能评估 实战演示 总结 引言 金山挂月窥禅径,沙鸟听经恋法门。 小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖铁观音的小男孩,今天这篇小作文主要是介绍阿里巴巴的语音多模态大模型Qwen2-Audio。近日,阿里巴巴Qwen团队发布了最新的大规模音频-语言模型Qwen2-Audio及其技术报告。该模型在音频理解和多模态交互

10 Source-Get-Post-JsonP 网络请求

划重点 使用vue-resource.js库 进行网络请求操作POST : this.$http.post ( … )GET : this.$http.get ( … ) 小鸡炖蘑菇 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-w

Clion不识别C代码或者无法跳转C语言项目怎么办?

如果是中文会显示: 此时只需要右击项目,或者你的源代码目录,将这个项目或者源码目录标记为项目源和头文件即可。 英文如下:

【阅读文献】一个使用大语言模型的端到端语音概要

摘要 ssum框架(Speech Summarization)为了 从说话人的语音提出对应的文本二题出。 ssum面临的挑战: 控制长语音的输入捕捉 the intricate cross-mdoel mapping 在长语音输入和短文本之间。 ssum端到端模型框架 使用 Q-Former 作为 语音和文本的中介连接 ,并且使用LLMs去从语音特征正确地产生文本。 采取 multi-st