百度API调用(三)——语音识别

python 调用百度语音识别API

  • 一、开通百度语音技术接口服务
  • 二、python实现百度语音识别
    • 1、实现功能
    • 2、代码(已加注释)
  • 最后

一、开通百度语音技术接口服务

基本过程:
在这里插入图片描述
1、打开百度ai开放平台 https://ai.baidu.com/

2、打开控制台
在这里插入图片描述

3、选择语音技术
在这里插入图片描述

4、选择创建应用
在这里插入图片描述
5、选择需要的服务,简单填写应用描述即可创建
在这里插入图片描述
6、创建完成后可以在应用列表中管理或者删除你所创建的应用
在这里插入图片描述
7、需要开启对应服务才可以使用
在这里插入图片描述
在这里插入图片描述
点击立即领取即可获得免费调用次数(十几万次对于个人学习使用足够了)

二、python实现百度语音识别

实例:(发送已经保存好的或者现录的语音文件然后语音识别)

1、实现功能

录音五秒钟,然后将录音保存到电脑中并将语音识别请求发送给百度语音识别服务器,得到语音识别结果并打印出来

2、代码(已加注释)

#!/usr/bin/env python
import requests
import json
import base64
import pyaudio
import wave
import os
import psutil#首先配置必要的信息
def bat(voice_path):baidu_server = 'https://aip.baidubce.com/oauth/2.0/token?'  #获取token的servergrant_type = 'client_credentials'client_id = '' #API KEYclient_secret = '' #Secret KEY   这里可以自己去百度注册,这里是我的API KEY 和 Secret KEY#合成请求token的urlurl = baidu_server+'grant_type='+grant_type+'&client_id='+client_id+'&client_secret='+client_secret#获取tokenres = requests.get(url).textdata = json.loads(res)  #将json格式转换为字典格式token = data['access_token']#设置音频的属性,采样率,格式等VOICE_RATE = 8000FILE_NAME = voice_path# USER_ID = '16241950' #这里的id随便填填就好啦,我填的自己昵称FILE_TYPE = 'wav'CUID="wate_play"   #用户唯一标识符,用来区分用户,可以修改#读取文件二进制内容f_obj = open(FILE_NAME, 'rb')content = base64.b64encode(f_obj.read())   # 百度语音识别需要base64编码格式speech = content.decode("utf-8")size = os.path.getsize(FILE_NAME)#json封装datas = json.dumps({      #json.dumps将一个Python数据结构转换为JSON ; json.loads将一个JSON编码的字符串转换回一个Python数据结构 'format': FILE_TYPE,'rate': VOICE_RATE,'channel': 1,'cuid': CUID,'token': token,   #上面从百度平台获取的token信息'speech': speech,'len': size,"dev_pid":"1537"})return datas#设置headers和请求地址url
def post(datas):headers = {'Content-Type':'application/json'}#url = 'https://aip.baidubce.com/oauth/2.0/token?'  #技术文档中这个是获取token的urlurl = "http://vop.baidu.com/server_api"   #技术文档中给出的这个是语音识别的服务器接口#用post方法传数据request = requests.post(url, datas, headers)result = json.loads(request.text)print('result:',result)text = result.get("result")if result['err_no'] == 0:return textelse:return "Error"#录音并将录音结果保存到filepath处in_path = C:\voice\voice.wav
def get_audio(filepath):input("回车开始录音 >>>")     #输出提示文本,input接收一个值,转为str,赋值给aaCHUNK = 256                 #定义数据流块(每个数据块儿存放位数,正好为一个字节)FORMAT = pyaudio.paInt16    #量化位数(音量级划分)CHANNELS = 1               # 声道数;声道数:可以是单声道或者是双声道RATE = 8000                # 采样率;采样率:一秒内对声音信号的采集次数,常用的有8kHz, 16kHz, 32kHz, 48kHz, 11.025kHz, 22.05kHz, 44.1kHzRECORD_SECONDS = 5          #录音秒数WAVE_OUTPUT_FILENAME = filepath     #wav文件路径p = pyaudio.PyAudio()               #实例化stream = p.open(format=FORMAT,channels=CHANNELS,rate=RATE,input=True,frames_per_buffer=CHUNK)print("*"*10, "开始录音:请在5秒内输入语音")frames = []                                                 #定义一个列表for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):      #循环,采样率(8000 / 256) * 5 = (8000*5) / 256data = stream.read(CHUNK)                               #读取chunk个字节 保存到data中frames.append(data)                                     #向列表frames中添加数据data# print(frames)print("*" * 10, "录音结束\n")stream.stop_stream()stream.close()          #关闭p.terminate()           #终结wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')                  #打开wav文件创建一个音频对象wf,开始写WAV文件wf.setnchannels(CHANNELS)                                   #配置声道数wf.setsampwidth(p.get_sample_size(FORMAT))                  #配置量化位数wf.setframerate(RATE)                                       #配置采样率wf.writeframes(b''.join(frames))                            #转换为二进制数据写入文件wf.close()              #关闭returndef check_disk():list_drive = psutil.disk_partitions()  # 找出本地磁盘列表,保存的是结构体对象list_disk = []for drive in list_drive:list_disk.append(drive.device)return list_diskif __name__ == '__main__':list_disk = check_disk() # 检索本地磁盘dirname_path = os.path.join(list_disk[0], "voice") # 设置语音文件存放路径if not os.path.exists(dirname_path):# 如果不存在该文件就创建一个该文件夹os.makedirs(dirname_path)filename = "voice.wav"  # 定义语音文件名in_path = os.path.join(dirname_path, filename)  # 得到路径为:in_path = C:\voice\voice.wav#print('in_path:',in_path)   #录音文件保存在in_path: C:\voice\voice.wavget_audio(in_path) # 录音datas = bat(in_path) # 封装百度语音识别需要的配置信息,返回请求头res = post(datas) # 连接百度语音识别接口,得到识别结果#print("识别结果:",res)print("识别结果:",res[0])

最后

其他百度API 系列的调用参见https://blog.csdn.net/weixin_45386875/article/details/113705329

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度语音SDK使用

百度语音SDK提供: 语音识别:将声音转成文字语音合成:将文字转成语音文件,然后播放语音文件,即文字变声音。语音唤醒:语音唤醒,激活运用程序 在这里,本篇介绍百度语音合成的使用。 百度语音介…

python 语音识别(百度api)

文章目录 前言准备下载库代码实现以及编写我的key语音的录入:使用百度语音作为STT引擎并通过pyttsx3函数将返回的内容读出来形成简单的对话完整代码运行结果 前言 现在语音助手已经成为我们生活中ai的代表,下面让我们看一下语音助手的语音输入功能 准备…

Python调用百度API实现语音识别(一)

咪哥杂谈 本篇阅读时间约为 2 分钟。 1 前言 上篇文章介绍了下如何用 Python 剪辑视频,想回顾的同学可以拉到文章最下面,有历史链接。 有了上篇文章野狼disco的音频,今天就来带大家玩一下百度的API,如何借用百度 API 的语音识别功…

百度语音识别服务 —— 语音识别 REST API 开发笔记

在以前的项目中用到了百度语音识别服务,在这里做一个笔记。这里还是要和大家强调一下,最好的学习资料就是官网网站。我这里只是一个笔记,一方面整理了思路,另一方面方便以后我再次用到的时候可以快速回忆起来。 百度语音识别服务…

树莓派实现语音识别与语音合成——百度云语音识别API

本文采用百度云语音识别API接口,实现低于60s音频的语音识别,也可以用于合成文本长度小于1024字节的音频,此外采用snowboy离线语音唤醒引擎可实现离线语音唤醒,实现语音交互。基于本内容可实现语音控制小车,语音控制音箱…

项目:基于百度API智能语音家居控制系统

目录 开发平台/开发环境: windows 10、Linux、arm cortex A9(Exynos 4412)、ubuntu20.04、zigebee通信、摄像头外设、cortex-M0; 项目模块: 摄像头模块;qt界面及语音识别模块;qt客户端模块;服务器模块&am…

Python调用百度API进行语音识别

目录 1.作者介绍2.基于百度API的普通话识别2.1语音识别2.2百度API调用方法 3.实验3.1实验准备3.2实验结果 4.实验代码 1.作者介绍 高志翔,男,西安工程大学电子信息学院,2021级研究生 研究方向:机器视觉与人工智能 电…

百度语音识别API的简单应用

1. prepare 根据百度开发文档的提示可以知道,API仅能处理特定格式的语音文件。 由于底层识别使用的是pcm,因此推荐直接上传pcm文件。如果上传其它格式,会在服务器端转码成pcm,调用接口的耗时会增加。 语音识别仅支持以下格式 &am…

什么是CatGPT-使用效果如何-

个人使用效果,评分优,足以满足教学和填表。 程序媛借助CatGPT(ChatGPT更佳),基本上可以秒杀不用此类工具的程序猿(男)!!! 问:为什么使用AIGC能大幅…

OpenAI ChatGPT3.5 completion API 入门指南

官方介绍 ChatGPT 由 OpenAI 最先进的语言模型 gpt-3.5-turbo 提供支持。 使用 OpenAI API,您可以使用 GPT-3.5-turbo 构建自己的程序来做一些如下的事情: 起草电子邮件或其他书面文件编写 Python 代码回答关于一组文档的问题创建对话代理程序为你的软件…

英语二-电子邮件邀请短文写作

1. 邮件模板 Dear 邀请人, Hope you have a great day. I am writing this email to invite you to attend 主题. Please kindly find the following information for your reference: Time: 时间 Address: 地点 We hope that nothing will prevent you from coming, as…

怎样收智商税

智商税的历史源远流长,史上最著名的案例,是 1313 年起天主教会开始发售的“赎罪券”:教皇宣称教徒购买此券,可以赦免罪罚,其宣传是“金币投进柜子当啷一响时,灵魂就可以升天堂了”。此案例诠释了智商税的几…

AIGC周报|让AI来画《海贼王》;苹果限制员工使用ChatGPT;李彦宏:不担心大模型会让工作消失

AIGC(AI Generated Content)即人工智能生成内容。近期爆火的 AI 聊天机器人 ChatGPT,以及 DallE 2、Stable Diffusion 等文生图模型,都属于 AIGC 的典型案例,它们通过借鉴现有的、人类创造的内容来快速完成内容创作。 …

谷歌正式开放智能 AI 机器人 Bard 迎战 ChatGPT,附申请教程

随着 ChatGPT 掀起了 AI 时代的浪潮之后,微软必应 Bing Chat 机器人、Office 以及百度的“文心一言”等都已经离开实验室,正式在公众的赛道上比拼了。3月21日周二,美国科技巨头谷歌公司推出了 AI 聊天机器人 Bard 的测试版本,以期…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--01 Introduction

01课程介绍Introduction 1) 两种LLM(Large Language Models) Base LLM:根据训练数据自动预测下一个单词。例如:给定"Once upon a time, there was a unicorn",LLM会自动生成下面的文章"that lived in a magical forrest with…

计算机考研复试面试系列 计算机专业英语篇

计算机考研复试面试系列 计算机专业英语篇 在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更高! 此系列一共…

AI时代的三类人:探索掌握AIGC,引领未来的人才之路

(本文阅读时间:6 分钟) 1 AI时代:ChatGPT引领AIGC技术革命 对于那些热衷于探索新技术的小伙伴而言,ChatGPT早已超越了抽象的概念,我们对其能力已有所了解。那么,ChatGPT究竟能够做些什么呢&…

AGI 大模型创业时代的创业公司新形态:11 人的 Midjourney 不是偶然 | 同为开发绘画AI的团队,Midjourney是怎么取得今天的成就的呢?

同为开发绘画AI的团队,Midjourney是怎么取得今天的成就的呢? 目录 同为开发绘画AI的团队,Midjourney是怎么取得今天的成就的呢?</

Web开发课程实验(二):Servlet+DAO实现数据库基本交互

实验内容&#xff1a; 使用servletDAO实现基本数据库交互 具体要求 编写一个静态网页&#xff0c;网页命名&#xff1a;student.html 编写一个Servlet&#xff0c;命名&#xff1a;StudentServlet 创建hit数据库&#xff08;PostgreSQL或MySQL均可&#xff09;&#xff0c;其…

占有统治地位的Transformer究竟是什么

讲个有趣的小故事 我高二那年从乙班考入了甲班&#xff0c;对于那时的我 偏科英语最高只有108班级平均英语成绩125暴躁难为人女英语老师&#xff0c;使我上英语课时战战兢兢。英语老师很时尚&#xff0c;喜欢搞花里胡哨的词语让我们放松&#xff0c;也很尊重我虽然暴躁但维护着…