Lunedì 9 novembre 2026
L’edizione di oggi
Millebit
AI · Software · QA · Sicurezza
Il segnale, non il rumore.

Gli articoli di Millebit sono scritti con l’intelligenza artificiale a partire da fonti citate in ogni pezzo. Come lavoriamo

Intelligenza artificiale

Generare un voice-over per YouTube con poche righe di Python

Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.

Usare l'API di ElevenLabs insieme a Python e ffmpeg permette di creare, ottimizzare e sincronizzare l'audio senza registrare la voce manualmente.

Illustrazione generata con l’intelligenza artificiale

Apri script.txt, chiama l’API di ElevenLabs, salva l’audio. Il file è pronto per entrare in timeline. Il flusso in tre passaggi riduce scrittura, registrazione e pulizia a una singola richiesta HTTP1.

La base è un motore TTS di ElevenLabs, con voci pronte e un’API semplice. Il resto della pila è open source: Python per orchestrare, ffmpeg per gestire i media, piccole librerie di supporto. Lo script legge il testo, manda un POST all’endpoint di sintesi e scrive su disco i byte della risposta1.

Per iniziare serve un account ElevenLabs. Ci si registra, si copia la chiave nella sezione API e la si conserva in modo sicuro. Poi si sfoglia il catalogo e si annota l’ID della voce scelta. Il servizio offre un piano gratuito adatto ai prototipi. Chi ha bisogno di più crediti o di voci con qualità superiore può passare a un piano a pagamento1.

L’endpoint è questo: https://api.elevenlabs.io/v1/text-to-speech/{VOICE_ID}. L’header include xi-api-key con la chiave e Content-Type application/json. Nel payload vanno il testo e i parametri di voce. Due slider utili: stability e similarity_boost, impostati nell’esempio a 0.75 e 0.8. La risposta restituisce dati audio in formato compresso, che il codice salva così come arrivano. Un esempio usa VOICE_ID "21m0v3l3g8n9i4p" come segnaposto. Basta sostituirlo con l’ID selezionato nel catalogo1.

L’uscita è già pulita, ma una rifinitura aiuta l’integrazione nel video. Con ffmpeg si normalizza il volume alla soglia consigliata per YouTube: ffmpeg -i voiceover.mp3 -af loudnorm=I=-14:TP=-2:LRA=11 voiceover_normalized.mp3 Si può anche applicare una compressione leggera per rendere più uniforme la dinamica: ffmpeg -i voiceover_normalized.mp3 -af "compand=attacks=0.3:decays=0.8:points=-70/-70|-20/-20|-10/-10|0/0" voiceover_compressed.mp3 Questi passaggi si concatenano in uno script di shell o si integrano nel flusso Python con subprocess1.

Per l’unione con il girato ci sono due strade. Se il video è già montato, si sostituisce la traccia sonora: ffmpeg -i original_video.mp4 -i voiceover_compressed.mp3 -c:v copy -map 0:v:0 -map 1:a:0 -shortest final_video.mp4 Se si parte da zero, si crea un video da un’immagine fissa: ffmpeg -loop 1 -i placeholder.jpg -i voiceover_compressed.mp3 -c:v libx264 -t 30 -pix_fmt yuv420p -shortest final_video.mp4 L’opzione -map seleziona i flussi video e audio dalle sorgenti. -shortest arresta l’export quando termina la traccia più corta1.

Chi preferisce usare una voce specifica può clonarla. Servono da 10 a 30 secondi di parlato pulito. Si carica il campione all’endpoint /voices per creare una nuova voce e si usa l’ID restituito nelle richieste di sintesi. Nel codice basta sostituire VOICE_ID. Il resto del flusso non cambia1.

Per rendere riutilizzabile la pipeline, lo script si confeziona come CLI con click. Il comando prende il percorso del testo e dell’output, invia la richiesta al TTS e scrive l’audio. In alternativa, si espone la funzione di sintesi via Flask per usarla in un servizio interno1.

Se il carico cresce, si scala in modo prevedibile. Possibili passi:

  • Mettere in coda più script e generare in parallelo con Celery o AWS Lambda.
  • Offrire un’interfaccia web con una piccola app React1.

Il dettaglio che fa risparmiare tempo è a monte: la scelta della voce nel catalogo. Un ID coerente tra video diversi evita ritocchi in post e rende il canale più riconoscibile1.

Fonti

  1. How to Build a Voice-Over Tool for YouTube Videos dev.to · 8 novembre 2026
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici

Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:

  • Rilettura. Un passaggio toglie i tic della prosa generata da un modello, come i contrasti costruiti e le frasi che annunciano invece di informare, senza toccare fatti e fonti.
  • Fedeltà alle fonti. Un passaggio dedicato toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 9/10.
  • Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
  • Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 8,3/10 dopo 1 revisione.

I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.

Come funziona Millebit, nel dettaglio →

Hai trovato un errore? Segnalacelo
Tipo di segnalazione

Leggiamo ogni segnalazione. Le correzioni fatte sono elencate in Correzioni. L’email, se la lasci, serve solo a risponderti.