inital commit
This commit is contained in:
commit
af2dfa6430
3 changed files with 63 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
.venv
|
||||
audio
|
||||
model
|
29
left4dead_voices
Executable file
29
left4dead_voices
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
# download and put in folder 'audio': https://cloud.sublimity.de/s/2QP6PAWGTK57iSt
|
||||
# unpack and rename folder to 'model': https://alphacephei.com/vosk/models/vosk-model-en-us-0.22.zip
|
||||
|
||||
from vosk import Model, KaldiRecognizer
|
||||
import sys
|
||||
import json
|
||||
import os
|
||||
from glob import glob
|
||||
from random import random
|
||||
import wave
|
||||
|
||||
model = Model('model')
|
||||
|
||||
for path in sorted(glob('audio/**/*.wav', recursive= True), key=lambda k: random()):
|
||||
with wave.open(path, "rb") as wav:
|
||||
frame_rate = wav.getframerate()
|
||||
rec = KaldiRecognizer(model, 44100)
|
||||
|
||||
while True:
|
||||
data = wav.readframes(2000)
|
||||
|
||||
if len(data) == 0:
|
||||
break
|
||||
else:
|
||||
rec.AcceptWaveform(data)
|
||||
|
||||
print(f'{path} ({frame_rate}):'.ljust(70, ' '), json.loads(rec.FinalResult())['text'])
|
31
test
Executable file
31
test
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
from vosk import Model, KaldiRecognizer
|
||||
import sys
|
||||
import json
|
||||
import os
|
||||
import wave
|
||||
|
||||
model_path = "model"
|
||||
|
||||
if not os.path.exists(model_path):
|
||||
print ("Please download the model from https://github.com/alphacep/kaldi-android-demo/releases and unpack as 'model' in the current folder.")
|
||||
exit (1)
|
||||
|
||||
model = Model(model_path)
|
||||
|
||||
with wave.open(sys.argv[1], "rb") as wf:
|
||||
frame_rate = wf.getframerate()
|
||||
|
||||
rec = KaldiRecognizer(model, frame_rate)
|
||||
|
||||
while True:
|
||||
data = wf.readframes(2000)
|
||||
if len(data) == 0:
|
||||
break
|
||||
if rec.AcceptWaveform(data):
|
||||
print(json.loads(rec.Result()))
|
||||
else:
|
||||
print(json.loads(rec.PartialResult()))
|
||||
|
||||
print(json.loads(rec.FinalResult()))
|
Loading…
Reference in a new issue