零基础5分钟上手谷歌云GCP核心云开发技能 - 利用语音AI服务搭建应用

news2024/9/22 23:39:01

简介:

欢迎来到小李哥全新谷歌云GCP云计算知识学习系列,适用于任何无云计算或者谷歌云技术背景的开发者,让大家零基础5分钟通过这篇文章就能完全学会谷歌云一个经典的服务开发架构方案。

我将每天介绍一个基于全球三大云计算平台(AWS, Azure, GCP)的全球前沿云开发/架构技术基础解决方案,帮助大家快速了解国际上最热门的云计算平台上的最佳实践和前沿技术,并应用到自己的日常工作里。本次我将介绍如何在谷歌云上利用语音AI服务speech-to-text的API,搭建自己的云端应用系统。示范架构图如下:

方案所需基础知识  

什么是谷歌云 GCP Speech-to-Text 服务?

谷歌云 GCP Speech-to-Text 是 Google Cloud Platform 提供的一项强大的语音识别服务。它利用先进的深度学习算法,将语音转化为高精度的文本。该服务支持多种语言和方言,并且可以处理实时音频流和预录音频文件,是开发语音驱动应用和服务的理想选择。

使用 GCP Speech-to-Text 进行语音转录的优势

通过 GCP Speech-to-Text 服务,开发者可以快速、高效地实现语音转录功能,提升应用的智能化和用户体验。

高精度:

采用先进的深度学习模型,谷歌家的AI模型一直是顶流的存在不容置疑,能够高精度地转录各种语音内容。

多语言支持

支持全球 120 多种语言和方言,适用于多语言环境中的语音识别需求。

实时转录

可以处理实时音频流,适用于实时字幕、实时会议记录等应用场景。

自定义词汇

用户可以添加特定词汇和短语,提高特定领域的转录准确性。自动添加标点符号,使转录文本更具可读性。

可扩展性

无论是处理少量音频文件还是大规模语音数据,服务都能轻松扩展,满足不同规模的需求。

应用谷歌云 GCP Speech-to-Text 的场景

谷歌云 GCP Speech-to-Text 服务在多个应用场景中都能发挥重要作用,以下是一些常见的使用场景:

1. 实时字幕和转录

  • 实时会议记录:在视频会议或电话会议中,实时转录语音内容,生成会议记录,便于会后查阅和分享。
  • 直播字幕:为直播视频提供实时字幕,提高内容的可访问性,帮助听力障碍者理解直播内容。

2. 客户服务

  • 呼叫中心:将客户服务电话的语音内容实时转录为文本,帮助客服代表快速获取通话内容,提升服务质量。
  • 语音留言转录:自动将语音留言转录为文本,方便用户查阅和管理。

3. 语音命令和控制

  • 智能家居设备:通过语音指令控制智能家居设备,如开关灯、调节温度等,提升用户体验。
  • 车载系统:在车载导航和娱乐系统中,通过语音指令实现导航、播放音乐等功能,增强驾驶安全性。

4. 教育和培训

  • 在线课程:将在线课程的语音内容转录为文本,生成课程笔记,方便学生复习和查阅。
  • 学术研究:转录学术讲座和研讨会内容,为研究人员提供文本资料,便于分析和引用。

5. 媒体和娱乐

  • 播客转录:将播客内容转录为文本,生成文字稿,便于用户阅读和搜索。
  • 影片字幕制作:为电影和电视剧生成准确的字幕,提高内容的可访问性和观看体验。

本方案包括的内容:

1. 为调用云端语音AI服务创建API key

2. 创建调用云端语音AI服务的API请求

3. 发起调用,调用API获取转录文字响应(语音转文字)

项目搭建具体步骤:

1.首先我们登录我们的GCP控制台, 进入到API管理服务“APIs & services > Credentials”。接下来我们创建一个API key,创建完成后。

2.  创建完成后,会自动弹出创建的API Key明文。

3. 接下来我们登录GCP上的Compute Engine服务器,通过SSH登入Linux 命令行中。

4. 接下来我们在命令行中导入我们刚创建的API Key

export API_KEY=<YOUR_API_KEY>

5.  接下来我们创建并打开一个"request.json"文件,用作创建我们Speech-to-Text API的请求内容。

touch request.json
nano request.json

6. 接下来我们在json中复制添加以下内容,并且点击control+x和y进行Nano的保存。。

{
  "config": {
      "encoding":"FLAC",
      "languageCode": "en-US"
  },
  "audio": {
      "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
  }
}

参数解释:

config:配置

包含转录过程的配置设置。

encoding:编码

指定音频文件的编码格式,例如 FLAC、MP3 等。

languageCode:语言代码

指定音频文件中使用的语言,例如 en-US 表示美式英语。

audio:音频

包含音频文件的信息。

uri:统一资源标识符

指定音频文件所在的位置,通常是一个云存储地址,例如 gs:// 开头的 Google Cloud Storage 地址。

7. 最后我们开始通过Linux命令行根据我们的json文件配置,调用Speech-to-Text的API实现语音转录。运行如下命令:

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"

8.我们得到了如下的音频转录结果

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98267895
        }
      ]
    }
  ]
}

9. 如果我们想把输出的结果导入到一个文件中,我们可以使用如下的命令。

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json

 10. 除了使用Bash脚本调用API,我们也可以直接在Python代码中直接在应用中调用API。参考代码如下。

from google.cloud import speech_v1p1beta1 as speech

def transcribe_gcs(gcs_uri):
    client = speech.SpeechClient()

    audio = speech.RecognitionAudio(uri=gcs_uri)
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.FLAC,
        language_code="en-US"
    )

    response = client.recognize(config=config, audio=audio)

    for result in response.results:
        print("Transcript: {}".format(result.alternatives[0].transcript))

if __name__ == "__main__":
    gcs_uri = "gs://cloud-samples-tests/speech/brooklyn.flac"
    transcribe_gcs(gcs_uri)

代码解释:

导入库:

from google.cloud import speech_v1p1beta1 as speech:导入 Google Speech-to-Text API 客户端库。

创建客户端:

client = speech.SpeechClient():创建 Speech-to-Text 客户端对象。

定义音频和配置:

audio = speech.RecognitionAudio(uri=gcs_uri):指定音频文件的 URI。
config = speech.RecognitionConfig(encoding=speech.RecognitionConfig.AudioEncoding.FLAC, language_code="en-US"):配置音频文件的编码格式和语言代码。

调用 API:

response = client.recognize(config=config, audio=audio):调用 recognize 方法进行转录。

处理响应:

遍历 response.results 并打印转录文本。
 

以上就是在谷歌云GCP上创建语音AI服务的全部步骤。欢迎大家关注0基础5分钟上手谷歌云系列,未来获取更多国际前沿的谷歌云GCP云开发/云架构方案!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

arcgis(shp)注记转CAD(dwg)文字

arcgis&#xff08;shp&#xff09;注记转CAD&#xff08;dwg&#xff09;文字方法如下&#xff1a; 1、添加shp文件&#xff0c;标注要素&#xff0c;然后选标注转注记 2、 点击文件夹图标打开文件夹&#xff0c;选择保存路径。&#xff08;提前需新建好文件地理数据库、数据…

Arm Linux 设置系统日期时间的方法

一、设置系统日期时间的方法 1.命令行工具 date 命令&#xff1a;是Linux系统中用于查看和设置系统时间的常用命令行工具。通过date -s选项&#xff0c;可以手动设置系统时间。 sudo date -s "YYYY-MM-DD HH:MM:SS"hwclock 命令&#xff1a;用于查询和设置硬件时钟…

8月8日复习内容(基础的文件IO操作)

man手册 主要分为以下几个章节&#xff1a; User Commands&#xff08;用户命令&#xff09;&#xff1a;这一章节包含了普通用户&#xff08;非root用户&#xff09;可以执行的命令。这些命令通常用于日常的文件管理、文本编辑、程序执行等任务。 System Calls&#xff08;系…

【JavaEE初阶】常见的锁策略及synchronized实现原理

目录 &#x1f333; 常见的锁策略 &#x1f6a9; 乐观锁 vs 悲观锁 &#x1f6a9; 重量级锁 vs 轻量级锁 &#x1f6a9; 自旋锁 vs 挂起等待锁 &#x1f6a9; 可重入锁 vs 不可重入锁 &#x1f6a9; 公平锁 vs 非公平锁 &#x1f6a9; 互斥锁 vs 读写锁 &#x1f384; …

2024年8月8日(python基础)

一、检查并配置python环境&#xff08;python2内置&#xff09; 1、检测是否安装 [rootlocalhost ~]# yum list installed| grep python [rootlocalhost ~]# yum -y install epel-release 2、安装python3 [rootlocalhost ~]# yum -y install python3 最新版3.12可以使用源码安…

数据结构.

1:基本大纲 数据结构、算法线性表&#xff1a;顺序表、链表、栈、队列树&#xff1a;二叉树、遍历、创建查询方法、排序方式 2:数据结构&#xff08;逻辑结构&#xff0c;存储结构&#xff0c;操作&#xff08;数据的运算&#xff09;&#xff09; 2.1&#xff1a;数据&#xf…

RabbitMQ面试题汇总

RabbitMQ面试题 一、RabbitMQ基础1. 什么是RabbitMQ&#xff0c;它的基本架构是怎样的&#xff1f;2. RabbitMQ支持哪些协议&#xff1f;3. 说一下AMQP协议&#xff1f;4. 为什么要使用RabbitMQ&#xff1f;5. MQ的应用场景有哪些&#xff1f;6. 解耦、异步、削峰是什么&#x…

【Linux之·工程构建·Cmake】

系列文章目录 文章目录 前言一、概述二、CMake的基本概念2.1 CMake的工作原理和基本组成部分2.2 CMakeLists.txt文件的结构和语法2.2.1 变量操作2.2.2 注释2.2.3 日志2.2.4 宏定义 2.3 CMakeLists.txt文件的作用 三、CMake的常用命令和变量3.1 常用的CMake命令和变量3.1.1 字符…

多尺度病理图像纹理特征作为肺腺癌预后预测的新指标|文献精读·24-08-09

小罗碎碎念 这一期推文分享的文献是2022年发表于 Journal of Translational Medicine 的一篇文章&#xff0c;目前IF6.1。 这篇文章值得刚入门病理AI领域的老师/同学仔细研读&#xff0c;因为思路清晰&#xff0c;该讲到的流程基本都涉及了&#xff0c;详细讲述了病理图像的各种…

PyTorch基于深度神经网络的语音情绪识别

【图书推荐】《PyTorch语音识别实战》-CSDN博客 《PyTorch语音识别实战&#xff08;人工智能技术丛书&#xff09;》(王晓华)【摘要 书评 试读】- 京东图书 (jd.com) 情绪数据的获取与标签的说明 首先是语音情绪数据集的下载&#xff0c;在这里使用瑞尔森情感语音和歌曲视听数…

动态规划求解最小斯坦纳树(证了一天两夜)

最小斯坦纳树 给定点的“最小生成树”问题。 背景 给定无向连通图 G ( V , E ) G(V,E) G(V,E)&#xff0c;给出包含 k k k 个结点的点集 S S S&#xff0c;包含点集 S S S 的连通图被称作 斯坦纳树。但我们关注的是如何求出包含点集 S S S 的最小连通图 G ′ ( V ′ ,…

One-hot编码和Multiple-hot编码

在推荐系统和机器学习中&#xff0c;我们通常会遇到两种类型的编码方式&#xff1a;One-hot 编码和 Multiple-hot 编码&#xff08;有时也称为 Multi-hot 编码&#xff09;。这两种编码方式用于将分类数据转换为数值表示&#xff0c;以便机器学习模型能够处理这些数据。 1、On…

国产开源大模型都有哪些?

随着ChatGPT引领的大模型热潮&#xff0c;国内的公司开始相继投入研发自己的人工智能大模型&#xff0c;截止到2023年10月&#xff0c;国产公司的大模型有近百个&#xff0c;包括一些通用大模型&#xff0c;比如百度的文心一言&#xff0c;也有特定领域的专用大模型&#xff0c…

电力时代的液冷-EAK水冷电阻器的来源

当电气设备出现故障时&#xff0c;我们经常会表述成“这个东西烧了”。为什么用“烧”而不是“破”了或“坏”了呢?因为在电气产品中&#xff0c;一部分的电能会在使用的过程中通过电阻和电感的作用转化为热&#xff0c;如果因为设计或故障原因&#xff0c;产生的热没有被有效…

python自动化笔记:os模块和异常处理

目录 一、os模块1.1、常用方法1.2、其他方法&#xff08;了解即可&#xff09; 二、异常处理 try except2.1、语法格式1&#xff1a;2.2、语法格式2&#xff1a;指定异常类别&#xff0c;捕获异常2.3、语法格式3&#xff1a;try-finally 语句无论是否发生异常都将执行最后的代码…

〖基础篇1〗ROS2 Foxy Ubuntu 20.04 (Focal Fossa)安装教程

目录 一、linux Ubuntu 20.04 (Focal Fossa)安装二、linux VPN安装三、linux anaconda安装&#xff08;可选&#xff09;四、linux ROS2 foxy安装1. 设置语言环境2. 设置DEB软件源3. 安装开发工具和依赖4. 安装ROS2 foxy桌面版本5. 运行示例 一、linux Ubuntu 20.04 (Focal Fos…

常见框架漏洞详解③!!

Apache Apache 是世界使⽤排名第⼀的 Web 服务器软件。它可以运⾏在⼏乎所有⼴泛使⽤的计算 机平台上&#xff0c;由于其跨平台和安全性被⼴泛使⽤&#xff0c;是最流⾏的 Web 服务器端软件之⼀。 apache⽬录结构&#xff1a; bin&#xff1a;存放常⽤命令⼯具&#xff0c;如h…

颠倒字符串中的单词(LeetCode)

题目 给你一个字符串 &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意&#xff1a;输入字符串 中可能会存在前导空格、尾随…

CSDN机器人与僵shi粉测试(真人看看)

​哈哈哈一起玩个游戏 发现老是莫名其妙有很多关注点赞与收藏&#xff0c;关注的几百个人应该都是机器人 此博文用于检测平台机器人阅读量 —>如果是真人请务必随便留言<— 可以根据阅读量与评论判断机器人数量 不用点赞收藏有机器人就行 机器人统一特征是在2019年左右…

【C++ 面试 - 基础题】每日 3 题(七)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…