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.