專案中用到的語音識別方案 硬體 軟體相關介紹

2021-09-07 18:17:09 字數 1078 閱讀 7450

自從amazon alexa音箱發布以來,各大廠家開始陸續發布自家的音箱,完善自家的生態系統。從以前的路由器,手機到現在的音箱,乙個個被認為或曾被認為是智慧型家居的入口,總會在市場上掀起一番風浪。

有幸在2023年完成了一款以語音互動為核心功能的產品,也算跟了一場大潮,對語音方面也有些相關的探索和思考。

語音識別主要有三大組成,語義識別平台,cpu主控,以及mic陣列;

主控方面:主要有三類,

第一,通用的cpu,如瑞芯微的平板方案,ti的數字處理晶元;

第二,專門針對語音推出的一些新的平台,如mt8516;

mic陣列:平台廠家如科大訊飛有自家的mic陣列,也有專門的硬體提供方,如聲智科技,地平線等

下面將大致介紹其每個模組的使用:

其中有幾點需要注意的地方:

第一:mic數量和aec數量,是根據具體的語音處理演算法來的。一般主流的是2mic+2ref,既節省成本效果也還不錯

第二:aec,需要從pa後端採回

第一:mic和ref處理方面,即普通的音訊讀取方式,驅動根據具體的codec來,一般主控廠家會提供

第二:將讀取到的音訊,根據語音識別演算法的格式要求封裝,一般語音識別廠家會提供對應cpu平台的開發sdk,基本不可能提供原始碼的,主要是mic+ref的資料混合

第三:熟悉語音sdk使用,主要有幾點:

1. 配置sdk環境和資源,主要有喚醒,aec,vad,拾音,雲端資源等,對於vad,拾音等模組,可以是cpu方提供,也可以是語音識別方提供,最終的具體效果需要兩方聯合除錯

2. 喚醒和識別的資料處理過程,一般來說有不同的處理方式,根據sdk要求提供相應的資料即可

4. 一般語音廠家會提供開發雲平台,我們可以自行選擇相應的技能或者開發自己的技能,比如訊飛開發平台,思必馳dui平台等,操作方式也類似

第一:vad,拾音,aec等聯合除錯比較複雜,也最費時間,產品效果好壞主在於此

第二:在選擇語音平台時,先考慮好自家主要需要哪些技能及後續可能會擴充套件的技能

第三:sdk的使用,比如執行緒安全,穩定性,需要長時間測試

專案中用到的python

import scipy.io as scio 資料輸入輸出,載入和儲存matlab檔案,例如下面 train norm scio.loadmat train norm file 這裡面包含兩個矩陣 train datan train labeln test norm scio.loadmat te...

git 專案中用到的命令

1 git status 檢視修改內容 2 git add 提交修改內容到快取 3 git commit m 修改內容 用來提交 到倉庫並顯示修改內容 4 git fetch origin develop git拉取同步遠端 5 git rebase orgin develop git同步本地 可能...

專案中用到的各種註解

repository 作用於持久層 autowired 自動注入 qualifier sessionfactory 指定自動注入裡面的哪個屬性 suppresswarnings 告訴它對被批註的 元素內部的某些警告保持靜默 repository dao 實現dao訪問 component 把普通po...