c# 百度语音思路以及核心

1.介绍

百度语音搜索,基于强大的语音识别能力,支持通过语音命令快速发起搜索,让搜索更快捷、更智能。
对比手机端的文本键盘输入,百度语音搜索是更自然的,符合移动设备的交互方式。
在百度强大的人工智能技术支持下,语音搜索前景广阔。语音等现代搜索引擎要做的是连接人与信息及
服务,它不仅会倾听,更懂得理解与思考,未来将更好地造福人类


2.使用步骤(建议结合百度语音识别官网的API一起看)

1、注册开放开放平台   

2.获取专属的百度API Key和 百度Secret Key

代码设计
3.依据专属的百度API Key和 百度Secret Key获取Access Token
使用HTTP请求 请求地址格式如下,建议用String类型拼接
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" +"&client_id=" + APIKey + "&client_secret=" + SecretKey

然后获取返回的Json数据,获取其中的“access_token”

ps:可以引用Newtonsoft.Json ,达到更高效编码

4.把要识别的语音保存为wav文件

5.使用HTTP请求把保存的wav文件上传,上传地址格式
"http://vop.baidu.com/server_api?lan="+ lan+ "&cuid="+ cuid+ "&token="+token

把保存wav文件转为流上传,在通过这个HTTP请求获取返回的Json数据,获取其中的
“result”识别信息或“err_msg”错误信息

3.代码核心展示

第一次HTTP请求
   /// <summary>
        ///HTTP请求  获取Access Token
        /// </summary>
        /// <param name="APIKey"></param>
        /// <param name="SecretKey"></param>
        private void GetToken(string APIKey, string SecretKey)
        {
            
            string getAccessUrl = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" +
             "&client_id=" + APIKey + "&client_secret=" + SecretKey;            
            JObject json = JObject.Parse(POST.GetPOST(getAccessUrl));
            token = json["access_token"].Value<string>();
        }

第二次HTTP请求
 public string WavToText(string filename, string lan)
        {
            ///http://vop.baidu.com/server_api?lan=zh&cuid=***&token=***
            ///Json格式
            if (File.Exists(filename))
            {
                string cuid = GetMAC();//获取MAC
                Byte[] byt = File.ReadAllBytes(filename);

                string uri = "http://vop.baidu.com/server_api?lan=" + lan + "&cuid=" + cuid + "&token=" + token;
                string html = POST.SetPosT(uri, byt);
                try
                {
                    JObject jsons = JObject.Parse(html);
                    if (jsons["err_msg"].Value<string>() == "success.")
                    {

                        return jsons["result"][0].ToString();
                    }
                    else
                    {
                        return jsons["err_msg"].Value<string>();
                    }
                }
                catch (Exception)
                {
                    //异常提示。表示返回的的非JSON数据,意味着参数错误或不支持格式
                    return html;
                }

            }
            else
            {
                return "文件不存在";
            }
        }


关注我的上传资源,里面一份代码,省略了第四步把要识别的语音保存为wav文件

为了弥补我失去了15分,我把积分设置为1分,如果不愿意也可以QQby我 892878525

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值