#!/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'])