百度云语音识别,Audio2Txt(c#)
百度云识别没有提供c#版本的sdk,下面给个c#的
1、打开网址http://developer.baidu.com/
2、登陆
3、管理控制台》开发者服务管理
4、创建工程
5、输入名称,点击创建
6、点击左边【媒体云】》【语音识别】》申请开启语音服务,申请内容写的诚恳一点,一般2天就可以通过了,开通成功后右上角有消息提示,注意观察
7、申请通过后,就可以来弄了
可以自己先看下百度提供的文档
下面上代码 然后再详细解释
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Threading; namespace TestBaiDuAudio2Txt
{
public partial class Form1 : Form
{
string token = "";
string filename = Application.StartupPath + "\\3.wav";
string apiKey = "";//对应百度云界面基本信息的API Key
string secretKey = "";//对应百度云界面基本信息的Secret Key
string cuid = "";//这个随便写 不过尽量写唯一的,比如自己创建个guid,或者你手机号码什么的都可以
string getTokenURL = "";
string serverURL = "http://vop.baidu.com/server_api";
public Form1()
{
InitializeComponent();
cuid = Guid.NewGuid().ToString();
// getToken();
// Post();
} //这个方法得到一个密钥,这个密钥可以使用1个月,1个月之后要重新请求一次获得一个
private void getToken()
{
getTokenURL = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" +
"&client_id=" + apiKey + "&client_secret=" + secretKey;
token = GetValue("access_token");
} private string GetValue(string key)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(getTokenURL);
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader1 = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string ssss = reader1.ReadToEnd().Replace("\"", "").Replace("{", "").Replace("}", "").Replace("\n", "");
string[] indexs = ssss.Split(',');
foreach (string index in indexs)
{
string[] _indexs = index.Split(':');
if (_indexs[] == key)
return _indexs[];
}
return "";
} private void Post()
{ serverURL += "?lan=en&cuid=kwwwvagaa&token=" + token;
FileStream fs = new FileStream(filename, FileMode.Open);
byte[] voice = new byte[fs.Length];
fs.Read(voice, , voice.Length);
fs.Close();
fs.Dispose(); HttpWebRequest request = null; Uri uri = new Uri(serverURL);
request = (HttpWebRequest)WebRequest.Create(uri);
request.Timeout = ;
request.Method = "POST";
request.ContentType = "audio/wav; rate=8000";
request.ContentLength = voice.Length;
try
{
using (Stream writeStream = request.GetRequestStream())
{
writeStream.Write(voice, , voice.Length);
writeStream.Close();
writeStream.Dispose();
}
}
catch
{
return;
}
string result = string.Empty;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8))
{
string line = string.Empty;
StringBuilder sb = new StringBuilder();
while (!readStream.EndOfStream)
{
line = readStream.ReadLine();
sb.Append(line);
sb.Append("\r");
} // result = readStream.ReadToEnd(); result = sb.ToString(); //message = result.Substring(result.IndexOf("utterance") + 12);
//message = message.Substring(0, message.IndexOf("\""));
readStream.Close();
readStream.Dispose();
MessageBox.Show(result);
}
responseStream.Close();
responseStream.Dispose();
}
response.Close();
} this.textBox1.BeginInvoke(new MethodInvoker(delegate()
{
this.textBox1.Text = result;
})); } private void button1_Click(object sender, EventArgs e)
{
Thread th = new Thread(Post);
th.IsBackground = true;
th.Start();
} }
}
getToken()方法不需要每次都执行,这个方法返回一个密钥字符串,可以使用30天,你自己进行判断,将要过期的时候再请求一次得到个新的就可以了
request.ContentType = "audio/wav; rate=8000"; 这个地方注意一下,你可以在文档中看到支持6种格式,rate支持8000和16000,不过我使用8000识别有问题,你们自己可试一下
注意下:
语音识别接口支持 POST 方式
目前 API 仅支持整段语音识别的模式,即需要上传整段语音进行识别
语音数据上传方式有两种:隐示发送和显示发送
原始语音的录音格式目前只支持评测 8k/16k 采样率 16bit 位深的单声道语音
压缩格式支持:pcm(不压缩)、wav、opus、speex、amr、x-flac
系统支持语言种类:中文(zh)、粤语(ct)、英文(en)
还有一下其他的说明你可以看百度的文档,另外可以使用网络上的语音文件
还有不懂的地方 回帖问吧
百度云语音识别,Audio2Txt(c#)的更多相关文章
- 35.百度云语音识别接口使用及PyAudio语音识别模块安装
百度云语音识别接口使用: 百度云语音识别接口文档:https://cloud.baidu.com/doc/SPEECH/ASR-API.html#JSON.E6.96.B9.E5.BC.8F.E4.B ...
- 基于百度云的OCR识别(Python)
2019年7月3日早上,在百度AI开发者大会上,一个来自山西的青年,将一瓶矿泉水浇在了同样来自山西的李彦宏身上. 可以回顾一下 https://b23.tv/av57665929/p1 ,着实让人一惊 ...
- 配置mac百度云同步盘
1. 选择同步盘在电脑中的位置,该文件夹中的内容与云端保持一致.默认位置/Users/LemonVerbena/百度云同步盘.电脑同步盘的作用与百度云网盘的主页一样,下面可以包括多个同步文件夹. 2. ...
- 群福利:百度云管家-本地SVIP
效果 如果不想登录破解版的百度云(防止泄密)==>复制AppSettingApp.dat和users文件夹,这样你就可以免登录了 最稳定版本:https://yunpan.cn/cBTQc9Iu ...
- 谷歌浏览器下载地址 chrome最新版本 百度云地址
每次下载更新谷歌浏览器是一件很蛋疼的事情.百度搜索"谷歌浏览器下载地址",居然有很多骗子网站,相信有很多不知所以的人中招了.收集了一些chrome的安装包,放在了百度云里面(打不开 ...
- 解决:Linux版百度云客户端 BCloud网络错误 问题
国内很多云盘渐渐停止服务支持,如新浪.华为.115.360等... 强大的百度云,你会继续免费让大家使用吗? 今天在Linux上使用了liulang的BCloud百度云客户端,登陆之后不显示主页,什么 ...
- 利用百度云免费备份SQL数据库
我们开发了一个会员管理系统,随着使用的人越来越多,异地备份数据库就显得十分重要,万一硬盘出问题了怎么办呢.所以就着手做这个工作. 首先呢,找到了几个专门用来提供备份数据库的网站,一年好几百,好贵.放弃 ...
- 百度云 + GIT
百度云同步 百度云同步,会将本地的某个文件目录和云端进行同步.如果在本地将这个同步的目录设置为Git的中心服务器,那么本地push到中心服务器的内容也会被同步到云端.其他开发者只要也进行相同的设置,就 ...
- [教程]怎么用百度云观看和下载"磁力链接"无需下载直接观看.
1, 打开网址 http://okbt.net/ 输入你想要看的电影名字, 点搜索,鼠标右键点击拷贝磁力链接.或者 电脑装了迅雷的话.可以直接点击.用迅雷下载. 磁力链接都是这种格式的.例: mag ...
随机推荐
- HTML5 Introduction
1. HTML5 History HTML4.01 –1999.12 HTML5 – 2014.10– Done (8 years) In2006, WHATWG&W3C, decide to ...
- Android发展的一个重要方面Makefile分析
Android发展的一个重要方面Makefile分析 随着移动互联网的发展,移动开发也越来越吃香了.眼下最火的莫过于android.android是什么就不用说了,android自从开源以来,就受到非 ...
- Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸
依据 Unity插件之NGUI学习(2),创建一个UI Root,在UI Root下创建一个Texture作为背景图,并设置图片,在Wiget下调整大小:然后在UI Root下再创建一个Panel. ...
- HTML在Select具体的使用说明
<html> <head> <SCRIPT LANGUAGE="JavaScript"> <!-- //oSelect 列表的底部加入了一 ...
- 持续交付工具ThoughtWorks Go部署step by step
持续交付工具ThoughtWorks Go部署step by step http://blogs.360.cn/360cloud/2014/05/13/%E6%8C%81%E7%BB%AD%E4%BA ...
- TLD跟踪算法优化(一)并行化
才学疏浅,仅仅言片语,仅仅求志同道的朋友一起交流研究. 并行化不算是算法的改进,仅仅是追求执行的实时性. 简要列举一个样例: TLD算法的C++版本号源代码里: LKTracker::trackf2f ...
- SQL2005性能分析一些细节功能你是否有用到?(三)
原文:SQL2005性能分析一些细节功能你是否有用到?(三) 继上篇: SQL2005性能分析一些细节功能你是否有用到?(二) 第一: SET STATISTICS PROFILE ON 当我们比较查 ...
- java语言内部类和匿名内部类
内部类 在类定义也有类,在该类上的内部被称为一个内部类. 访问功能: 1,内部类可以直接访问外部类成员,它包含私有成员 2,外部类需要访问内部类的成员将需要建立一流的内部对象. 一般用于类的设计. 分 ...
- MVC EF 修改 封装类 通用泛型方法(一)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- MVC验证03-自定义验证规则、禁止输入某些值
原文:MVC验证03-自定义验证规则.禁止输入某些值 本文继续体验自定义验证规则,需求是禁止输入某些值.本文与前2篇相关,请参考:MVC验证01-基础.远程验证 MVC验证02-自定义验证规则.邮 ...