欧美精彩一区二区91|欧美日韩亚洲一区二区动漫|中文字幕在线一级|女人喷液全过程在线

<em id="ntkpq"><input id="ntkpq"></input></em>
<dl id="ntkpq"><thead id="ntkpq"></thead></dl>
<listing id="ntkpq"><b id="ntkpq"></b></listing>

  • <delect id="ntkpq"></delect>

    1. 百度遠場語音識別套件-開箱評測

      2019-08-07 10:15:06  來源:互聯(lián)網(wǎng)

      作者:周施樂

      遠場語音識別套件之開箱

      很榮幸,在2019年我依舊在百度AI平臺下茁壯成長,這次收到了來自百度的測試邀請,我將有機會拿到最新的前沿產(chǎn)品~為各位獻上來自前線的戰(zhàn)況~

      我在過去和百度語音打交道的這些日子,曾遇到過很多問題,比如識別慢、精度差。自身原因和設(shè)備原因太多,舉步艱難。我覺得一個非音頻內(nèi)行的人很難進一步提升在這一塊的性能與質(zhì)量。

      但現(xiàn)在,百度語音正不斷地完善,已經(jīng)推出多種我非常適用的新東西,例如:

      上個月剛上線的 百度語音識別極速版

      該項能力經(jīng)我自己特定樣本測試,可以提高識別速度約3~9倍,在上側(cè)傳送門的測試樣例中,最慢的普通版和最快的極速版耗時甚至相差24倍,可見該極速版,可謂是目前普通版的最佳替代方案了!

      這次我將為各位帶來的百度開發(fā)套件的新星啦

      遠場語音開發(fā)套件!

      這是一款很不錯的產(chǎn)品,就像之前的人臉開發(fā)套件一樣,他能有效幫助想要落地語音識別的企業(yè)和個人開發(fā)者們快速開發(fā)出屬于自己的業(yè)務(wù)產(chǎn)品。

      在本次產(chǎn)品的規(guī)格中,有三種配置可選,依次是:

      6+1環(huán)形麥陣列

      4mic線性陣列

      3mic三角陣列

      他們各有各的應(yīng)用場景,為了更好地提升各位未來的產(chǎn)品,一定要聽我說完他們的優(yōu)點喔!

      6+1環(huán)麥陣列

      6+1環(huán)形陣列由6顆麥克風圍繞一圈,中間分布一顆組成,可實現(xiàn):

      360零死角環(huán)繞聲場

      增強GSC聲源定位及波束形成效果

      基于非線性消除的AEC技術(shù)

      推薦用于智能音箱等智能家居產(chǎn)品。

      像現(xiàn)在主流的天貓精靈、小米音箱,都是采用的環(huán)形6麥陣列喔!

      還有像國外的amazon echo 采用了類似解決方案

      他可以做到無死角的識別和聲源定位喔!這還是值得玩一玩的~

      線性4麥陣列

      4mic陣列由4顆麥克風橫向排列

      陣型狹長占用空間小,可適配各種硬件結(jié)構(gòu)設(shè)計。

      推薦應(yīng)用于智能電視、平板、以及空調(diào)、冰箱等傳統(tǒng)白電產(chǎn)品。

      三角麥克陣列

      3mic陣列是由3顆麥克風三角形方式排列

      支持雙音區(qū),兼顧主/副駕的語音交互需求

      增強GSC聲源定位及波束形成效果

      基于非線性消除的AEC技術(shù)

      3mic也支持聲源定位喔

      本次我所收到的是4mic陣列套件呢。他也是帶有聲源定位的哦~

      廢話不多說,開箱開始!

      首先這次開發(fā)套件的外包裝精致小巧,方方正正的外包裝有種撲面而來的低調(diào)奢華與神秘感,不知道各位有沒有看過四驅(qū)兄弟呢?

      真是側(cè)漏著一股神秘的氣息呢!揭開它的面紗,看看里面吧

      包裝盒內(nèi)非常簡單明了,一張3折頁,簡單的說明書,開發(fā)套件本尊及數(shù)據(jù)線和電源線。

      說明書簡單介紹了包裝內(nèi)容清單、開發(fā)板的接口示意圖、硬件連接指南、測試方式和軟件開發(fā)環(huán)境搭建引導,比較簡單。

      我們來看一下開發(fā)套件本身吧,本套件使用的開發(fā)板是來自深圳市百能達電子有限公司和百度聯(lián)手打造的RK3308開發(fā)板,擁有128M的ram和128M的flash。cpu采用的是微芯瑞的rk3308,4核ARM Cortex-A35。

      wifi方面僅支持2.4g頻段,藍牙支持到4.0。

      在本套件上額外有一片wifi天線,所以wifi質(zhì)量杠杠的。

      麥克風可兼容上方的3種陣列。

      數(shù)據(jù)線是usb-micro,主要用于adb調(diào)試。

      所配套的是輸出為12V2A的電源。

      遠場語音識別套件之hello world(mac篇)

      點亮設(shè)備,插上usb線,我們即將進入環(huán)境配置階段。

      本篇使用macOS majave 10.14.4做演示。

      插入設(shè)備前,應(yīng)當保證自己的系統(tǒng)內(nèi)具備adb環(huán)境。在terminal內(nèi)確認一下

      至于如何安裝,可參考百度搜索下的各種adb部署文章~

      然后我們第一步首先要幫助開發(fā)套件連接到我們的wifi中來。

      根據(jù)《百度大腦-遠場語音開發(fā)套件-RK3308開發(fā)平臺使用說明.pdf》中所提到的wifi配置,可以順利完成入網(wǎng)。這里我做一遍操作

      使用數(shù)據(jù)線連接設(shè)備后,我們可以用

      adb devices命令查詢到開發(fā)套件

      隨后鍵入 adb shell,使用命令行調(diào)試設(shè)備

      cd /data/cfg 進入到wifi配置文件的目錄下

      通過vi命令打開配置文件

      默認情況下家用路由器的話,只需要修改ssid(wifi名稱)和psk(password key)即可。

      若wifi有特殊情況,自行添加

      key_mgmt=WPA-PSK // 加密方式

      # key_mgmt=NONE // 不加密

      修改完成后保存配置

      隨后輸入

      wpa_cli reconfigure

      wpa_cli reconnect

      指令激活重新聯(lián)網(wǎng)

      此時此刻,我們就完成了設(shè)備入網(wǎng)了。

      語音識別、合成都需要用到網(wǎng)絡(luò),所以一定要正確入網(wǎng)喔!

      (藍牙我目前用不到,所以暫時沒有繼續(xù)去配置)

      接著我們來嘗試啟動語音識別的demo程序,來看一看環(huán)境是否正常

      所有sdk資源及相關(guān)文件都在根目錄oem文件夾內(nèi)

      根據(jù)產(chǎn)品說明書,我們需要先啟動 alsa_audio_main_service服務(wù)。

      啟動它之前,我們需要對目錄權(quán)限進行相關(guān)修改賦予權(quán)限后進行啟動

      multi_4_2 指的是使用4陣列板聲卡2。后臺啟動

      然后使用 ps -A檢查一下服務(wù)是否正確啟動在后臺中

      啟動了alsa服務(wù)后,我們就可以去前往中啟動demo了

      樣例程序文件位于/oem/BDSpeechSDK/sample目錄中, 運行時依賴lib、resources、extern目錄中的庫及資源文件。

      所以我們需要在啟動時共享庫

      關(guān)于共享庫可以看這里

      我們運行指令

      cd /oem/BDSpeechSDK/sample/wakeup

      LD_LIBRARY_PATH=/oem ./e2e_wp_asr_test

      試著喊一下小度小度,今天天氣怎么樣試試?

      可以發(fā)現(xiàn),這次套件采用了流式識別喔!附帶中間結(jié)果的!

      并且在3米遠的位置,使用悄悄話的方式呼喚小度小度,也能成功喚醒!

      可能在英語方面還有待加強吧~

      (也許是我的英語太散裝了)

      關(guān)于語音合成

      示例程序會將文本456hello你好今天天氣不錯傳送給服務(wù)器,由服務(wù)器生成對應(yīng)的語音,保存為pcm文件,用戶可以進行播放體驗。

      在終端啟動語音合成功能,生成文本456hello你好今天天氣不錯對應(yīng)的語音。

      cd /oem/BDSpeechSDK/sample/tts

      LD_LIBRARY_PATH=/oem ./online_test

      測試程序暫未提供用戶傳入合成文本生成語音的功能,用戶可以參照樣例程序自行開發(fā)。

      運行結(jié)束后,會在當前目錄下生成一個xxx.pcm,其中xxx是一個測試時的時間戳.在終端執(zhí)行如下命令體驗語音合成效果

      aplay -t raw -c 1 -f S16_LE -r 16000 xxx.pcm

      遠場語音識別套件之交叉編譯SampleCode

      經(jīng)過了近一周的努力,總算能夠成功地將sample程序成功的交叉編譯出來了。

      本篇只針對如何成功交叉編譯,解決我遇到的問題而設(shè)立的。重點是交叉編譯的流程

      這邊我在mac上利用parallel部署了ubuntu虛擬機。為了重新確認一遍步驟,我重新裝了一臺機器并重頭進行了一遍步驟。并故意重現(xiàn)了我這幾天碰到過的錯誤及解決辦法,可能可以幫助到各位。

      這邊需要以下內(nèi)容:

      下載SDK

      將rk3308板子內(nèi)的oem內(nèi)BDSpeechSDK目錄復制到虛擬機內(nèi)??梢赃M行adb pull /oem/BDSpeechSDK指令download下來

      隨后將sdk放到虛擬機。我這里就直接放在了home根目錄

      rk3308的編譯在標準linux上是編不出來的。我們這里需要用到交叉編譯工具鏈,這是一個特殊的編譯器,可以認為是在A平臺編譯出B平臺才能運行的工具包。

      然后將交叉編譯鏈也復制到虛擬機里

      按要求構(gòu)建項目工程目錄結(jié)構(gòu)

      基于目前創(chuàng)建日期為4月23日的quick_start.md中所述

      mkdir my_specch_project

      cd my_speech_projects

      touch Makefile

      mkdir src

      touch src/main.cpp

      創(chuàng)建如下的目錄結(jié)構(gòu):

      my_speech_project/

      ├── Makefile

      └── src

      └── main.cpp

      我們到sample目錄下,創(chuàng)建project文件夾并創(chuàng)建src目錄,創(chuàng)建指定的文件

      編寫(copy) sample代碼

      sample/asr/wakeup/src中的e2e_wp_asr_test.cpp和在quick_start.md中都有相應(yīng)的demo代碼,這里我就直接將wakeup/src中的sample代碼拷貝到這里替換main.cpp

      這里先不做任何改動,就照搬就行。目前的第一目的是盡快正確交叉編譯并成功在板子上跑起來

      編寫(copy) Makefile代碼

      makefile可以幫助工程快速連接編譯,他能省掉很多功夫。由于本人不是純正的c++開發(fā)工程師,所以這里copy了quick_start.md中的makefile代碼

      這里容易出現(xiàn)的第一個問題:

      照搬后由于縮進,當你ctrlCV時,極有可能將縮進一起復制過來,所以這里需要將代碼縮進都去除,保持整潔。在后面編譯時我會演示出現(xiàn)縮進的錯誤提示,這里我繼續(xù)保持原有的格式。

      嘗試編譯

      在quick_start.md中編譯部分,要求我們配置完成后,在Makefile所在的目錄執(zhí)行

      這里 path-to-cross-compiler-root需要替換成我們工具鏈的根目錄/bin即可

      /host其實就是我們工具鏈的根目錄

      那在我這樣的目錄環(huán)境,等效替換成了

      這里會出現(xiàn)很多問題。如果上方的操作跟我一樣,那你也很有可能碰到這些問題!

      錯誤1. Makefile:18

      由于特殊縮進導致的makefile編譯錯誤

      錯誤具體提示如下

      經(jīng)過我多次測試,我打了很多空行也會錯在第18行這里。后來解決的方法就是將縮進全部去除就可以了!

      錯誤2.undefined reference

      消除了上方的縮進后再次進行編譯,會出現(xiàn)新的提示:

      這個錯誤是因為缺少alsa的so庫導致的。這個錯誤也被寫在了quick_start.md中

      如果遇到類似 ld: 找不到 -lbd_alsa_audio_client的錯誤,請開發(fā)者自行從官網(wǎng)下載alsa服務(wù)包或自行從開發(fā)套件中/ome/目錄下提取相關(guān)庫放到工程下參與鏈接即可。

      這邊我們從oem目錄中pull一個文件下來。他在/oem目錄下,名為libbd_alsa_audio_client.so。將它復制到BDSpeechSDK/lib下,這個目錄專門放外部依賴的庫文件,這個也放這里吧。

      然后再次嘗試編譯,沒有任何錯誤提示了,編譯通過

      然后在Makefile的同目錄上就可以看到一個main的可執(zhí)行程序了。這個程序是可以在rk3308的環(huán)境下執(zhí)行的。將它通過adb放到板子里。這里提醒下,tmp目錄在斷電后會清洗。

      (這里省略adb push ./main /tmp的過程)

      嘗試adb下打開main

      我們的main也依賴于alsa的服務(wù),所以在這里直接將alsa設(shè)置成開機啟動得了。

      /oem/Rklunch.sh這個文件就是rk3308板子開機后會跑的一個執(zhí)行文件,我們可以把所有需要在開機時啟動的東西,都寫在這個文件里,這樣板子下次就會幫我們自動啟動alsa了。

      這里新增了幾行代碼,主要是改一下目錄權(quán)限,然后運行alsa服務(wù)。

      但是這一次還是沒有啟動的,需要自己手動啟動一下alsa。啟動方式就是上面5句話。

      這里也可以通過reboot指令重啟板子,但是tmp剛放進來的main文件就被洗掉了,但可以檢驗開機啟動是否正常,這個自行權(quán)衡吧~

      啟動alsa后我們?nèi)觤ain

      如果看到這個輸出,那么我們離成功不遠了。但是其中有一句輸出影響了整個程序。這不是編譯問題!

      錯誤3. dat file invalid

      error:5, domain:38, desc:Wakeup: dat file invalid., sn:

      這里意思是沒成功載入dat文件。

      我們看一下代碼。在wakeup_config函數(shù)中,可以看到它配置dat文件的路徑,是../../resources/esis_resource.pkg

      只要把這個層級改成絕對路徑,或者把路徑改短 ./esis_resource.pkg,并把pkg文件拷貝過來即可

      然后重新編譯,adb push到tmp下,這里省略

      記得把dat文件也push到tmp下,如果跟我的改法一樣的話

      然后再次執(zhí)行main

      可以發(fā)現(xiàn)喚醒進入回調(diào)激活了引擎加載和啟動喚醒。

      我們這時候可以嘗試使用了.

      小度小度,今天上海天氣如何?

      至此已經(jīng)完成了demo項目工程的交叉編譯工作。

      這只是默認sample程序編譯出來的效果喔,還有很多隱藏功能帶解鎖。

      這是我7天來的努力成果,如果這篇文章對你有所幫助,請給一個贊吧~

      文章關(guān)鍵詞: 責編:Admin

      圖文推薦

      熱聞推薦

      天天新聞網(wǎng)版權(quán)所有

      報錯:admin@qq.com (非誠勿擾)   QQ: 123456

      贛ICP備17003504號