吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AI語音識(shí)別-我給瀏覽器加了個(gè)語音搜索功能

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

1. 前言

隨著物聯(lián)網(wǎng)的發(fā)展,語音識(shí)別技術(shù)受到越來越多的關(guān)注,語音識(shí)別技術(shù)正積極推動(dòng)信息通信領(lǐng)域的革命,語音撥號(hào),語音郵件,語音輸入乃至語音操控等以語音識(shí)別為基礎(chǔ)的人機(jī)交互日益普及.盡管生物識(shí)別方式不斷增多,語音識(shí)別方式仍是主流方式.與其他生物識(shí)別技術(shù)相比,語音識(shí)別技術(shù)不僅具有非接觸,非侵入性,使用方便,不會(huì)遺失和忘記,不需記憶等特點(diǎn)。

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

語音采集功能使用QT的QAudioInput類來實(shí)現(xiàn),采集聲卡的PCM數(shù)據(jù),保存起來,通過華為云的語音識(shí)別HTTP接口完成文字識(shí)別,得到文字后再通過瀏覽器進(jìn)行搜索文字相關(guān)內(nèi)容。

實(shí)現(xiàn)效果如下:

image-20220106190739135

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

image-20220106190855680

image-20220106193216974

2. 創(chuàng)建語音服務(wù)器

2.1 使用語音服務(wù)

登錄華為云官網(wǎng): https://www.huaweicloud.com/

選擇產(chǎn)品-人工智能-語音交互服務(wù)-一句話識(shí)別。

image-20220106164835826

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

短語音識(shí)別是將口述音頻轉(zhuǎn)換為文本,通過API調(diào)用識(shí)別不超過一分鐘的不同音頻源發(fā)來的音頻流或音頻文件。適用于語音搜索、人機(jī)交互等語音交互識(shí)別場(chǎng)景。 支持免費(fèi)試用。

image-20220106165023581

免費(fèi)試用每日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

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

幾個(gè)重要的參數(shù):

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

image-20220106191232190

image-20220106191250256

2.3 接口地址總結(jié)

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

請(qǐng)求數(shù)據(jù)里的參數(shù)在前面截圖里介紹了,data就是音頻文件的base64編碼數(shù)據(jù)。

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

image-20220106192419443

識(shí)別成功返回的數(shù)據(jù):

{
   "trace_id": "567e8537-a89c-13c3-a882-826321939651",
   "result": {
     "text": "歡迎使用語音云服務(wù)。",
     "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": "服務(wù)"
       }
     ]
   }
 }

其中的text字段就是識(shí)別的文本數(shù)據(jù)。

3. 項(xiàng)目代碼示例

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

3.1 語音轉(zhuǎn)文字請(qǐng)求代碼

//語音轉(zhuǎn)文本
 void Widget::audio_to_text(QByteArray data)
 {
     function_select=0;
 ?
     QString requestUrl;
     QNetworkRequest request;
 ?
     //存放文件的BASE64編碼
     QString base64_Data;
 ?
     //設(shè)置請(qǐng)求地址
     QUrl url;
 ?
     //一句話識(shí)別的請(qǐng)求地址
     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;
 ?
     //設(shè)置請(qǐng)求地址
     QUrl url;
 ?
     //獲取token請(qǐng)求地址
     requestUrl = QString("https://iam.%1.myhuaweicloud.com/v3/auth/tokens")
                  .arg(SERVER_ID);
 ?
     //自己創(chuàng)建的TCP服務(wù)器,測(cè)試用
     //requestUrl="http://10.0.0.6:8080";
 ?
     //設(shè)置數(shù)據(jù)提交格式
     request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=UTF-8"));
 ?
     //構(gòu)造請(qǐng)求
     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);
 ?
     //發(fā)送請(qǐng)求
     manager- >post(request, text.toUtf8());
 }

3.3 華為云返回的結(jié)果處理

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2913

    文章

    44923

    瀏覽量

    377014
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    31513

    瀏覽量

    270330
  • 語音識(shí)別
    +關(guān)注

    關(guān)注

    38

    文章

    1742

    瀏覽量

    112924
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1035

    瀏覽量

    35533
  • 華為云
    +關(guān)注

    關(guān)注

    3

    文章

    2682

    瀏覽量

    17586
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HarmonyOS NEXT 應(yīng)用開發(fā)練習(xí):AI智能語音播報(bào)

    (Text-To-Speech,文本轉(zhuǎn)語音)技術(shù)將文本轉(zhuǎn)換為語音進(jìn)行播報(bào)。 當(dāng)然除了基本的文本輸入和播報(bào)功能外,我們還增加了語音
    發(fā)表于 01-06 15:33

    11個(gè)你應(yīng)當(dāng)使用FIREFOX瀏覽器的理由

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

    CES熱門技術(shù):語音識(shí)別

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

    1小時(shí)玩轉(zhuǎn)AI語音識(shí)別

    的海報(bào),便可獲得:1、免費(fèi)觀看直播特權(quán)2、參與直播互動(dòng)可得一份【AI語音及人臉識(shí)別系統(tǒng)開發(fā)文檔教程】。本群限時(shí)開放400人參加,活動(dòng)截止到2018年9月20日,福利將在活動(dòng)結(jié)束三個(gè)工作
    發(fā)表于 09-19 13:40

    直播福利:1小時(shí)玩轉(zhuǎn)AI語音識(shí)別

    的海報(bào),便可獲得:1、免費(fèi)觀看直播特權(quán)2、參與直播互動(dòng)可得一份【AI語音及人臉識(shí)別系統(tǒng)開發(fā)文檔教程】。本群限時(shí)開放400人參加,活動(dòng)截止到2018年9月20日,福利將在活動(dòng)結(jié)束三個(gè)工作
    發(fā)表于 09-19 13:46

    AI語音智能機(jī)器人開發(fā)實(shí)戰(zhàn)

    設(shè)計(jì)、再到現(xiàn)場(chǎng)寫代碼實(shí)現(xiàn)每一個(gè)子模塊的功能,一步步帶領(lǐng)大家開發(fā)出一款可量產(chǎn)的商用AI語音智能陪護(hù)機(jī)器人。學(xué)完整個(gè)課程,大家能夠全面掌握AI
    發(fā)表于 01-04 11:48

    通用型AI語音識(shí)別芯片音旋風(fēng)611如何?

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

    設(shè)計(jì)一個(gè)語音識(shí)別的模塊

    大,準(zhǔn)備識(shí)別的最大范圍能不能達(dá)到5米,或者說極限能夠達(dá)到幾米3:支持485長(zhǎng)距離通訊4:可多個(gè)串聯(lián),只要一個(gè)模塊識(shí)別語音,就觸發(fā)動(dòng)作?;蛘呤嵌鄠€(gè)
    發(fā)表于 09-12 22:34

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

    率是可以達(dá)到90%以上的;而對(duì)于一些不連接網(wǎng)絡(luò)的產(chǎn)品,如:移動(dòng)照明,按摩等,離線語音識(shí)別比在線的就更加適合,而且從價(jià)格方面來說,離線語音識(shí)別
    發(fā)表于 04-01 17:11

    自制基于ESP32的語音識(shí)別模塊

    來調(diào)試模塊,也可以通過UART接口對(duì)接單片機(jī)、arduino、DSP、FPGA等硬件,方便您實(shí)現(xiàn)語音識(shí)別功能語音識(shí)別模塊背面
    發(fā)表于 08-24 15:03

    【開發(fā)教程11】AI語音人臉識(shí)別(會(huì)議記錄儀-人臉打卡機(jī))-AI語音系統(tǒng)架構(gòu)

    傳送到CC3200,CC3200通過wifi把采集到的語音信號(hào)發(fā)送給服務(wù),服務(wù)再使用百度AI語音識(shí)別
    發(fā)表于 05-20 15:35

    【開發(fā)教程11】瘋殼·AI語音人臉識(shí)別(會(huì)議記錄儀-人臉打卡機(jī))-AI語音系統(tǒng)架構(gòu)

    傳送到CC3200,CC3200通過wifi把采集到的語音信號(hào)發(fā)送給服務(wù),服務(wù)再使用百度AI語音識(shí)別
    發(fā)表于 07-30 19:06

    【CC3200AI實(shí)驗(yàn)教程11】瘋殼·AI語音人臉識(shí)別-AI語音系統(tǒng)架構(gòu)

    傳送到CC3200,CC3200通過wifi把采集到的語音信號(hào)發(fā)送給服務(wù),服務(wù)再使用百度AI語音識(shí)別
    發(fā)表于 08-30 14:54

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

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

    語音數(shù)據(jù)集在智能語音搜索中的應(yīng)用與挑戰(zhàn)

    揮著重要作用,為系統(tǒng)提供了豐富的語音數(shù)據(jù)和信息,提高了搜索的準(zhǔn)確性和效率。本文將詳細(xì)介紹語音數(shù)據(jù)集在智能語音搜索中的應(yīng)用、面臨的挑戰(zhàn)以及未來
    的頭像 發(fā)表于 01-18 15:09 ?603次閱讀
    昆明百家乐官网装修装潢有限公司| 洛川县| 百家乐庄闲赢负表| 中牟县| 大发888娱乐城娱乐城| 赌百家乐官网庄闲能赢| 大发888黄金版网址| 网上百家乐危险| 那曲县| 大发888备用网站| 千亿百家乐官网的玩法技巧和规则| 浦县| 大发888 dafa888游戏| 百家乐官网15人桌布| 大发888贴吧| 百家乐赢钱海立方| 赌百家乐官网赢的奥妙| 百家乐官网真人视频出售| 淅川县| 大发888song58| 真人百家乐好不好玩| qq百家乐官网网络平台| 大发888 网站被攻击了| 在线百家乐大家赢| 百家乐官网网真人真钱群| 大发888出纳柜台| 金城百家乐平台| 百家乐官网娱乐场真人娱乐场| 百家乐官网赢钱lv| 大发888缺少casino组件common| 网络百家乐现金游戏哪里的信誉好啊| 网上百家乐官网赌博经历| 波克棋牌游戏大厅| 做生意风水关键吗| 百家乐官网斗地主在哪玩| 抚顺棋牌网| 网上百家乐哪家较安全| 破战百家乐官网的玩法技巧和规则| 有百家乐官网的游戏平台| 顶旺亚洲| 威尼斯人娱乐网官网|