天天看點

使用智能語音互動識别視訊中的音頻

本文将介紹如何将視訊檔案中的音頻剝離出來并使用阿裡雲智能語音互動的錄音檔案識别功能進行識别。

環境準備

  • 本文以Windows環境為例,請確定Git,Maven, Java已經安裝并配置成功。
  • 開通智能語音互動服務,具體步驟請參考: 開通服務
  • 建立智能語音互動項目,具體步驟請參考: 建立項目

項目建立成功後單擊建立的項目,您将在頁面上方擷取到對應項目的appkey,如下圖所示:

使用智能語音互動識别視訊中的音頻
  • 語音産生源:視訊檔案。
  • 所在行業:教育。
  • 語種/方言:中文國語(标準)。
  • 模型名稱:通用。
  • 來源:官方。
  • 适用場景:适用采樣16000語音。
  • 說明:通用(中文) 。
    使用智能語音互動識别視訊中的音頻
說明:在語音識别服務中,如果在您的業務領域有一些特有的詞,預設識别不出來的時候可以考慮使用熱詞功能,請參考 管理熱詞

操作步驟

  1. 選擇視訊檔案
  2. 抽取音頻檔案

    本文将使用格式工廠抽取視訊中的音頻檔案并對音頻進行轉換,配置等。

    1. 下載下傳格式工廠 位址
    2. 選擇輸出音頻格式

      本例中我們選擇MP3格式作為音頻格式。

    3. 添加檔案

      添加步驟1的視訊檔案作為源檔案。

    4. 配置輸出檔案

将輸出檔案的采樣率設定為項目支援的采樣率,本例中為16000Hz。

開始抽取

說明:智能語音互動錄音檔案識别 :
  • 支援單軌/雙軌的WAV格式、MP3格式的錄音檔案識别;
  • 支援8000Hz、16000Hz的采樣率;
  1. 将音頻檔案存放到OSS。

    具體步驟請參考

    上傳檔案
  2. 下載下傳示例項目

    下載下傳位址見附件

  3. 導入示例項目

    将示例項目導入到eclipse:

使用智能語音互動識别視訊中的音頻
  1. 設定音頻檔案通路連結

    将示例代碼中的音頻通路連結

    taskObject.put(KEY_FILE_LINK, "https://aliyun-nls.oss-cn-hangzhou.aliyuncs.com/asr/fileASR/examples/nls-sample-16k.wav")

    ; 替換成我們存儲到OSS的音頻檔案連結 。
  2. 運作配置:
    1. 右鍵示例項目,單擊 Run As →Run Configurations。
    2. 在彈出的Run Configurations界面中單擊 Arguments頁簽,在Program arguments輸入框中我們将依次輸入 AccessKey ID ,Access Key Secret和項目Appkey,如下圖所示:
      使用智能語音互動識别視訊中的音頻
    3. 單擊 Run 運作。

檢視識别結果

識别結果以及相關參數将列印在Eclipse控制台,如下圖所示:

使用智能語音互動識别視訊中的音頻

可以添加以下代碼過濾掉其他參數隻顯示中文結果:

if(result.getJSONObject("Result")!=null) {
           JSONArray jArray = result.getJSONObject("Result").getJSONArray("Sentences");
           for (java.util.Iterator tor=jArray.iterator();tor.hasNext();) {
               JSONObject sentence = (JSONObject)tor.next();
             System.out.println(sentence.get("Text"));
           }
            }           

過濾後的識别結果如下圖所示:

使用智能語音互動識别視訊中的音頻

(本文作者為阿裡雲大資料産品文檔工程師)