Spaces:
Runtime error
Runtime error
from stt import Model | |
import gradio as gr | |
import numpy as np | |
model = 'stt-comodoro-czech-2022-05-31.tflite' | |
scorer = 'czech-large-vocab.scorer' | |
beam_width = 512 | |
lm_alpha = 0.94 | |
lm_beta = 2.52 | |
model = Model(model) | |
model.enableExternalScorer(scorer) | |
model.setScorerAlphaBeta(lm_alpha, lm_beta) | |
model.setBeamWidth(beam_width) | |
def reformat_freq(sr, y): | |
if sr not in ( | |
48000, | |
16000, | |
): # Deepspeech only supports 16k, (we convert 48k -> 16k) | |
raise ValueError("Unsupported rate", sr) | |
if sr == 48000: | |
y = ( | |
((y / max(np.max(y), 1)) * 32767) | |
.reshape((-1, 3)) | |
.mean(axis=1) | |
.astype("int16") | |
) | |
sr = 16000 | |
return sr, y | |
def transcribe(speech): | |
_, y = reformat_freq(*speech) | |
stream = model.createStream() | |
stream.feedAudioContent(y) | |
text = stream.intermediateDecode() | |
return text | |
with gr.Blocks() as blocks: | |
audio = gr.Audio(source="microphone", type="numpy", streaming=False, | |
label='Pokud je to třeba, povolte mikrofon pro tuto stránku, \ | |
klikněte na Record from microphone, po dokončení nahrávání na Stop recording a poté na Rozpoznat') | |
btn = gr.Button('Rozpoznat') | |
output = gr.Textbox(show_label=False) | |
btn.click(fn=transcribe, inputs=[audio], | |
outputs=[output]) | |
blocks.launch(enable_queue=True, debug=True, share=True) |