最稳的pk10计划iphone 北京pk10计划手机软件 北京pk10数字的规律 超神手机版pk10软件 pk10北京赛车9码技巧 pk10四期倍投计划表 pk10极速赛车论坛 北京赛车冠军怎样选5码 北京赛车系统下载安装 pk10教程视频 北京pk10选号公式 北京赛车pk10赚钱技巧 北京赛车怎么提升概率 pk10技巧北京快三 北京pk10大小计划
VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
當前位置:
首頁 > 編程開發 > c#教程 >
  • C#教程之微信小程序代辦清單任務之語言識別功能

  • 2019-04-13 17:15 來源:未知

 最近想給自己的代辦清單任務微信小程序想加個語音識別識別功能,廢話不多說,直接說重點,語音識別使用的是百度語音識別api,因為微信小程序的錄音輸入文件目前只能是mp3或aac 但是百度語音識別不支持這兩種(百度api接口文檔上有說明),所以需要把音頻格式轉換一下,我這邊使用的是Alvas.Audio.dll轉換的,目前沒發現什么問題。

百度云賬號地址:https://login.bce.baidu.com/

Alvas.Audio下載地址:https://download.csdn.net/download/u014265946/11094962

 1、登錄百度云賬號后打開百度語音頁面

創建一個語音識別的應用,記錄應用的相關信息,如果API Key、Secret Key  ....下載sdk......這里廢話就不多說了api文檔上面都有 https://ai.baidu.com/docs#/ASR-Online-Csharp-SDK/top。

(這是需要注意的是百度提供的sdk引用的Newtonsoft.Json    10.0.0.0 以上的版本,所以如果您項目中使用的是低版本的,必須升級Newtonsoft.Json)

2、下載 Alvas.Audio.dll 引用到項目中,

直接上代碼

復制代碼
    public class AudioHelper
    {

        /// <summary>
        /// Mp3 to Pcm
        /// </summary>
        /// <param name="stream"></param>
        /// <returns></returns>
        public static byte[] Mp3ToPcm(Stream stream)
        {
            try
            {
                //mp3 -> mp3 mono 48000 samples per second example
                //int sps = 48000;

                Mp3Reader mr = new Mp3Reader(stream);
                IntPtr formatMp3 = mr.ReadFormat();
                byte[] dataMp3 = mr.ReadData();
                mr.Close();
                IntPtr formatPcm = AudioCompressionManager.GetCompatibleFormat(formatMp3, AudioCompressionManager.PcmFormatTag);
                //mp3 -> pcm
                byte[] dataPcm = AudioCompressionManager.Convert(formatMp3, formatPcm, dataMp3, false);

                return dataPcm;
            }
            catch (System.Exception ex)
            {
                LogManager.DefaultLogger.ErrorFormat("Mp3 to Pcm 出錯:{0}", ex.ToString());
                return null;
            }
        }
    }
復制代碼

 

上傳語音到百度云平臺上識別語音

復制代碼
    /// <summary>
    /// 百度語音識別幫助
    /// </summary>
    public class BaiduHelper
    {

        private readonly static Asr Client = new Baidu.Aip.Speech.Asr("你的 Api Key", "你的 Secret Key");

        /// <summary>
        /// 語音識別
        /// </summary>
        /// <param name="data">語音內容</param>
        /// <param name="text">文本內容</param>
        /// <param name="format">語音文件的格式,pcm 或者 wav 或者 amr。不區分大小寫。推薦pcm文件,</param>
        /// <param name="rate">采樣率,16000,固定值</param>
        /// <param name="devPid">默認1537(普通話 輸入法模型)。dev_pid 必須為整數類型。參數可選值見REST API文檔說明</param>
        /// <returns></returns>
        public static bool Recognize(byte[] data, out string text, string format = "pcm", int rate = 16000, int devPid = 1536)
        {
            text = "";
            Client.Timeout = 120000;

            var options = new Dictionary<string, object>
             {
                {"dev_pid", devPid}
             };

            var jObject = Client.Recognize(data, format, rate, options);

            if ((int)jObject.GetValue("err_no") == 0)
            {
                text = jObject["result"][0].ToString();
                return true;
            }
            else
            {
                return false;
            }
        }
    }
復制代碼

 

 微信小程序錄音上傳的代碼我就就不貼了,網上很多。官方文檔介紹的也很詳細,整個流程就是微信小程序錄音上傳到后臺,后臺轉碼后通過百度語音識別api上傳到百度云平臺,返回結果后臺返回給前端。

 

下面也是比較坑的地方,截止到這里,語音識別基本完成了,我做到這里的時候發現將將程序發到服務器上,語音轉碼總是報錯,語音轉碼不成功,最后查找Alvas.Audio的官方文檔中給出了解決方案,

http://www.alvas.net/alvas.audio,articles.aspx#mp3-to-wav-without-desktop-experience

要么安裝桌面體驗,要么安裝庫文件,我選擇了安裝桌面體驗,具體怎么安裝桌面體驗,可以百度一下,(就像安裝iis一樣)

安裝桌面體驗參考地址:https://www.cnblogs.com/asdyzh/p/9826976.html 

這個時候你發布到服務器上的程序,音頻就會正常轉換了

 

下面恭請大家同行們體驗一下我的微信小程序,體驗一下我實現的語音識別功能,

 

簡單介紹一下我的微信小程序:

這個是個代辦清單任務的小程序,和備忘錄相似,主要是自己用方便,簡單方便,沒有復雜的設置,記錄自己的規劃,讓自己的工作生活變的有計劃。簡單而實用。發現用的人還挺多,為了更簡單,就加上了語音識別功能,在編輯任務的時候可以不用手打字,只要說話就能識別成文字,

 

使用語音識別的正確姿勢

長按輸入框上按鈕,最長可一次性轉換10秒語音,

 

希望同行們的支持,小的拖家帶口感謝您的支持,感謝您的賞了.........

 

 

pk10赛车冠军技巧
最稳的pk10计划iphone 北京pk10计划手机软件 北京pk10数字的规律 超神手机版pk10软件 pk10北京赛车9码技巧 pk10四期倍投计划表 pk10极速赛车论坛 北京赛车冠军怎样选5码 北京赛车系统下载安装 pk10教程视频 北京pk10选号公式 北京赛车pk10赚钱技巧 北京赛车怎么提升概率 pk10技巧北京快三 北京pk10大小计划
福彩237组选的关系 免费下载梭哈游戏 疯狂玩德州提现 经典捕鱼电玩城 近一期的福利彩票开奖 违法但赚钱的事 2014年规律6肖中特 疯狂德州能不能赢钱 宝鸡做什么赚钱