Transcribe Short Audio#

Make sure you have completed Quickstart step before proceeding with this guide.

In this example, we will transcribe a short audio (< 60 seconds) and print out the recognized words.

transcribe_file_short.py

from soniox.transcribe_file import transcribe_file_short
from soniox.speech_service import SpeechClient


# Do not forget to set your API key in the SONIOX_API_KEY environment variable.
def main():
    with SpeechClient() as client:
        result = transcribe_file_short("../test_data/test_audio.flac", client)
        for word in result.words:
            print(f"{word.text} {word.start_ms} {word.duration_ms}")


if __name__ == "__main__":
    main()

We create a SpeechClient object which handles all the communication between your program and Soniox. We use the with statement to cleanup the client object after it is no longer needed.

We then call the transcribe_file_short() function with the created client object and a short audio file test_audio.flac (part of soniox_examples GitHub repository). The function reads the entire audio file and sends it to Soniox for transcription. It returns an instance of the Result structure, which contains the recognized words. Each word is an instance of the Word structure, which contains the text of the recognized word as well as its timestamps.

Run

python3 transcribe_file_short.py

Output

He 180 60
was 420 60
two 660 60
...