Speech-To-Text in Python

Transcribe audio to text in Python with OpenAI's Whisper.

1 min read Updated

Transcribe an audio file to text in Python using OpenAI's Whisper model, choosing the model size that fits your hardware. The scripts are below.

Speech-To-Text in Python using Whisper.

Usage

python
from stt import Speech2Text

stt = Speech2Text(language = 'french')
text = stt.transcribe('audio.wav')

print(text)

stt.py

python
import whisper

class Speech2Text:
  def __init__(self, language: str, model = 'base'):
    self._model = whisper.load_model(model)
    self._decoding_options = whisper.DecodingOptions(fp16 = False, language = language)

  def transcribe(self, audio_file: str):
    audio = whisper.load_audio(audio_file)
    audio = whisper.pad_or_trim(audio)

    # make log-Mel spectrogram and move to the same device as the model
    mel = whisper.log_mel_spectrogram(audio).to(self._model.device)

    try:
      result = whisper.decode(self._model, mel, self._decoding_options)

      return result.text
    except:
      return '...'

Search articles

Type to filter articles. Use the arrow keys to move through results and Enter to open one. Press Escape to close.