Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import librosa | |
| import numpy as np | |
| import paddlehub as hub | |
| from paddlenlp import Taskflow | |
| from paddlespeech.cli import ASRExecutor | |
| import soundfile as sf | |
| # asr_model = hub.Module(name='u2_conformer_aishell') | |
| asr_executor = ASRExecutor() | |
| text_correct_model = Taskflow("text_correction") | |
| punc_model = hub.Module(name='auto_punc') | |
| def speech_recognize(file): | |
| data, sr = librosa.load(file) | |
| if sr != 16000: | |
| data = librosa.resample(data, sr, 16000) | |
| sf.write(file, data, samplerate=16000) | |
| print(f'[Audio Input] shape: {data.shape}, dtype: {data.dtype}, file: {file}') | |
| # text = asr_model.speech_recognize(file, device='cpu') | |
| text = asr_executor(file) | |
| text_correction = text_correct_model(text)[0] | |
| cor_text, errors = text_correction['target'], text_correction['errors'] | |
| print(f'[Text Correction] errors: {errors}') | |
| punc_text = punc_model.add_puncs(cor_text, device='cpu')[0] | |
| ret = '' | |
| ret += f'[ASR] {text}\n' | |
| ret += f'[COR] {cor_text}\n' | |
| ret += f'[PUN] {punc_text}' | |
| return ret | |
| iface = gr.Interface( | |
| fn=speech_recognize, | |
| inputs=gr.inputs.Audio(source="microphone", type='filepath'), | |
| outputs="text", | |
| ) | |
| iface.launch() | |