手把手使用Python语音识别,进行语音转文字
目录
0. 太长不看系列,直接使用
识别结果
1. Python调用标贝科技语音识别接口,实现语音转文字
1.1 环境准备:
1.2 获取权限
1.2.1 登录
1.2.2 创建新应用
1.2.3 选择服务
1.2.4 获取Key&Secret
2. 代码实现
2.1 获取access_token
2.2 获取识别文本
2.3 配置接口参数
2.4 完整demo
2.5 执行
0. 太长不看系列,直接使用
在1.2官网注册后拿到APISecret和APIKey,直接复制文章2.4demo代码,确定音频为wav格式,采样率为16K,在命令行执行
python single_sentence_recognition.py -client_secret=你的client_secret -client_id=你的client_id -file_path=test.wav
识别结果
使用中有任何问题,欢迎留言提问。
1. Python调用标贝科技语音识别接口,实现语音转文字
1.1 环境准备:
Python 3
1.2 获取权限
标贝科技 https://ai.data-baker.com/#/?source=qwer12
填写邀请码fwwqgs,每日免费调用量还可以翻倍
1.2.1 登录
点击产品地址进行登录,支持短信、密码、微信三种方式登录。
1.2.2 创建新应用
登录后进入【首页概览】,各位开发者可以进行创建多个应用。包括一句话识别、长语音识别、录音文件识别;在线合成、离线合成、长文本合成。
1.2.3 选择服务
进入【已创建的应用】,左侧选择您需调用的AI技术服务,右侧展示对应服务页面概览(您可查询用量、管理套餐、购买服务量、自主获取授权、预警管理)。
1.2.4 获取Key&Secret
通过服务 / 授权管理,获取对应参数,进行开发配置(获取访问令牌token)
拿到Key和Secret就可以正式使用啦!
2. 代码实现
2.1 获取access_token
在拿到Key和Secret后,我们还需要调用授权接口获取access_token,这个access_token有效时长是24小时。
# 获取access_token用于鉴权
def get_access_token(client_secret, client_id):grant_type = "client_credentials"url = "https://openapi.data-baker.com/oauth/2.0/token?grant_type={}&client_secret={}&client_id={}"\.format(grant_type, client_secret, client_id)try:response = requests.post(url)response.raise_for_status()except Exception as e:print(e)returnelse:access_token = json.loads(response.text).get('access_token')return access_token
2.2 获取识别文本
拿到access_token后,调用语音识别接口,就可以获得识别后文本
# 获取识别后文本
def get_text(file, headers):url = "https://asr.data-baker.com/asr/api?"response = requests.post(url, data=file, headers=headers)code = json.loads(response.text).get("code")text = json.loads(response.text).get("text")if code != 20000:print(response.text)return text
2.3 配置接口参数
client_secret和client_id:在文章1.2的官网获取,必填
file_path:文件保存路径,必填
audio_format:音频格式,默认wav,根据文件可以自己选填
sample_rate:采样率,默认16000,根据文件可以自己选填
add_pct:是否在静音处添加标点,默认true
# 获取命令行输入参数
def get_args():parser = argparse.ArgumentParser(description='ASR')parser.add_argument('-client_secret', type=str, required=True)parser.add_argument('-client_id', type=str, required=True)parser.add_argument('-file_path', type=str, required=True)parser.add_argument('--audio_format', type=str, default='wav')parser.add_argument('--sample_rate', type=str, default='16000')parser.add_argument('--add_pct', type=str, default='true')args = parser.parse_args()return args
2.4 完整demo
#!/usr/bin/env python
# coding: utf-8import requests
import json
import argparse# 获取access_token用于鉴权
def get_access_token(client_secret, client_id):grant_type = "client_credentials"url = "https://openapi.data-baker.com/oauth/2.0/token?grant_type={}&client_secret={}&client_id={}"\.format(grant_type, client_secret, client_id)try:response = requests.post(url)response.raise_for_status()except Exception as e:print(e)returnelse:access_token = json.loads(response.text).get('access_token')return access_token# 获取识别后文本
def get_text(file, headers):url = "https://asr.data-baker.com/asr/api?"response = requests.post(url, data=file, headers=headers)code = json.loads(response.text).get("code")text = json.loads(response.text).get("text")if code != 20000:print(response.text)return text# 获取命令行输入参数
def get_args():parser = argparse.ArgumentParser(description='ASR')parser.add_argument('-client_secret', type=str, required=True)parser.add_argument('-client_id', type=str, required=True)parser.add_argument('-file_path', type=str, required=True)parser.add_argument('--audio_format', type=str, default='wav')parser.add_argument('--sample_rate', type=str, default='16000')parser.add_argument('--add_pct', type=str, default='true')args = parser.parse_args()return argsif __name__ == '__main__':args = get_args()# 获取access_tokenclient_secret = args.client_secretclient_id = args.client_idaccess_token = get_access_token(client_secret, client_id)# 读取音频文件with open(args.file_path, 'rb') as f:file = f.read()# 填写Header信息audio_format = args.audio_formatsample_rate = args.sample_rateadd_pct = args.add_pctheaders = {'access_token': access_token, 'audio_format': audio_format, 'sample_rate': sample_rate,'add_pct': add_pct}text = get_text(file, headers)print(text)
2.5 执行
复制所有代码,确定音频为wav格式,采样率为16K,在命令行执行
python single_sentence_recognition.py -client_secret=你的client_secret -client_id=你的client_id -file_path=test.wav
结果
标贝科技 https://ai.data-baker.com/#/?source=qwer12
填写邀请码fwwqgs,每日免费调用量还可以翻倍
手把手使用Python语音识别,进行语音转文字相关推荐
- python语音识别(语音转文字)
存在问题: 将音频转化成文字进行输出 解决方案: 调用第三方百度的语音识别api进行语音识别 步骤: 1)安装百度提供的Python库:pip install baidu-aip 2)运行以下代码: ...
- 电脑可以用的免费配音软件,语音识别,语音转文字,文字转语音。
语音合成.语音识别.文字转语音和语音转文字都是联网使用的,集成了很多发音人.都是免费的,没有字数限制 下载地址:https://wwb.lanzoub.com/i2hau0gx91wh
- 讯飞语音识别之语音转文字------java
最近项目要用到语音识别的功能,网上找别人写的都不行,二话不说直接去讯飞官网注册下载了一个sdk,但是个人觉得sdk中并不是很明确的能运行实现功能,于是自己参考下载的sdk中的代码做了一个改动和封装.添 ...
- 电脑实现语音识别、语音转文字的方法?
在很多情况下,我们都需要将谈话内容进行录音,作为日后的保障,但有时候我们需要将语音中的文字转换成文档文字,这样方便于观看和编辑,那我们该怎么做才能识别语音.语音转文字呢?其实方法很简单的,我们只需要在 ...
- QT 系统学习 day06 ,摄像头,语音识别(语音转文字,文字转语音,Qt 的人脸识别系统),
1.调用摄像头,拍照,存储照片 1.摄像头文件 /******* 摄像头相关类 *****/ #include <QCamera> /*** 摄像头类 ***/ #include < ...
- Python讯飞语音转文字保存到文件
因为有朋友需要将录音转成文字, 给我的是m4a格式, 我给转成txt发给他的. 我找了找, 发现网上很多都是收费软件,而且转换结果不尽人意., 最后决定使用讯飞服务来完成转换, 讯飞语音转写api支持 ...
- 用python写一个语音转文字的代码
这是一个使用 Python 的 SpeechRecognition 库将语音转换为文本的示例代码: import speech_recognition as sr# 创建 Recognizer 对象 ...
- 语音识别(语音转文字) 语音合成(文字转语音)
[语音合成API]SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 // 语音播报 s ...
- 百度语音识别(语音转文字)vue版本 前端(后端需要做个请求转发即可)
这个项目需要用到语音识别,最后选择的是百度语音识别.原因第一是项目中用到的地方不大,属于微型和小型功能点,第二就是属于临时增加的需求,没有太多的时间去开发,第三就是后端对于自主开发语音识别觉得较为困难 ...
最新文章
- html5画布显示不出来,运行后html5画布没出来
- 【WPF】MVVM模式的3种command
- 发布可伸缩超网SCARLET,小米AutoML团队NAS三部曲杀青
- NAGIOS安装指南
- 6-18 23:50 day15
- Spring 连接 PostgreSQL
- warning: the frame size of 1040 bytes is larger than 1024 bytes
- 【转】Ubuntu 16.04 Nvidia驱动安装(run方式)
- Android官方开发文档Training系列课程中文版:布局性能优化之ListView的优化
- 乌龟git安装和使用
- PLSQL导入导出表结构及数据
- Visual Studio 拆分C#代码到多个cs文件
- QCC3040---FS(file system)中添加文件方法
- 开源或免费虚拟主机管理系统
- 函数图像的变换 与 解析式的变换 之关系
- 如何给视频添加特效字幕?分享一个简单好用的办法
- 浅谈sstream头文件
- 一文读懂Codex:基于Cosmos的跨链DeFi平台
- Leetcode 1626 计算器
- 首台android手机,黑莓首台Android系统曲面屏手机Priv 真机和视频曝光