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

相关文章

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图