语音识别应用程序将 MP3 转换为文本?

Kop*_*ano 35 software-recommendation speech-recognition

有人知道可以将音频转换为文本的应用程序吗?我正在运行 ubuntu 12.04 LTS。

小智 27

您可以使用的软件是Vosk-api,这是一种基于神经网络的现代语音识别工具包。它支持 7 种以上的语言,适用于包括 RPi 和移动在内的各种平台。

首先将文件转换为所需的格式,然后识别它:

ffmpeg -i file.mp3 -ar 16000 -ac 1 file.wav
Run Code Online (Sandbox Code Playgroud)

然后用pip安装vosk-api:

pip3 install vosk
Run Code Online (Sandbox Code Playgroud)

然后使用以下步骤:

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
Run Code Online (Sandbox Code Playgroud)

结果将以json格式存储。

同一目录还包含一个 srt 字幕输出示例,它更容易评估,并且可以直接对某些用户有用:

python3 -m pip install srt
python3 ./test_srt.py test.wav
Run Code Online (Sandbox Code Playgroud)

存储库中给出的示例以完美的美式英语口音和完美的音质表示,我将其转录为三个句子:

one zero zero zero one
nine oh two one oh
zero one eight zero three
Run Code Online (Sandbox Code Playgroud)

“九哦二一哦”说的很快,但还是清晰的。前一个“零”的“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
Run Code Online (Sandbox Code Playgroud)

所以我们可以看到犯了几个错误,大概部分是因为我们理解所有单词都是数字来帮助我们。

接下来,我还尝试vosk-model-en-us-aspire-0.2了 1.4GB 的下载量,而 36MB 的下载量vosk-model-small-en-us-0.3https://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
Run Code Online (Sandbox Code Playgroud)

结果是:

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
Run Code Online (Sandbox Code Playgroud)

又说对了一个词。

在 vosk-api 7af3e9a334fbb9557f2a41b97ba77b9745e120b3 上测试。

  • 好吧,我在 Ubuntu 14.04 的 Universe 存储库中安装了包 pocketsphinx-utils、pocketsphinx-hmm-en-hub4wsj 和 pocketsphinx-lm-en-hub4。然后`pocketsphinx_continuous -infile file.wav -hmm en_US/hub4wsj_sc_8k -lm en_US/hub4.5000.DMP 2> pocketsphinx.log` 工作。也许它们不是最佳软件包,但它们是我在存储库中可以找到的最佳匹配。 (4认同)

小智 13

我知道这是旧的,但是为了扩展 Nikolay 的答案,并希望在未来节省一些时间,为了获得最新版本的口袋狮身人面像工作,您需要从 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 ..
Run Code Online (Sandbox Code Playgroud)

然后,从: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
Run Code Online (Sandbox Code Playgroud)

然后你终于可以继续 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
Run Code Online (Sandbox Code Playgroud)

狮身人面像工作正常。我不会依赖它来制作文本的可读版本,但是如果您正在寻找特定的引用,它已经足够了,您可以搜索它。如果您使用 Xapian ( http://www.lesbonscomptes.com/recoll/ ) 之类的搜索算法,它接受通配符并且不需要精确的搜索表达式,则效果特别好。

希望这可以帮助。

  • 每件事都像魅力一样,但在我的情况下,我必须运行以下命令来修复`pocketsphinx_continuous:加载共享库时出错:libpocketsphinx.so.3:无法打开共享对象文件:没有这样的文件或目录` ----- --> `export LD_LIBRARY_PATH=/usr/local/lib` -------> `export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig` (4认同)

Coa*_*Web 11

如果您希望将语音转换为文本,您可以尝试打开 Ubuntu 软件中心并搜索Julius

描述

“Julius”是一款面向语音相关研究人员和开发人员的高性能、两遍大词汇量连续语音识别(LVCSR)解码器软件。

或者不在软件中心的另一个选项是Simon

... 是一个开源语音识别程序,取代了鼠标和键盘。

参考链接

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

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

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

  • 您能否在此答案中添加一个如何运行 Julius 的示例?从文档中可以清楚地看出这一点。 (2认同)