备案权重域名预定

 找回密碼
 加入我們

開源VOSK引擎免費語音轉文字部署 可作為視頻製作字幕工具

[複製鏈接]
小豬哼囔 發表於 2022-6-21 13:03:10 | 顯示全部樓層 |閱讀模式

步驟1:安裝Python3環境
前往 https://www.python.org/downloads/ 下載Windows環境版本(Python 3.8以上)。安裝過程中選中「Add Python directory to 'PATH' environment variable」。選中之後,Python可以像系統自帶命令一樣,在所有CMD目錄下運行。否則每次執行Python都需要輸入它的目錄位置。其他選項按默認即可。
(可選操作)步驟1a:替換下載鏡像為清華大學鏡像源
在命令行輸入 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
這樣對於國內用戶來說下載速度會更快
步驟2:安裝VOSK API庫
打開CMD(命令提示符)輸入 pip install vosk
步驟3:配置目錄並下載語音模型
在桌面創建 vosk 目錄。
前往 https://alphacephei.com/vosk/models 下載中文語音模型。
或者直接點擊下面的鏈接下載,並解壓到vosk目錄下。將解壓出來的目錄重命名為 「model」(不含引號)。
vosk-model-cn-0.1.zip
195M TBD Big narrowband Chinese model for server processing Apache 2.0
步驟4:下載ffmpeg
前往 https://github.com/BtbN/FFmpeg-Builds/releases 下載ffmpeg,並將 ffmpeg.exe 解壓到桌面 vosk 目錄內
步驟5:安裝並打開Notepad++ (或者使用你自己的高級文本編輯器)
前往 https://notepad-plus-plus.org/downloads/ 下載 notepad++
(國內鏡像:http://www.pc6.com/softview/SoftView_13941.html
安裝打開,並創建新文件,拷貝以下內容:
  1. #使用方法
  2. #拷貝語音模型到當前目錄下 並命名為 'model'
  3. #拷貝ffmpeg.exe文件到當前目錄下
  4. #執行 python test_ffmpeg.py speech.mp3 即可
  5. #!/usr/bin/env python3
  6. from vosk import Model, KaldiRecognizer, SetLogLevel
  7. import sys
  8. import os
  9. import wave
  10. import subprocess
  11. import json
  12. SetLogLevel(0)
  13. if not os.path.exists("model"):
  14. print ("Please download the model from https://alphacephei.com/vosk/models and unpack as 'model' in the current folder.")
  15. exit (1)
  16. sample_rate=16000
  17. model = Model("model")
  18. rec = KaldiRecognizer(model, sample_rate)
  19. process = subprocess.Popen(['ffmpeg', '-loglevel', 'quiet', '-i',
  20. sys.argv[1],
  21. '-ar', str(sample_rate) , '-ac', '1', '-f', 's16le', '-'],
  22. stdout=subprocess.PIPE)
  23. f = open("result.txt", "w+")
  24. while True:
  25. data = process.stdout.read(10000)
  26. if len(data) == 0:
  27. break
  28. if rec.AcceptWaveform(data):
  29. re = rec.Result()
  30. print(re)
  31. re = json.loads(re)
  32. f.write(re['text'] + '\n')
  33. else:
  34. print(rec.PartialResult())
  35. f.close()
  36. # print(rec.FinalResult())
複製代碼

另存為 vosk 目錄下的 voice2text.py 文件。
(可選步驟)步驟4a:調試命令行
步驟4給出的代碼最適合處理mp3錄音文件。如果你想要處理更多形式的音頻,例如實時錄音,或者更多的對話模式,例如電影對白,你可以參考官方的代碼,地址是 https://github.com/alphacep/vosk-api/tree/master/python/example
步驟4的代碼就是根據官方的 test_ffmpeg.py 代碼修改而來。
步驟6:運行程序並識別文字
將需要識別的mp3/wav/mp4等音視頻文件拷貝至 桌面的vosk目錄內。例如,我需要識別的文件為 story.mp3。
進入CMD環境,輸入 cd ~/Desktop/vosk 進入工作目錄,然後輸入 python voice2text.py story.mp3。
系統開始識別語音內容,你可以看到識別的文字在窗口內一段段顯示出來。
識別效果



最終結果將存儲到 vosk 目錄下的 result.txt 文件內。你可以在word中進一步處理這些內容。
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 加入我們

本版積分規則

备案权重域名预定

QQ|4um創業社區

GMT+8, 2024-5-20 20:07

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表