Python Audio Transcription Enhanced with AssemblyAI’s Universal-1

Jessie A Ellis
Nov 25, 2024 17:52

Discover how to transcribe audio files using Python with AssemblyAI’s Universal-1, a model offering near-human accuracy and multiple pricing tiers for diverse needs.

Python Audio Transcription Enhanced with AssemblyAI's Universal-1

AssemblyAI has introduced its latest speech recognition model, Universal-1, setting a new benchmark for automated speech recognition (ASR) accuracy. This model is designed to achieve near-human transcription accuracy, even in challenging audio environments with accents, background noise, and complex phrases. According to AssemblyAI, the Universal-1 model is now accessible via the same web API as previous ASR models.

New Pricing Tiers for Universal-1

Alongside the launch of Universal-1, AssemblyAI has unveiled two new pricing tiers: Best and Nano. The Best tier is optimized for maximum accuracy, while the Nano tier offers a cost-effective solution supporting transcription in 99 different languages. This flexibility allows developers to choose the right balance of accuracy and cost for their specific needs.

Getting Started with the AssemblyAI Python SDK

To facilitate the transcription process, AssemblyAI provides an official Python SDK. Developers can easily install the SDK using the command:

pip install --upgrade assemblyai

After installing, users need to sign up for an AssemblyAI account to obtain an API key, which is necessary to authorize API calls in Python scripts.

Transcribing Audio Files with Universal-1

Once set up, developers can transcribe audio files by creating a Python script. By default, the SDK uses the Best tier for transcriptions, ensuring the highest accuracy. The process involves importing the SDK, configuring the API client with the API key, and specifying the audio file URL or local path.

import assemblyai as aai

aai.settings.api_key = "YOUR_API_KEY"
transcriber = aai.Transcriber()
audio_file = "https://storage.googleapis.com/aai-web-samples/5_common_sports_injuries.mp3"
transcript = transcriber.transcribe(audio_file)

if transcript.error:
    print(transcript.error)
else:
    print(transcript.text)

Running the script will output the transcription results in the terminal, demonstrating the model’s impressive capabilities.

Exploring the Nano Tier

For those seeking a more economical option, switching to the Nano tier is straightforward. Developers can adjust the TranscriptionConfig object to utilize the Nano model by setting the speech_model parameter to “nano”.

config = aai.TranscriptionConfig(speech_model="nano")
transcriber = aai.Transcriber(config=config)
transcript = transcriber.transcribe(audio_file)

This flexibility allows for efficient use of resources while still benefiting from AssemblyAI’s robust transcription capabilities.

Beyond Transcription: Additional Features

AssemblyAI’s offerings extend beyond basic transcription. The platform provides advanced features such as entity detection, content moderation, PII redaction, and the application of large language models (LLMs) to audio data. These capabilities enhance the utility of the transcription service, making it suitable for a wide range of applications.

Developers interested in leveraging these features can explore AssemblyAI’s documentation and research resources for further insights into building advanced speech AI solutions.

Image source: Shutterstock


Source: https://blockchain.news/news/python-audio-transcription-enhanced-assemblyai-universal-1