Come utilizzare Whisper AI per la trascrizione audio dal vivo su Linux
Whisper AI è un modello avanzato di riconoscimento vocale automatico (ASR) sviluppato da OpenAI in grado di trascrivere l'audio in testo con una precisione impressionante e supporta più lingue. Sebbene Whisper AI sia progettato principalmente per l'elaborazione in batch, può essere configurato per la trascrizione vocale in tempo reale su Linux.
In questa guida, esamineremo il processo passo dopo passo per l'installazione, la configurazione e l'esecuzione di Whisper AI per la trascrizione in tempo reale su un sistema Linux.
Che cos'è Whisper AI?
Whisper AI è un modello di riconoscimento vocale open source addestrato su un vasto set di dati di registrazioni audio e si basa su un'architettura di deep learning che gli consente di:
- Trascrivi il parlato in più lingue.
- Gestisci gli accenti e il rumore di fondo in modo efficiente.
- Eseguire la traduzione della lingua parlata in inglese.
Poiché è progettato per una trascrizione ad alta precisione, è ampiamente utilizzato in:
- Servizi di trascrizione in tempo reale (ad esempio, per l'accessibilità).
- Assistenti vocali e automazione.
- Trascrizione di file audio registrati.
Per impostazione predefinita, Whisper AI non è ottimizzato per l'elaborazione in tempo reale. Tuttavia, con alcuni strumenti aggiuntivi, è in grado di elaborare flussi audio dal vivo per una trascrizione immediata.
Requisiti di sistema di Whisper AI
Prima di eseguire Whisper AI su Linux, assicurati che il tuo sistema soddisfi i seguenti requisiti:
Requisiti hardware:
- CPU: un processore multi-core (Intel/AMD).
- RAM: almeno 8 GB (si consigliano almeno 16 GB).
- GPU: GPU NVIDIA con CUDA (opzionale ma velocizza notevolmente l'elaborazione).
- Archiviazione: minimo 10 GB di spazio libero su disco per modelli e dipendenze.
Requisiti del software:
- Una distribuzione Linux come Ubuntu, Debian, Arch, Fedora, ecc.
- Python versione 3.8 o successiva.
- Gestore di pacchetti pip per l'installazione di pacchetti Python.
- FFmpeg per la gestione di file audio e flussi.
Passaggio 1: Installazione delle dipendenze necessarie
Prima di installare Whisper AI, aggiorna l'elenco dei pacchetti e aggiorna i pacchetti esistenti.
sudo apt update [On Ubuntu]
sudo dnf update -y [On Fedora]
sudo pacman -Syu [On Arch]
Successivamente, è necessario installare Python 3.8 o versioni successive e il gestore di pacchetti Pip come mostrato.
sudo apt install python3 python3-pip python3-venv -y [On Ubuntu]
sudo dnf install python3 python3-pip python3-virtualenv -y [On Fedora]
sudo pacman -S python python-pip python-virtualenv [On Arch]
Infine, è necessario installare FFmpeg, che è un framework multimediale utilizzato per elaborare file audio e video.
sudo apt install ffmpeg [On Ubuntu]
sudo dnf install ffmpeg [On Fedora]
sudo pacman -S ffmpeg [On Arch]
Passaggio 2: installa Whisper AI in Linux
Una volta installate le dipendenze richieste, è possibile procedere all'installazione di Whisper AI in un ambiente virtuale che consente di installare pacchetti Python senza influire sui pacchetti di sistema.
python3 -m venv whisper_env
source whisper_env/bin/activate
pip install openai-whisper
Una volta completata l'installazione, controlla se Whisper AI è stato installato correttamente eseguendolo.
whisper --help
Questo dovrebbe visualizzare un menu di aiuto con i comandi e le opzioni disponibili, il che significa che Whisper AI è installato e pronto per l'uso.
Passaggio 3: esecuzione di Whisper AI in Linux
Una volta installato Whisper AI, puoi iniziare a trascrivere i file audio utilizzando diversi comandi.
Trascrizione di un file audio
Per trascrivere un file audio (audio.mp3), eseguire:
whisper audio.mp3
Whisper elaborerà il file e genererà una trascrizione in formato testo.
Ora che tutto è installato, creiamo uno script Python per catturare l'audio dal microfono e trascriverlo in tempo reale.
nano real_time_transcription.py
Copiare e incollare il codice seguente nel file.
import sounddevice as sd
import numpy as np
import whisper
import queue
import threading
Load the Whisper model
model = whisper.load_model("base")
Audio parameters
SAMPLE_RATE = 16000
BUFFER_SIZE = 1024
audio_queue = queue.Queue()
def audio_callback(indata, frames, time, status):
"""Callback function to capture audio data."""
if status:
print(status)
audio_queue.put(indata.copy())
def transcribe_audio():
"""Thread to transcribe audio in real time."""
while True:
audio_data = audio_queue.get()
audio_data = np.concatenate(list(audio_queue.queue)) # Combine buffered audio
audio_queue.queue.clear()
# Transcribe the audio
result = model.transcribe(audio_data.flatten(), language="en")
print(f"Transcription: {result['text']}")
Start the transcription thread
transcription_thread = threading.Thread(target=transcribe_audio, daemon=True)
transcription_thread.start()
Start capturing audio from the microphone
with sd.InputStream(callback=audio_callback, channels=1, samplerate=SAMPLE_RATE, blocksize=BUFFER_SIZE):
print("Listening... Press Ctrl+C to stop.")
try:
while True:
pass
except KeyboardInterrupt:
print("\nStopping...")
Esegui lo script utilizzando Python, che inizierà ad ascoltare l'input del microfono e visualizzerà il testo trascritto in tempo reale. Parla chiaramente nel microfono e dovresti vedere i risultati stampati sul terminale.
python3 real_time_transcription.py
Conclusione
Whisper AI è un potente strumento di sintesi vocale che può essere adattato per la trascrizione in tempo reale su Linux. Per ottenere i migliori risultati, utilizza una GPU e ottimizza il tuo sistema per l'elaborazione in tempo reale.