在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AI語音識別-我給瀏覽器加了個語音搜索功能

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2023-07-10 09:18 ? 次閱讀

1. 前言

隨著物聯網的發展,語音識別技術受到越來越多的關注,語音識別技術正積極推動信息通信領域的革命,語音撥號,語音郵件,語音輸入乃至語音操控等以語音識別為基礎的人機交互日益普及.盡管生物識別方式不斷增多,語音識別方式仍是主流方式.與其他生物識別技術相比,語音識別技術不僅具有非接觸,非侵入性,使用方便,不會遺失和忘記,不需記憶等特點。

本篇文章就采用華為云提供的在線語音識別服務給瀏覽器設計一個語音自動搜索的功能,編程語言采用C++,軟件框架采用QT設計,瀏覽器內核采用QWebEngineView,在QT5.7以后,QT里就不支持webkit了,目前自帶的瀏覽器內核是QWebEngineView,只能使用MSVC編譯編譯,mingw要使用瀏覽器可以單獨下載webkit的庫,或者使用COM組件調用IE瀏覽器,當前文章里使用的瀏覽器是QWebEngineView,編譯器采用VS2017,32bit。

語音采集功能使用QT的QAudioInput類來實現,采集聲卡的PCM數據,保存起來,通過華為云的語音識別HTTP接口完成文字識別,得到文字后再通過瀏覽器進行搜索文字相關內容。

實現效果如下:

image-20220106190739135

點擊界面上的 ”開始語音采集“按鈕,就可以說話,說完點擊停止采集,然后調用華為云的語音識別接口進行語音識別,在下面的顯示框上顯示識別到的文字,然后再完成瀏覽器自動搜索。

image-20220106190855680

image-20220106193216974

2. 創建語音服務器

2.1 使用語音服務

登錄華為云官網: https://www.huaweicloud.com/

選擇產品-人工智能-語音交互服務-一句話識別。

image-20220106164835826

短語音識別地址: https://www.huaweicloud.com/product/asr.html

短語音識別是將口述音頻轉換為文本,通過API調用識別不超過一分鐘的不同音頻源發來的音頻流或音頻文件。適用于語音搜索、人機交互等語音交互識別場景。 支持免費試用。

image-20220106165023581

免費試用每日500次。

image-20220106165205406

image-20220106165217533

image-20220106165234937

image-20220106165403583

image-20220106170045851

2.2 HTTP接口使用介紹

文檔地址: https://support.huaweicloud.com/api-sis/sis_03_0094.html

image-20220106170707976

在線調試接口地址: https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=SIS&api=RecognizeShortAudio

幾個重要的參數:

本地音頻采集的頻率、通道數都得與參數匹配。

image-20220106191232190

image-20220106191250256

2.3 接口地址總結

請求地址: "https://{endpoint}/v1/{project_id}/asr/short-audio"
 ?
 請求數據:
 {
     "config": {
         "audio_format": "ulaw8k8bit",
         "property": "chinese_8k_common",
         "add_punc": "yes",
         "digit_norm": "yes",
         "need_word_info": "yes"
     },
     "data": "/+MgxAAUeHpMAUkQAANhuRAC..."
 }
 ?
 請求頭里要帶: X-Auth-Token 參數

請求數據里的參數在前面截圖里介紹了,data就是音頻文件的base64編碼數據。

請求地址里的endpoint字段、project_id字段、還有X-Auth-Token字段只要是訪問華為云的任何API接口都需要填,獲取方法看這里: https://bbs.huaweicloud.com/blogs/317759 翻到2.3小節。

image-20220106192419443

識別成功返回的數據:

{
   "trace_id": "567e8537-a89c-13c3-a882-826321939651",
   "result": {
     "text": "歡迎使用語音云服務。",
     "score": 0.9,
     "word_info": [
       {
         "start_time": 150,
         "end_time": 570,
         "word": "歡迎"
       },
       {
         "start_time": 570,
         "end_time": 990,
         "word": "使用"
       },
       {
         "start_time": 990,
         "end_time": 1380,
         "word": "語音"
       },
       {
         "start_time": 1380,
         "end_time": 1590,
         "word": "云"
       },
       {
         "start_time": 1590,
         "end_time": 2070,
         "word": "服務"
       }
     ]
   }
 }

其中的text字段就是識別的文本數據。

3. 項目代碼示例

下面列出核心的代碼,主要是就是字符串拼接格式,拼接完發送http請求即可。

3.1 語音轉文字請求代碼

//語音轉文本
 void Widget::audio_to_text(QByteArray data)
 {
     function_select=0;
 ?
     QString requestUrl;
     QNetworkRequest request;
 ?
     //存放文件的BASE64編碼
     QString base64_Data;
 ?
     //設置請求地址
     QUrl url;
 ?
     //一句話識別的請求地址
     requestUrl = QString("https://sis-ext.%1.myhuaweicloud.com/v1/%2/asr/short-audio")
             .arg(SERVER_ID)
             .arg(PROJECT_ID);
     qDebug()< "requestUrl:"<

3.2 更新token代碼

/*
 功能: 獲取token
 */
 void Widget::GetToken()
 {
     //表示獲取token
     function_select=3;
 ?
     QString requestUrl;
     QNetworkRequest request;
 ?
     //設置請求地址
     QUrl url;
 ?
     //獲取token請求地址
     requestUrl = QString("https://iam.%1.myhuaweicloud.com/v3/auth/tokens")
                  .arg(SERVER_ID);
 ?
     //自己創建的TCP服務器,測試用
     //requestUrl="http://10.0.0.6:8080";
 ?
     //設置數據提交格式
     request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=UTF-8"));
 ?
     //構造請求
     url.setUrl(requestUrl);
 ?
     request.setUrl(url);
 ?
     QString text =QString("{"auth":{"identity":{"methods":["password"],"password":"
     "{"user":{"domain": {"
     ""name":"%1"},"name": "%2","password": "%3"}}},"
     ""scope":{"project":{"name":"%4"}}}}")
             .arg(MAIN_USER)
             .arg(IAM_USER)
             .arg(IAM_PASSWORD)
             .arg(SERVER_ID);
 ?
     //發送請求
     manager- >post(request, text.toUtf8());
 }

3.3 華為云返回的結果處理

//解析反饋結果
 void Widget::replyFinished(QNetworkReply *reply)
 {
     QString displayInfo;
     int statusCode = reply- >attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
 ?
     //讀取所有數據
     QByteArray replyData = reply- >readAll();
 ?
     qDebug()< "狀態碼:"<

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2909

    文章

    44691

    瀏覽量

    373836
  • AI
    AI
    +關注

    關注

    87

    文章

    30979

    瀏覽量

    269252
  • 語音識別
    +關注

    關注

    38

    文章

    1741

    瀏覽量

    112683
  • 瀏覽器
    +關注

    關注

    1

    文章

    1028

    瀏覽量

    35381
  • 華為云
    +關注

    關注

    3

    文章

    2555

    瀏覽量

    17451
收藏 人收藏

    評論

    相關推薦

    11你應當使用FIREFOX瀏覽器的理由

    安全。與IE不同的是,火狐不允許瀏覽器安裝ActiveX控件 。 ActiveX其實是一可以在線更新Internet Explorer和Windows 的程序。但是它也一非常大的危險,那就是為
    發表于 11-26 16:31

    CES熱門技術:語音識別

    ”理念,通過語音控制、動作控制和面部識別等技術手段,實現智能用戶與智能電視間的互動關聯。用戶只需要簡單地說聲“你好,電視”(Hi, TV)就可以開啟語音控制,說聲“網絡瀏覽器”(Web
    發表于 02-06 13:27

    1小時玩轉AI語音識別

    的海報,便可獲得:1、免費觀看直播特權2、參與直播互動可得一份【AI語音及人臉識別系統開發文檔教程】。本群限時開放400人參加,活動截止到2018年9月20日,福利將在活動結束三工作
    發表于 09-19 13:40

    直播福利:1小時玩轉AI語音識別

    的海報,便可獲得:1、免費觀看直播特權2、參與直播互動可得一份【AI語音及人臉識別系統開發文檔教程】。本群限時開放400人參加,活動截止到2018年9月20日,福利將在活動結束三工作
    發表于 09-19 13:46

    AI語音智能機器人開發實戰

    設計、再到現場寫代碼實現每一子模塊的功能,一步步帶領大家開發出一款可量產的商用AI語音智能陪護機器人。學完整個課程,大家能夠全面掌握AI
    發表于 01-04 11:48

    通用型AI語音識別芯片音旋風611如何?

    近日,國產原生芯片品牌探境科技宣布全球首款通用型AI語音識別芯片——音旋風611(英文名稱:Voitist611)目前正式進入批量供貨量產并已獲得大量客戶的認可和采用。這款芯片將適用于各種需要
    發表于 09-11 11:52

    設計一語音識別的模塊

    大,準備識別的最大范圍能不能達到5米,或者說極限能夠達到幾米3:支持485長距離通訊4:可多個串聯,只要一模塊識別語音,就觸發動作。或者是多個
    發表于 09-12 22:34

    語音識別】你知道什么是離線語音識別和在線語音識別嗎?

    率是可以達到90%以上的;而對于一些不連接網絡的產品,如:移動照明,按摩等,離線語音識別比在線的就更加適合,而且從價格方面來說,離線語音識別
    發表于 04-01 17:11

    自制基于ESP32的語音識別模塊

    來調試模塊,也可以通過UART接口對接單片機、arduino、DSP、FPGA等硬件,方便您實現語音識別功能語音識別模塊背面
    發表于 08-24 15:03

    【開發教程11】AI語音人臉識別(會議記錄儀-人臉打卡機)-AI語音系統架構

    傳送到CC3200,CC3200通過wifi把采集到的語音信號發送給服務,服務再使用百度AI語音識別
    發表于 05-20 15:35

    【開發教程11】瘋殼·AI語音人臉識別(會議記錄儀-人臉打卡機)-AI語音系統架構

    傳送到CC3200,CC3200通過wifi把采集到的語音信號發送給服務,服務再使用百度AI語音識別
    發表于 07-30 19:06

    【CC3200AI實驗教程11】瘋殼·AI語音人臉識別-AI語音系統架構

    傳送到CC3200,CC3200通過wifi把采集到的語音信號發送給服務,服務再使用百度AI語音識別
    發表于 08-30 14:54

    請問語音識別如何停止?

    現在整合了語音識別和音樂播放功能識別到喚醒詞
    發表于 03-10 08:31

    語音控件引入了火狐Firefox瀏覽器

    Firefox Voice 是 Mozilla 的一項新實驗,剛剛作為 Beta 版本發布。該實驗將語音控件引入 Firefox Web 瀏覽器,目前僅適用于桌面版 Firefox。
    的頭像 發表于 01-13 09:20 ?1468次閱讀

    語音數據集在智能語音搜索中的應用與挑戰

    揮著重要作用,為系統提供了豐富的語音數據和信息,提高了搜索的準確性和效率。本文將詳細介紹語音數據集在智能語音搜索中的應用、面臨的挑戰以及未來
    的頭像 發表于 01-18 15:09 ?562次閱讀
    主站蜘蛛池模板: 国产一级αv片免费观看| 在线免费看污视频| 综合久| 热久热| 福利视频一区二区| 亚洲成人免费在线观看| 四虎一影院区永久精品| 日本成人视屏| 婷婷射| 日韩一级影院| 久久这里只有精品1| 欧洲色| 亚洲伦理一区二区| 天天摸夜夜摸夜夜狠狠摸| 四虎4hu永久免费国产精品| 琪琪see色原网一区二区| 久久99综合| 99色婷婷| 人操人碰| 六月丁香激情综合成人| 美女扒开尿口让男生添 漫画 | 亚洲精品在线不卡| 婷婷性| 亚洲欧洲精品成人久久曰影片| 涩999| 精品四虎免费观看国产高清| 91色在线观看| 欧美在线视频看看| 黄色网免费观看| 69精品在线| 欧美a网站| 五月婷婷狠狠| 毛片毛| 免费看一级视频| 国产欧美在线一区二区三区| 天天射天天干| 啪一啪日一日| 一二三区乱码一区二区三区码 | 免费高清在线视频色yeye| jizz免费一区二区三区| 日本天堂影院|