提高AutoSub語音轉文字辨識率的測試方法

AutoSub基本原理介紹

Google語音平台只能處理短語句,且不會回傳時間軸,因此語音的斷句是AutoSub以auditok模組做切割,再將切割後的一段一段的短語句傳給Google轉成文字再接收回來,AutoSub再加上時間軸而產生SRT檔案。

影響斷句效果的因素有下列幾個:
* 錄音設備的效果
* 錄音環境的雜音
* 說話的語氣、習慣
* 句間停頓的時間長短

我們測試的方法就是以變更auditok模組的參數來得到較佳的辨識率,以提升製作字幕的效率。

請留意:本人不具音效控制的知識,只能大致由autosub -h 的說明檔案裡 auditok 這段的參數來推測,因此若有音效專家發現問題,請留言告知。

測試AutoSub的批次檔

為了方便測試撰寫了一支測試用的批次檔 test.bat。請先由https://github.com/emisjerry/autosub-ahk/releases下載最新版的autosub-ahk後,將test.bat放置在解壓縮資料夾裡:

批次檔內容:https://gist.github.com/emisjerry/088c5e519c0337db4c281c0d03504d0b

set CURR_TIME=%TIME::=%
set OUTPUT=%CURR_TIME%.srt
set VIDEO_DIR=D:\jerry\ActivePresenter\autosub-ahk2\Video
set VIDEO_FILE=autosub-ahk.mp4
set PARAM=-et 55 -mxrs 6 -mxcs 0.2 -mnrs 0.8 
rem ----- Run it -----
autosub\autosub -S cmn-hant-tw -i "%VIDEO_DIR%\%VIDEO_FILE%" -o "%VIDEO_DIR%\%OUTPUT%" %PARAM%

start "subtitle" %VIDEO_DIR%\%CURR_TIME%.cmn-hant-tw.srt

控制參數有4個:

-et 控制音量
-mxrs 語句的最長秒數
-mxcs 連續靜音的最長秒數,語句之間的停頓秒數
-mnrs 語句的最短秒數

測試結果

測試的標的是我前先錄製的[AHK#36] 自製AutoSub圖形介面工具由影片產生字幕:AutoSub-AHK;Windows適用,總長6分20秒。

  1. pyTranscriber使用的AutoSub 0.4.0沒有變更auditok的參數,因此沒有變更或改善的機會。
  • 138個語句
  1. 0.5.7-Alpha預設的主要參數如下:
-et 45 -mxrs 10 -mxcs 0.2 -mnrs 0.5
  • 37個語句
  • 幾乎都是9.990秒語句
  1. 0.5.6-Alpha預設的主要參數如下:
-et 50 -mxrs 6 -mxcs 0.2 -mnrs 0.8
  • 73個語句
  • 有不少5.990秒的語句
  1. 用0.5.7-Alpha變更參數
-et 55 -mxrs 6 -mxcs 0.2 -mnrs 0.5
  • 137個語句
  • 約5個5.990秒語句
  1. 用0.5.7-Alpha變更參數
-et 55 -mxrs 6 -mxcs 0.1 -mnrs 0.5
  • 166個語句

教學影片

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

1 個回應

  1. 2022/06/21

    求職

    提高AutoSub語音轉文字辨識率的測試方法 | 簡睿隨筆 | 學習過程的紀錄與備忘

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *