使用 DeepSpeech 在你的應(yīng)用中實(shí)現(xiàn)語音轉(zhuǎn)文字
應(yīng)用中的語音識別不僅僅是一個有趣的技巧,而且是一個重要的無障礙功能。
計(jì)算機(jī)的主要功能之一是解析數(shù)據(jù)。有些數(shù)據(jù)比其他數(shù)據(jù)更容易解析,而語音輸入仍然是一項(xiàng)進(jìn)展中的工作。不過,近年來該領(lǐng)域已經(jīng)有了許多改進(jìn),其中之一就是 DeepSpeech,這是 Mozilla 的一個項(xiàng)目,Mozilla 是維護(hù) Firefox 瀏覽器的基金會。DeepSpeech 是一個語音到文本的命令和庫,使其對需要將語音輸入轉(zhuǎn)化為文本的用戶和希望為其應(yīng)用提供語音輸入的開發(fā)者都很有用。
安裝 DeepSpeech
DeepSpeech 是開源的,使用 Mozilla 公共許可證(MPL)發(fā)布。你可以從其 ??GitHub?? 頁面下載源碼。
要安裝,首先為 Python 創(chuàng)建一個虛擬環(huán)境:
$ python3 -m pip install deepspeech --user
DeepSpeech 依靠的是機(jī)器學(xué)習(xí)。你可以自己訓(xùn)練它,但最簡單的是在剛開始時下載預(yù)訓(xùn)練的模型文件。
$ mkdir DeepSpeech
$ cd Deepspeech
$ curl -LO \
https://github.com/mozilla/DeepSpeech/releases/download/vX.Y.Z/deepspeech-X.Y.Z-models.pbmm
$ curl -LO \
https://github.com/mozilla/DeepSpeech/releases/download/vX.Y.Z/deepspeech-X.Y.Z-models.scorer
用戶應(yīng)用
通過 DeepSpeech,你可以將語音的錄音轉(zhuǎn)錄成書面文字。你可以從在最佳條件下干凈錄制的語音中得到最好的結(jié)果。然而,在緊要關(guān)頭,你可以嘗試任何錄音,你可能會得到一些你需要手動轉(zhuǎn)錄的東西。
為了測試,你可以錄制一個包含簡單短語的音頻文件:“This is a test. Hello world, this is a test”。將音頻保存為一個 ??.wav?
? 文件,名為 ??hello-test.wav?
?。
在你的 DeepSpeech 文件夾中,通過提供模型文件、評分器文件和你的音頻啟動一個轉(zhuǎn)錄:
$ deepspeech --model deepspeech*pbmm \
--scorer deepspeech*scorer \
--audio hello-test.wav
輸出到標(biāo)準(zhǔn)輸出(你的終端):
this is a test hello world this is a test
你可以通過使用 ??--json?
? 選項(xiàng)獲得 JSON 格式的輸出:
$ deepspeech --model deepspeech*pbmm \
-- json
--scorer deepspeech*scorer \
--audio hello-test.wav
這就把每個詞和時間戳一起渲染出來:
{
"transcripts": [
{
"confidence": -42.7990608215332,
"words": [
{
"word": "this",
"start_time": 2.54,
"duration": 0.12
},
{
"word": "is",
"start_time": 2.74,
"duration": 0.1
},
{
"word": "a",
"start_time": 2.94,
"duration": 0.04
},
{
"word": "test",
"start_time": 3.06,
"duration": 0.74
},
[...]
開發(fā)者
DeepSpeech 不僅僅是一個轉(zhuǎn)錄預(yù)先錄制的音頻的命令。你也可以用它來實(shí)時處理音頻流。GitHub 倉庫 ??DeepSpeech-examples?? 中有 JavaScript、Python、C# 和用于 Android 的 Java 等各種代碼。
大部分困難的工作已經(jīng)完成,所以集成 DeepSpeech 通常只是引用 DeepSpeech 庫,并知道如何從主機(jī)設(shè)備上獲得音頻(你通常通過 Linux 上的 ??/dev?
? 文件系統(tǒng)或 Android 和其他平臺上的 SDK 來完成。)
語音識別
作為一個開發(fā)者,為你的應(yīng)用啟用語音識別不只是一個有趣的技巧,而是一個重要的無障礙功能,它使你的應(yīng)用更容易被有行動問題的人、低視力的人和長期多任務(wù)處理的人使用。作為用戶,DeepSpeech 是一個有用的轉(zhuǎn)錄工具,可以將音頻文件轉(zhuǎn)換為文本。無論你的使用情況如何,請嘗試 DeepSpeech,看看它能為你做什么。