首页 > 其他分享 >基于OpenCV的语音数据读取

基于OpenCV的语音数据读取

时间:2023-12-26 18:00:29浏览次数:31  
标签:识别 读取 res OpenCV token 语音 voice data

  1)进入http://yuyin.baidu.com/app,在弹出的界面中单击要针对哪个应用开通语音识别服务,个人测试可全选 (开通个人认证,白嫖)    

 

注意: 1、百度语音识别API对于要识别的音频源是有要求的:原始PCM的录音参数必须符合8k/16k采样率、16位深、单声道,支持的压缩格式有:pcm(不压缩)、wav、opus、amr、x-flac。   2、在本地计算机上测试的,因此使用的是MAC地址。获取MAC地址的方法是:打开系统终端命令行窗口(Win+R,输入cmd并按Enter键),在命令行中输入命令ipconfig/all   3、关闭防火墙,网络限时

 

参考代码如下:  
 1 # -*- coding: utf-8 -*-
 2 import json                                      # 用来转换JSON字符串
 3 import base64                                      # 用来做语音文件的Base64编码
 4 import requests                                      # 用来发送服务器请求
 5 
 6 # 获得token
 7 API_Key = '********'              # 从申请应用的key信息中获得
 8 Secret_Key = '********'        # 从申请应用的key信息中获得
 9 token_url = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s"
10     # 获得token的地址
11 res = requests.get(token_url % (API_Key, Secret_Key))      # 发送请求
12 res_text = res.text                                # 获得请求中的文字信息
13 token = json.loads(res_text)['access_token']              # 提取token信息
14 
15 # 定义要发送的语音
16 voice_file = 'D:\Users\m07013a\Downloads\05. Ancient of Wind.wav'              # 要识别的语音文件
17 voice_fn = open(voice_file, 'rb')             # 以二进制的方式打开文件
18 org_voice_data = voice_fn.read()              # 读取文件内容
19 org_voice_len = len(org_voice_data)              # 获得文件长度
20 base64_voice_data = base64.b64encode(org_voice_data).decode('utf-8')
21             # 将语音内容转换为base64编码格式
22 # 发送信息
23 # 定义要发送的数据主体信息
24 headers = {'content-type': 'application/json'}        # 定义header信息
25 payload = {
26     'format': 'pcm',                          # 以具体要识别的语音扩展名为准
27     'rate': 8000,                          # 支持8000或16000两种采样率
28     'channel': 1,                          # 固定值,单声道
29     'token': token,                          # 上述获取的token
30     'cuid': '90-65-84-C1-70-32',              # 本机的MAC地址或设备唯一识别标志,要修改
31     'len': org_voice_len,                    # 上述获取的原始文件内容长度
32     'speech': base64_voice_data                    # 转码后的语音数据
33 }
34 data = json.dumps(payload)                   # 将数据转换为JSON格式
35 vop_url = 'http://vop.baidu.com/server_api'      # 语音识别的API
36 voice_res = requests.post(vop_url, data=data, headers=headers)      # 发送语音识别请求
37 api_data = voice_res.text                    # 获得语音识别文字返回结果
38 text_data = json.loads(api_data)['result']
39 print(api_data)                                # 打印输出整体返回结果
40 print(text_data)                                # 打印输出语音识别的文件

 

  返回结果如下:

 

 

总结:上述语音识别仅提供了关于语音转文字的方法。其实语音本身包括非常多的信息,除了相对浅层的生理和物理特征,例如语速、音调、音长、音色、音强等外,还包括更深层次的社会属性,这部分内容需要自然语音理解的深层次应用。目前的语音数据读取后主要应用方向包括:

·语音转文字。这也是广义上语音识别的一种,直接将语音信息转为文字信息,例如微信中就有这个小功能。

·语音识别。语音识别指的是对说话者通过选取语音识别单元、提取语音特征参数、模型训练、模型匹配等阶段,实现其角色识别和个体识别的过程,例如通过某段语音识别出是哪个人说的话。

·语音语义理解。在语音识别的基础上,需要对语义特征进行分析,目的是通过计算得到语音对应的潜在知识或意图,然后提供对应的响应内容或方法。语音识别和语音理解的差异之处在于,语音识别重在确定语音表达的字面含义,属于表层意义;而语音理解重在挖掘语音的背后含义,属于深层意义。

·语音合成。语音合成就是让计算机能够“开口说话”,这是一种拟人的技术方法。语音合成,又称文本转语音(Text to Speech)技术,它通过机械的、电子的方法将文字信息转变为人类可以听得懂的语音。

·应用集成。经过分析、识别后的信息可以与硬件集成,直接通过语音发送指令。例如通过跟Siri(苹果手机上的语音助理)的“沟通”,除了可以进行日常对话,还可以告诉你天气情况、帮你设置系统日程、介绍餐厅等。这是智能机器人在模式识别方面的典型应用。

基于上述的复杂应用场景,通常语音后续分析、处理和建模等过程都无法由数据工程师单独完成,还需要大量的语料库素材,以及社会学、信号工程、语言语法、语音学、自然语音处理、机器学习、知识搜索、知识处理等交叉学科和相关领域才有可能解开其中的密码。

推荐参考链接:https://blog.csdn.net/TomorrowAndTuture/article/details/99870563

 

标签:识别,读取,res,OpenCV,token,语音,voice,data
From: https://www.cnblogs.com/huangjiale/p/17928974.html

相关文章

  • 成功实现FaceTime语音,FaceTime视频,FaceTime数据筛选,检测手机号是否开通FaceTime的
    FaceTime是苹果公司iOS和macOS(以前称MacOSX或OSX)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。 一、Windows电脑上部......
  • java读取yaml文件
    应用场景自动化测试中,用例数据存放在yaml文件中 数据 person.yaml---id:1name:韧age:18---id:2name:qzcsbjage:19person2.yaml----id:3name:小韧age:18-id:4name:全栈测试笔记age:19person3.yaml----id:5name:韧哥age:18......
  • OpenCV Label标注软件
    传统OpenCV图像处理一般不需要进行数据training,目前流行的神经网络的图像处理都需要基于数据进行训练,首先要对图像数据打标签,有几个常用的Label标注软件:labelimg:只能使用矩形圈出对象labelme:支持使用多边形来圈出对象anylabeling:除了手工打标签外,还提供AI自动打标......
  • OpenCV 机器视觉的四大任务
    CV的四大任务图像分类(imageclassification),检查图像中是否包含某种物体,或者包含哪些物体.目标检测(Objectdetection或Objectlocalization),确定目标的位置和类别,用boundingbox圈出具体的位置语义分割(semanticsegmentation)对图像进行像素级的分类,预测每个像素......
  • python合成语音
      https://pythonjishu.com/tzzjavbepoesojm/下面是另一个示例:pipinstallpyttsx3pipinstallgtts将一个变量中的中文文本转换为语音,并使用pyaudio播放出来。因为pyaudio库在Windows环境下可能会有问题,所以建议在Linux或Mac环境下测试。importpyt......
  • 为什么python总是读取不到文件
    在Python中,当你尝试读取文件但却无法成功时,可能有几个常见的原因。下面将探讨一些可能导致Python无法读取文件的问题,并提供相应的解决方案。1.文件路径错误:当你提供给Python的文件路径不正确时,它将无法找到该文件。确保你提供的文件路径是准确的,包括文件名和文件所在的文件夹路径。......
  • 一体式读卡器:引领数据读取新潮流
    一体式读卡器:引领数据读取新潮流随着科技的发展,读卡器在各个领域的应用越来越广泛,如工业自动化生产、身份认证、门禁控制、数据采集等。读卡器主要有两种类型:一体式读卡器和分体式读卡器。这两种类型的读卡器各有其优缺点,适用于不同的应用场景。本文将重点探讨一体式读卡器相对于分......
  • app发送语音
    实现功能通过App发送语音指令,调度指定Web端的页面的操作,如打开项目一览表、打开项目工时等设计绑定因Web端可以打开多个,即多个人可以在多个电脑上打开Web端,所以怎么保证调度的是某一个Web端呢?通过Web端标识进行绑定,基于WebSocket,Web端先和服务端进行绑定并设置Web端标识;然后App端设......
  • 通杀?海康威视安全接入网关任意文件读取漏洞
    声明:本文提供的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。    背景海康威视安全接入网关使用jquery-1.7.2JavaScript......
  • 测试buffer_size对文件IO的读取效率
    #include<stdio.h>#include<stdlib.h>#include<unistd.h>intmain(intargc,char**argv){if(argc<2){fprintf(stderr,"faildUsage...\n");exit(1);}intbuffersize=atoi(argv[1]);cha......