Newer
Older
import os
from speechbrain.pretrained import EncoderDecoderASR
from sziszapangma.integration.service_core.asr.asr_base_processor import AsrBaseProcessor
from sziszapangma.integration.service_core.asr.asr_result import AsrResult
class SpeechbrainAsrProcessor(AsrBaseProcessor):
asr_model: EncoderDecoderASR
def __init__(self):
super().__init__()
self.asr_model = EncoderDecoderASR.from_hparams(
source="speechbrain/asr-transformer-transformerlm-librispeech"
)
def process_asr(self, audio_file_path: str) -> AsrResult:
transcription = self.asr_model.transcribe_file(audio_file_path)
os.remove(audio_file_path)
words = [it.lower() for it in transcription.split(' ')]
final_transcription = transcription.lower()
return AsrResult(words=words, full_text=final_transcription, words_time_alignment=None)
if __name__ == '__main__':
SpeechbrainAsrProcessor().start_processor()