Certamente! Aggiungere i timestamp (mm:ss) alle trascrizioni di Whisper AI può essere molto utile per navigare facilmente all'interno del testo trascritto e per sincronizzare le trascrizioni con l'audio originale. Whisper fornisce informazioni sui segmenti temporali durante la trascrizione, che puoi utilizzare per ottenere i timestamp desiderati.
### **Ottenere i Timestamp con Whisper AI**
Quando utilizzi Whisper per trascrivere un audio, il risultato include una lista di segmenti, ognuno con il proprio inizio e fine temporale. Puoi estrarre questi dati per ottenere i timestamp nel formato mm:ss.
#### **Esempio di Codice in Python**
Ecco un esempio di come puoi ottenere i timestamp utilizzando la libreria Python di Whisper:
```python
import whisper
# Carica il modello desiderato (es. "large")
model = whisper.load_model("large")
# Trascrivi l'audio
result = model.transcribe("tuo_file_audio.mp3")
# Itera attraverso i segmenti e stampa i timestamp con il testo
for segment in result['segments']:
start = segment['start'] # Inizio in secondi
end = segment['end'] # Fine in secondi
text = segment['text'].strip()
# Converti i secondi in mm:ss
start_min = int(start // 60)
start_sec = int(start % 60)
end_min = int(end // 60)
end_sec = int(end % 60)
start_timestamp = f"{start_min:02}:{start_sec:02}"
end_timestamp = f"{end_min:02}:{end_sec:02}"
print(f"[{start_timestamp} - {end_timestamp}] {text}")
```
#### **Spiegazione del Codice**
1. **Caricamento del Modello**: Carica il modello Whisper desiderato. I modelli più grandi (`"medium"`, `"large"`) offrono maggiore accuratezza ma richiedono più risorse.
2. **Trascrizione**: Utilizza il metodo `transcribe` per ottenere la trascrizione dell'audio. Il risultato include una chiave `'segments'` che contiene i segmenti trascritti con i relativi timestamp.
3. **Estrazione dei Timestamp**:
- Ogni `segment` ha le chiavi `'start'` e `'end'`, che rappresentano l'inizio e la fine del segmento in secondi.
- Converti i secondi in minuti e secondi utilizzando la divisione e il modulo.
- Formatta i timestamp nel formato `mm:ss`.
4. **Output**: Stampa il testo trascritto con i relativi timestamp.
#### **Esempio di Output**
```
[00:00 - 00:05] Ciao! Benvenuto nella trascrizione.
[00:05 - 00:10] Questo è un esempio di come aggiungere i timestamp.
...
```
### **Personalizzare i Timestamp**
Puoi personalizzare ulteriormente il formato dei timestamp o integrarlo nel tuo flusso di lavoro secondo le tue esigenze. Ad esempio, potresti voler salvare la trascrizione con i timestamp in un file di testo o in un formato specifico come JSON o SRT (utilizzato per i sottotitoli).
#### **Salvare in Formato SRT**
Il formato SRT è comunemente usato per i sottotitoli e include i timestamp in un formato specifico. Ecco come puoi convertire i segmenti di Whisper in formato SRT:
```python
import whisper
def seconds_to_srt_time(seconds):
hours = int(seconds // 3600)
minutes = int((seconds % 3600) // 60)
secs = int(seconds % 60)
millis = int((seconds - int(seconds)) * 1000)
return f"{hours:02}:{minutes:02}:{secs:02},{millis:03}"
# Carica il modello
model = whisper.load_model("large")
# Trascrivi l'audio
result = model.transcribe("tuo_file_audio.mp3")
# Crea il file SRT
with open("trascrizione.srt", "w", encoding="utf-8") as srt_file:
for i, segment in enumerate(result['segments'], start=1):
start = seconds_to_srt_time(segment['start'])
end = seconds_to_srt_time(segment['end'])
text = segment['text'].strip()
srt_file.write(f"{i}\n")
srt_file.write(f"{start} --> {end}\n")
srt_file.write(f"{text}\n\n")
```
#### **Spiegazione del Codice**
1. **Funzione `seconds_to_srt_time`**: Converte i secondi in formato `HH:MM:SS,mmm` richiesto dal formato SRT.
2. **Creazione del File SRT**:
- Itera attraverso i segmenti e assegna un numero progressivo a ciascuno.
- Scrive i timestamp e il testo nel formato SRT.
3. **Output**: Un file `trascrizione.srt` che può essere utilizzato con player video o editor di sottotitoli.
### **Considerazioni Finali**
- **Precisione dei Timestamp**: Whisper fornisce timestamp a livello di segmento. Se hai bisogno di una precisione maggiore (ad esempio, a livello di parola), potrebbe essere necessario un ulteriore processamento o utilizzare strumenti aggiuntivi.
- **Prestazioni**: Ricorda che utilizzare modelli più grandi migliora l'accuratezza ma aumenta i tempi di elaborazione. Bilancia le tue esigenze tra precisione e velocità.
- **Qualità dell'Audio**: Come menzionato in precedenza, assicurati che l'audio sia di alta qualità per ottenere i migliori risultati sia nella trascrizione che nei timestamp.
Spero che queste indicazioni ti aiutino ad aggiungere i timestamp alle tue trascrizioni con Whisper AI! Se hai ulteriori domande o necessiti di ulteriori dettagli, non esitare a chiedere.
Comments