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

目录

  • 1.作者介绍
  • 2.基于百度API的普通话识别
    • 2.1语音识别
    • 2.2百度API调用方法
  • 3.实验
    • 3.1实验准备
    • 3.2实验结果
  • 4.实验代码

1.作者介绍

高志翔,男,西安工程大学电子信息学院,2021级研究生
研究方向:机器视觉与人工智能
电子邮件:562076173@qq.com

刘帅波,男,西安工程大学电子信息学院,2021级研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:1461004501@qq.com

2.基于百度API的普通话识别

2.1语音识别

语音识别,就是将一段语音信号转换成相对应的文本信息,系统主要包含特征提取、声学模型,语言模型以及字典与解码四大部分,此外为了更有效地提取特征往往还需要对所采集到的声音信号进行滤波、分帧等音频数据预处理工作,将需要分析的音频信号从原始信号中合适地提取出来。
一般流程:
在这里插入图片描述

2.2百度API调用方法

通过在百度智能开发平台,建立语音技术等应用,会获取相对技术权限功能。
在这里插入图片描述
创建完毕后百度会给你一个应用列表,使用这里的AppID,API Key及Secret Key便可以进行API的调用。

3.实验

3.1实验准备

本次实验我们采用的是百度API进行识别,故需要安装baidu-aip模块
首先打开命令行,在里面输入pip install baidu-aip。
在这里插入图片描述
如上图,即是安装成功。
因为本项目采用pyqt5进行了界面编写,故还需要安装pyqt5模块。
打开命令行,在里面输入pip install pyqt5即可安装。
接下来需要去百度AI的官网去创建应用,获取AppID,APIKey,Secret Key。

3.2实验结果

在这里插入图片描述
在此就可直接输入对应的数字,enter键后便开始录音,随即弹出百度搜索界面,可直接进行搜索,即实验成功!

4.实验代码

import wave
import requests
import time
import base64
from pyaudio import PyAudio, paInt16
import webbrowserframerate = 16000  # 采样率
num_samples = 2000  # 采样点
channels = 1  # 声道
sampwidth = 2  # 采样宽度2bytes
FILEPATH = 'speech.wav'base_url = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s"
APIKey = "********"  # 填写自己的APIKey
SecretKey = "**********"  # 填写自己的SecretKeyHOST = base_url % (APIKey, SecretKey)def getToken(host):res = requests.post(host)return res.json()['access_token']def save_wave_file(filepath, data):wf = wave.open(filepath, 'wb')wf.setnchannels(channels)wf.setsampwidth(sampwidth)wf.setframerate(framerate)wf.writeframes(b''.join(data))wf.close()def my_record():pa = PyAudio()stream = pa.open(format=paInt16, channels=channels,rate=framerate, input=True, frames_per_buffer=num_samples)my_buf = []# count = 0t = time.time()print('正在录音...')while time.time() < t + 4:  # 秒string_audio_data = stream.read(num_samples)my_buf.append(string_audio_data)print('录音结束.')save_wave_file(FILEPATH, my_buf)stream.close()def get_audio(file):with open(file, 'rb') as f:data = f.read()return datadef speech2text(speech_data, token, dev_pid=1537):FORMAT = 'wav'RATE = '16000'CHANNEL = 1CUID = '*******'SPEECH = base64.b64encode(speech_data).decode('utf-8')data = {'format': FORMAT,'rate': RATE,'channel': CHANNEL,'cuid': CUID,'len': len(speech_data),'speech': SPEECH,'token': token,'dev_pid': dev_pid}url = 'https://vop.baidu.com/server_api'headers = {'Content-Type': 'application/json'}# r=requests.post(url,data=json.dumps(data),headers=headers)print('正在识别...')r = requests.post(url, json=data, headers=headers)Result = r.json()if 'result' in Result:return Result['result'][0]else:return Resultdef openbrowser(text):maps = {'百度': ['百度', 'baidu'],'腾讯': ['腾讯', 'tengxun'],'网易': ['网易', 'wangyi']}if text in maps['百度']:webbrowser.open_new_tab('https://www.baidu.com')elif text in maps['腾讯']:webbrowser.open_new_tab('https://www.qq.com')elif text in maps['网易']:webbrowser.open_new_tab('https://www.163.com/')else:webbrowser.open_new_tab('https://www.baidu.com/s?wd=%s' % text)if __name__ == '__main__':flag = 'y'while flag.lower() == 'y':print('请输入数字选择语言:')devpid = input('1536:普通话(简单英文),1537:普通话(有标点),1737:英语,1637:粤语,1837:四川话\n')my_record()TOKEN = getToken(HOST)speech = get_audio(FILEPATH)result = speech2text(speech, TOKEN, int(devpid))print(result)if type(result) == str:openbrowser(result.strip(','))flag = input('Continue?(y/n):')

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

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

相关文章

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

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

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

个人使用效果&#xff0c;评分优&#xff0c;足以满足教学和填表。 程序媛借助CatGPT&#xff08;ChatGPT更佳&#xff09;&#xff0c;基本上可以秒杀不用此类工具的程序猿&#xff08;男&#xff09;&#xff01;&#xff01;&#xff01; 问&#xff1a;为什么使用AIGC能大幅…

OpenAI ChatGPT3.5 completion API 入门指南

官方介绍 ChatGPT 由 OpenAI 最先进的语言模型 gpt-3.5-turbo 提供支持。 使用 OpenAI API&#xff0c;您可以使用 GPT-3.5-turbo 构建自己的程序来做一些如下的事情&#xff1a; 起草电子邮件或其他书面文件编写 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…

怎样收智商税

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

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

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

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

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

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

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

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

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

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

&#xff08;本文阅读时间&#xff1a;6 分钟&#xff09; 1 AI时代&#xff1a;ChatGPT引领AIGC技术革命 对于那些热衷于探索新技术的小伙伴而言&#xff0c;ChatGPT早已超越了抽象的概念&#xff0c;我们对其能力已有所了解。那么&#xff0c;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;也很尊重我虽然暴躁但维护着…

8 Surprising Things You Can Do With ChatGPT 你可以用 ChatGPT 做的 8 件令人惊讶的事情

If you’ve heard about ChatGPT and think it’s just a fancy chatbot, you might be underestimating the range of what it can do. Here are some surprising things you can do with ChatGPT, whether you want to write a resume or have it dungeon-master an epic rol…

千万别错过!C/C++实现经典围棋大战,秒杀挫败柯洁的AlphaGo

在现实生活中想下围棋就必须要有棋子和棋盘&#xff0c;但是棋子好携带&#xff0c;但棋盘携带的话就和不方便了&#xff0c;所以很多人突然有雅兴想下围棋但奈何没有棋盘&#xff0c;但是随着围棋软件的出现就很好的解决了这个问题了&#xff0c;它可以让你随时随地都能过把手…

又一次输了人机大战,柯洁反复说着这两个词......

一场27日在福州与“星阵”的对决让柯洁的名字再度与“人机大战”联系在一起&#xff0c;而尽管中盘告负的结果让他“深感无力”&#xff0c;但柯洁表示未来与人工智能的对阵仍是不可避免&#xff0c;他也希望尽早出台相应的规则&#xff0c;防止未来可能利用人工智能作弊的现象…

柯洁直播中为何大笑不止 围棋人胜AI重现曙光?

新浪体育2023/05/02 柯洁直播中开心不已 4月30日&#xff0c;柯洁在b站的直播中分享了人类棋手“偷袭”击败AI的棋谱&#xff0c;坦言如果在人机大战的时候知道这个bug的话&#xff0c;或许有赢的可能。 2016&#xff0c;2017两次人机大战后&#xff0c;人与人工智能在围棋上的…

柯洁食言:明年四月,再战AI

李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI “我说不再跟AI下棋&#xff0c;现在食言了。” 刚刚&#xff0c;人类围棋第一人柯洁九段宣布&#xff1a;明年4月&#xff0c;将再次与围棋AI交锋。 对话柯洁&#xff1a;我喜欢自我挑战 今年4月的乌镇&#xff0c;与AlphaGo的第…

今天,给柯洁老师打电话

问耕 发自 凹非寺量子位 出品 | 公众号 QbitAI △ 配图来自柯洁微博 如果你看到这一篇推送&#xff0c;即使没有号码&#xff0c;也希望你给柯洁老师打电话。 可以热烈一点~ 因为&#xff0c;他成功复仇了&#xff01; 柯洁战胜了不久前刚刚碾压了他的腾讯围棋AI绝艺&#xff0…

人工智能统治围棋?棋士一文不值?

全文共3057字,预计学习时长9分钟 来源: tuxi 韩国围棋大师李世石最近宣布退出职业围棋比赛。 为什么? 他觉得无论他多么努力,他都不会打败像AlphaGo这样的AI-Go玩家。这是他在与谷歌DeepMind的AlphaGo竞争中历史性失败的一个相当悲哀的决定。 李世石的退出颇具戏剧性。然而,…