當前位置: 首頁>>技術教程>>正文


Speech-recognition 應用程序將 MP3 轉換為文本?

,

問題描述

有人知道可以將音頻轉換為文本的應用程序嗎?我正在運行 ubuntu 12.04 LTS。

最佳思路

您可以使用的軟件是 Vosk-api ,這是一種基於神經網絡的現代語音識別工具包。它支持 7 種以上的語言,適用於包括 RPi 和移動在內的各種平台。

首先將文件轉換為所需的格式,然後識別它:

ffmpeg -i file.mp3 -ar 16000 -ac 1 file.wav

然後使用 pip 安裝 vosk-api:

pip3 install vosk

然後使用以下步驟:

git clone https://github.com/alphacep/vosk-api
cd vosk-api/python/example
wget https://alphacephei.com/kaldi/models/vosk-model-small-en-us-0.3.zip
unzip vosk-model-small-en-us-0.3.zip
mv vosk-model-small-en-us-0.3 model
python3 ./test_simple.py test.wav > result.json

結果將以json格式存儲。

同一目錄還包含一個 srt 字幕輸出示例,它更容易評估,並且可以直接對某些用戶有用:

python3 -m pip install srt
python3 ./test_srt.py test.wav

存儲庫中給出的示例以完美的美式英語口音和完美的音質表示,我將其轉錄為三個句子:

one zero zero zero one
nine oh two one oh
zero one eight zero three

“九哦二一哦”說的很快,但還是清晰的。前一個 “zero” 的 “z” 聽起來有點像 “s”。

上麵生成的 SRT 內容如下:

1
00:00:00,870 --> 00:00:02,610
what zero zero zero one

2
00:00:03,930 --> 00:00:04,950
no no to uno

3
00:00:06,240 --> 00:00:08,010
cyril one eight zero three

所以我們可以看到犯了幾個錯誤,大概部分是因為我們理解所有單詞都是數字來幫助我們。

接下來,我還嘗試了 vosk-model-en-us-aspire-0.2,它是 1.4GB 的下載量,而 vosk-model-small-en-us-0.3 的下載量為 36MB,並在 https://alphacephei.com/vosk/models 中列出:

mv model model.vosk-model-small-en-us-0.3
wget https://alphacephei.com/vosk/models/vosk-model-en-us-aspire-0.2.zip
unzip vosk-model-en-us-aspire-0.2.zip
mv vosk-model-en-us-aspire-0.2 model

結果是:

1
00:00:00,840 --> 00:00:02,610
one zero zero zero one

2
00:00:04,026 --> 00:00:04,980
i know what you window

3
00:00:06,270 --> 00:00:07,980
serial one eight zero three

又說對了一個詞。

在 vosk-api 7af3e9a334fbb9557f2a41b97ba77b9745e120b3 上測試。

次佳思路

我知道這是舊的,但是為了擴展 Nikolay 的答案並希望在未來節省一些時間,為了讓 Pocksphinx 的 up-to-date 版本正常工作,您需要從 github 或 sourceforge 存儲庫編譯它(不確定哪個保留更多最新)。注意 -j8 意味著如果可能的話並行運行 8 個單獨的作業;如果您有更多 CPU 內核,則可以增加數量。

git clone https://github.com/cmusphinx/sphinxbase.git
cd sphinxbase
./autogen.sh
./configure
make -j8
make -j8 check
sudo make install
cd ..
git clone https://github.com/cmusphinx/pocketsphinx.git
cd pocketsphinx
./autogen.sh
./configure
make -j8
make -j8 check
sudo make install
cd ..

然後,從:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English/ 下載最新版本的 cmusphinx-en-us-....tar.gzen-70k-....lm.gz

tar -xzf cmusphinx-en-us-....tar.gz
gunzip en-70k-....lm.gz

然後你終於可以繼續 Nikolay 的回答中的步驟:

ffmpeg -i book.mp3 -ar 16000 -ac 1 book.wav
pocketsphinx_continuous -infile book.wav \
    -hmm cmusphinx-en-us-8khz-5.2 -lm en-70k-0.2.lm \
    2>pocketsphinx.log >book.txt

獅身人麵像工作正常。我不會依賴它來製作文本的可讀版本,但是如果您正在尋找特定的引用,它已經足夠了,您可以搜索它。如果您使用 Xapian ( http://www.lesbonscomptes.com/recoll/ ) 之類的搜索算法,它接受通配符並且不需要精確的搜索表達式,則效果特別好。

希望這可以幫助。

第三種思路

如果您希望將語音轉換為文本,您可以嘗試打開 Ubuntu 軟件中心並搜索 Julius

描述

“Julius” is a high-performance, two-pass large vocabulary continuous speech recognition (LVCSR) decoder software for speech-related researchers and developers.

或者不在軟件中心的另一個選項是 Simon

… is an open-source speech recognition program and replaces the mouse and keyboard.

參考鏈接

http://julius.sourceforge.jp/en_index.php

http://sourceforge.net/projects/speech2text/

http://simon-listens.org/index.php?id=122&L=1

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/12161.html,未經允許,請勿轉載。