最近有朋友查問在下,如何將語音轉文字,在下當推介在下之前製作使用 Web Speech Recognition API 工具
但在下的朋友並不是實時語音轉文字,而是錄製語音後轉成文字
沒有理由實時播放聲音檔,再用 Web Speech Recognition API 辨認輸出聲音
因此在網上尋找有沒有方便工具……
但在下的朋友並不是實時語音轉文字,而是錄製語音後轉成文字
沒有理由實時播放聲音檔,再用 Web Speech Recognition API 辨認輸出聲音
因此在網上尋找有沒有方便工具……
安裝 autosub
要正確執行 autosub 需要 CURL, FFmpeg, Python2
開啟 Terminal 輸入
開啟 Terminal 輸入
sudo apt-get install curl ffmpeg python2或 按此安裝CURL 、 按此安裝FFmpeg 、 按此安裝Python2
由於 autosub 需要使用 pip2安裝 但 Python2 已於 2020年2月終止更新
而新版本的 Linux發行版 都使用 Python3 ,因此不能經 Linux發行版 安裝 pip2
輸入
而新版本的 Linux發行版 都使用 Python3 ,因此不能經 Linux發行版 安裝 pip2
輸入
curl "https://bootstrap.pypa.io/get-pip.py" | sudo python2
安裝 pip2 後輸入
sudo pip install autosub安裝 autosub
執行 autosub
autosub 借用 FFmpeg 將影片檔及聲音檔 轉換成 Flac 再借用 Google Cloud Speech to Text API 製作 SRT字幕檔
以下是 autosub 的操作例子
查看還支援哪些語言及文字,輸入
以下是 autosub 的操作例子
autosub -S "zh-TW" -D "zh-TW" "media-file"
- -S 為 來源影片語言 (autosub 可接受的語言)
- -D 為 輸出字幕文字 (autosub 可接受的文字)
- media-file 為 來源檔案
查看還支援哪些語言及文字,輸入
autosub --list-languageautosub 預設使用 SRT 為輸出字幕格式,但支持其他字幕格式,輸入
autosub --list-formats決定輸出字幕格式後,輸入
autosub --format "subtitle-format" ......輸出對應字幕格式
安裝 pyTranscriber
到 https://github.com/raryelcostasouza/pyTranscriber/releases ,並選擇下載合適的版本
(在下使用 Linux 因此選擇 Linux版本,但 Linux版 的 Portable版 及 Installer版 其實是相同)
(在下使用 Linux 因此選擇 Linux版本,但 Linux版 的 Portable版 及 Installer版 其實是相同)
解壓縮後會有 install.sh
實際上可以直接執行 app/pyTranscriber 不需要安裝亦可
如果安裝 pyTranscriber 可以以 super user 執行 install.sh
要移除只需要執行 /opt/pyTranscriber/uninstall.sh 即可
sudo bash "install.sh"其實安裝過程只是將需要的檔案複製到 /opt/pyTranscriber/* 及 /usr/share/applications/pyTranscriber.desktop
要移除只需要執行 /opt/pyTranscriber/uninstall.sh 即可
安裝後可以在 主選單 開啟 pyTranscriber
執行 pyTranscriber
開啟 pyTranscriber 的主畫面
按 Select file(s) 選取需要聲音轉文字的影片檔或聲音檔 (可多選)
按 Select file(s) 選取需要聲音轉文字的影片檔或聲音檔 (可多選)
按 Output Location 選擇字幕檔的輸出位置
(預設會存放到 桌面)
(預設會存放到 桌面)
按 Audio Language 選擇合適的聲音來源語言
按 Transcribe Audio / Generate Subtitles 將聲音輸出成字幕檔
除了 SRT字幕檔, pyTranscriber 還會輸出 TXT純文字檔
pyTranscriber 只是提供圖形使用者界操作,背後實際都是使用 autosub 來執行
因此輸出結果與 autosub 大致上是相同
因此輸出結果與 autosub 大致上是相同
總結
在下在 YouTube 使用一些時間簡短的影片作為測試
如果內容是 一人發聲、一種語言、清晰、速度適中,輸出的字幕準確度會好高
但內容是 多人發聲、多種語言、速度太快太慢,輸出的字幕則比較多錯誤
但由於字幕檔都是純文字檔案,如果輸出的字幕內容有錯誤,可以立即修改
由於 autosub 背後是借助 Google Cloud Speech to Text API ,因此必須要具備 網絡功能 及 能存取Google 才能使用
如果內容是 一人發聲、一種語言、清晰、速度適中,輸出的字幕準確度會好高
但內容是 多人發聲、多種語言、速度太快太慢,輸出的字幕則比較多錯誤
但由於字幕檔都是純文字檔案,如果輸出的字幕內容有錯誤,可以立即修改
由於 autosub 背後是借助 Google Cloud Speech to Text API ,因此必須要具備 網絡功能 及 能存取Google 才能使用
This is a bit too complicated for me but ill have my nephew help me out a bit. Thanks
回覆刪除https://aab-edu.net/