speech-to-text / speech_to_text.py
MSchell0129
9
6f88b99
raw
history blame
968 Bytes
import openai
import whisper
import os
#need to make a change to be able to push
#This is another alternative, but this block allows for the detection of the language and it also provides lowever-level access to the model
def transcribe(aud_inp, whisper_lang):
if aud_inp is None:
return ''
model = whisper.load_audo('base')
#load audo and pad/trim it to fit 30seconds
audio = whisper.load_audio(aud_inp)
audio = whisper.pad_or_trim(audio)
#make log-Mel spectrogram and move to the same devcice as the model
mel = whisper.log_mel_spectogram(audio).to(model.device)
#detect the spoken language
_,probs = model.detect_language(mel)
print(f'Detected language: {max(probs, key=probs.get)}')
#decode the audio
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)
print(result.text)
return result
if __name__ == '__main__':
transcribe('audio_file_path', 'whisper-1')