百度云语音识别,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 ...
随机推荐
- LeetCode_算法及数据结构覆盖统计
[输入]共计151道题的算法&数据结构基础数据 (见附录A) [输出-算法]其中有算法记录的共计 97道 ,统计后 结果如下 top3(递归,动态规划,回溯) 递归 动态规划 回溯 BFS ...
- xdebug的安装和配置方法
首先让php错误显示,仅仅须要改动php.ini其中的2条指令,把 displayerrors和htmlerrors都设置为On,例如以下所看到的 html_errors = On di ...
- Swift语言指南(九)--基本运算符
原文:Swift语言指南(九)--基本运算符 运算符(operator)是用来检查,改变或合并值的一种特殊符号或短语.例如,加号运算符让两个数字相加(如:let i = 1 + 2),还有些更复杂的运 ...
- [Attila GPU] ATTILA GPU Streamer Unit (D3D Input Assambler) 结构分析
http://www.opengpu.org/forum.php?mod=viewthread&tid=40&highlight=Attila 查看: 7488|回复: 26 [ ...
- Hadoop群集设置
Hadoop群集设置 近期特别看了Hadoop的资料.感觉特别好,整理一下发在自己的博客上,希望对想了解集群的网友有所帮助. 參考资料:http://hadoop.apache.org/docs/r1 ...
- 在C#编程中玩转枚举,分享我的EnumHelper。
在C#编程中玩转枚举,分享我的EnumHelper. 在软件开发过程中,我们经常会为特定的场景下的特定数据定义逻辑意义.比如在用户表中,我们可能会有一个用户状态字段,该字段为整形.如果该字段的值为1则 ...
- 初创互联网公司简明创业指南 - YC新掌门Sam Altman
本文只是一个创业指南的简明版 - 更详细的版本请查看:http://startupclass.samaltman.com 创业之前,你更应该去拥有一个好的创意,而不是一个公司.如果开始前你拥有一个好的 ...
- post与get,这两人到底神马区别??
甲曰:“1. GET使用URL或Cookie传参.而POST将数据放在BODY中. 2. GET的URL会有长度上的限制,则POST的数据则可以非常大. 3. POST比GET安全,因为数据在地址栏上 ...
- UiAutomator源码分析之注入事件
上一篇文章<UiAutomator源码分析之UiAutomatorBridge框架>中我们把UiAutomatorBridge以及它相关的类进行的描述,往下我们会尝试根据两个实例将这些类给 ...
- Mysql C语言API编程入门讲解
原文:Mysql C语言API编程入门讲解 软件开发中我们经常要访问数据库,存取数据,之前已经有网友提出让鸡啄米讲讲数据库编程的知识,本文就详细讲解如何使用Mysql的C语言API进行数据库编程. ...