Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement