python调用百度语音(语音识别-斗地主语音记牌器)
一、概述
本篇简要介绍百度语音语音识别的基本使用(其实是斗地主时想弄个记牌器又没money,抓包什么的又不会,只好搞语音识别的了)
二、创建应用
打开百度语音官网,产品与使用->语音识别->立即使用->创建应用
出现如下页面

依照提示依次填写,最终结果

(ps:我就想弄个记牌的,就起了个计数器的名)
点右方的 ‘查看key’ 记下App ID,API Key,Secret Key。接下来要用到

需要安装模块 pip install baidu-aip
pip install pyaudio
语音识别代码
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '你记下的APP_ID'
API_KEY = '你记下的API_KEY'
SECRET_KEY = '你记下的SECRET_KEY'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 读取文件
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 识别本地文件
li=client.asr(get_file_content('01.pcm'), 'pcm', , {
'lan': 'zh',
}) print(li)
# 从URL获取文件识别
# client.asr('', 'pcm', , {
# 'url': 'http://121.40.195.233/res/16k_test.pcm',
# 'callback': 'http://xxx.com/receive',
# })
python录音代码
import wave
from pyaudio import PyAudio,paInt16 framerate=
NUM_SAMPLES=
channels=
sampwidth=
TIME=
def save_wave_file(filename,data):
'''save the date to the wavfile'''
wf=wave.open(filename,'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=,
rate=framerate,input=True,
frames_per_buffer=NUM_SAMPLES)
my_buf=[]
count=
while count<TIME*:#控制录音时间
string_audio_data = stream.read(NUM_SAMPLES)
my_buf.append(string_audio_data)
count+=
print('.')
save_wave_file('01.pcm',my_buf)
stream.close() chunk=
def play():
wf=wave.open(r"01.pcm",'rb')
p=PyAudio()
stream=p.open(format=p.get_format_from_width(wf.getsampwidth()),channels=
wf.getnchannels(),rate=wf.getframerate(),output=True)
while True:
data=wf.readframes(chunk)
if data=="":break
stream.write(data)
stream.close()
p.terminate() if __name__ == '__main__':
my_record()
print('Over!')
play()
效果如下图:

帮助文档:
三、后记
本代码未完全实现,有兴趣可自行整理,玩斗地主的时候声音可能要大点,因为识别有时候会报3001错误,音频质量过差,不过被打可别找我
python调用百度语音(语音识别-斗地主语音记牌器)的更多相关文章
- [视觉] 基于YoloV3的实时摄像头记牌器
基于YoloV3的实时摄像头记牌器 github:https://github.com/aoru45/cards_recognition_recorder_pytorch 最终效果 数据准备 数据获取 ...
- Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件
本示例的过程是: 1. 音频转文本 2. 利用文本获取情感倾向分析结果 3. 利用文本获取关键词提取 首先是讯飞的语音识别模块.在这里可以找到非实时语音转写的相关文档以及 Python 示例.我略作了 ...
- Python 调用百度翻译API
由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...
- Python调用百度地图API实现批量经纬度转换为实际省市地点(api调用,json解析,excel读取与写入)
1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:http://lbsyun.baidu.com/apiconsole/key?applicatio ...
- 用python实现的简易记牌器的demo
实现功能很简单: 初始时 1到10 以及 jkq各 4张,大小王 共两张 只要输入相应的牌号:1到10,例如 >>1 J.K.Q :例如>>j >> ...
- python调用百度语音识别接口实时识别
1.本文直接上干货 奉献代码:https://github.com/wuzaipei/audio_discern/tree/master/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5% ...
- python 调用百度接口 做人脸识别
操作步骤差不多,记得要在百度AIPI中的控制台中创建对应的工单 创建工单成功后 会生成两个key 这个两个key是要生成tokn 用 这里大家可以用 def函数 将token返回 供下面的接口使用 ...
- 爬虫-python调用百度API/requests
from urllib.request import urlopen import requests import json url = "http://apis.baidu.com/txa ...
- Python使用websocket调用语音识别,语音转文字
@ 目录 0. 太长不看系列,直接使用 1. Python调用标贝科技语音识别websocket接口,实现语音转文字 1.1 环境准备: 1.2 获取权限 1.2.1 登录 1.2.2 创建新应用 1 ...
随机推荐
- subList ArrayList LinkedList
List<E> subList(int fromIndex,int toIndex) 该方法返回原有集合从fromIndex 到 toIndex之间一部分数据,组成一个新的集合,这两个集合 ...
- Linux普通用户修改owner非本人文件为什么成功
关键字:错误提示:E45 已设定选项’readonly’(请加!强制执行) Linux对文件和目录有很好的权限管理,但今天遇到一个比较诡异的事情,普通用户对文件权限不可写,但可以强制保存该文件,这样就 ...
- 壮美大山包-2017中国大山包国际超百公里ITRA积分赛赛记
2017年4月份用时28个多小时跑完江南100,付出的代价是双脚多达8个以上的水泡.所以接下来的4月29日的环汶川越野赛果断的从60公里换到了30公里组,慢悠悠的完成了. 虽然在赛道上一度想再也不参加 ...
- web开发概述
1 Web概述 Web,在英语中表示网页的额意思,它用于表示Internet主机上供外界访问的资源. 2 Web的分类 按照服务器上的资源分类: 静态资源:指的是web页面中供人们浏览的数据是始终不变 ...
- Hadoop-2.6.5安装
简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoop实现了一个分布式文 ...
- mysql修改root用户密码
自我总结,欢迎拍砖! 目的:若root用户密码忘记,则需要重新设置root用户的密码. 步骤: 1.找到mysql安装目录下的 my.ini 文件,找到[mysqlId]一行,在下方添加语句:skip ...
- [PHP]全局使用 Composer 组件的思路
/** * 全局使用 composer 组件的步骤: * * 1. 建一个包含所有需要全局使用的composer包的项目. * 如:globalVendor/ * composer init 初始化 ...
- 多线程编程学习笔记——编写一个异步的HTTP服务器和客户端
接上文 多线程编程学习笔记——使用异步IO 二. 编写一个异步的HTTP服务器和客户端 本节展示了如何编写一个简单的异步HTTP服务器. 1.程序代码如下. using System; using ...
- javase学习小结三
格式标识符: System.out.printf("%d,%f,%5d,%-9.4f,%%,%13e",67,78.9,89,78.9,567.345); 输出结果为:67,78. ...
- 编译安装 apache 2.4.6
如果配置apr,需要预先安装apr 以下是安装apache 步骤: groupadd webuser useradd -g webuser webuser 下载apache2 下载链接:http:// ...