Vai alla navigazione

Usa la tua trascrizione

Crea un progetto di doppiaggio dalla tua trascrizione e fornisci le tue traduzioni.

Guida pratica · Presuppone che tu abbia familiarità con la creazione di progetti di doppiaggio, come mostrato nella guida rapida al doppiaggio.

La possibilità di fornire la propria trascrizione e le proprie traduzioni è disponibile solo per i workspace Enterprise. Contatta il team commerciale per ottenere l’accesso.

Per impostazione predefinita, l’API di doppiaggio trascrive i tuoi contenuti multimediali sorgente e traduce automaticamente la trascrizione in ogni lingua di destinazione. Se disponi già di una trascrizione accurata — sottotitoli, una sceneggiatura o un testo tradotto professionalmente — puoi fornirla al suo posto. Questa guida illustra il formato del file di trascrizione, come creare un progetto da una trascrizione e come fornire le tue traduzioni quando aggiungi una lingua.

Formato del file di trascrizione

Una trascrizione è un file JSON con un singolo array segments di primo livello. Ogni segmento corrisponde a un’enunciazione: il testo pronunciato, quando inizia e finisce e, facoltativamente, chi lo pronuncia.

transcript.json
{
"segments": [
{
"external_id": "line_0",
"speaker_id": "speaker_0",
"start_s": 0.0,
"end_s": 14.5,
"text": "With my soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditation guides, or adding an intimate feel to your narrative projects."
}
]
}
CampoObbligatorioDescrizione
textSìIl testo pronunciato durante il segmento.
start_sSìOra di inizio del segmento, in secondi.
end_sSìOra di fine del segmento, in secondi.
speaker_idNoIdentificatore che raggruppa i segmenti pronunciati dalla stessa persona, così ogni persona viene doppiata con una voce coerente. I segmenti che lo omettono condividono un unico interlocutore predefinito.
external_idNoIl tuo identificatore per il segmento, lungo al massimo 128 caratteri e univoco nella trascrizione. Usato come chiave per le traduzioni e restituito in ogni lettura della trascrizione.
translationNoTesto tradotto per il segmento, usato per inizializzare la lingua di destinazione creata tramite target_language. Se un segmento ne include uno, devono farlo tutti.

Regole per i segmenti

La trascrizione viene convalidata quando crei il progetto:

  • I segmenti devono essere ordinati per start_s.
  • Un segmento deve durare tra 0,1 e 25 secondi e end_s deve essere maggiore di start_s.
  • I segmenti con lo stesso speaker_id non devono sovrapporsi, anche se possono toccarsi in un punto finale. I segmenti di interlocutori diversi possono sovrapporsi per rappresentare parlato simultaneo.
  • Una trascrizione può contenere al massimo 20.000 segmenti e il file può avere una dimensione massima di 4 MiB.

Preferisci segmenti più brevi a quelli più lunghi: dividi le frasi in corrispondenza di ogni pausa di un secondo o più. I confini dei segmenti determinano la sincronizzazione dell’audio doppiato con la sorgente, quindi una trascrizione con interruzioni accurate e naturali produce un doppiaggio meglio sincronizzato.

Crea un progetto dalla tua trascrizione

Passa il file di trascrizione quando crei il progetto. source_language è obbligatorio quando fornisci una trascrizione, poiché i contenuti multimediali sorgente non vengono trascritti automaticamente. Le lingue sono specificate come tag BCP-47, ad esempio es o fr-CA. Consulta le lingue e i dialetti supportati per tutti i valori accettati.

import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))
with open("transcript.json", "rb") as transcript:
project = elevenlabs.dubbing.project.create(
source_url="https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3",
source_language="en",
transcript=transcript,
)
print(project.project_id)

Il progetto acquisisce comunque i contenuti multimediali sorgente prima di poter essere doppiato, quindi esegui il polling finché lo stato non è ready, come mostrato nella guida rapida. I tuoi segmenti vengono usati così come sono; non viene eseguita alcuna trascrizione automatica.

Fornisci le tue traduzioni

Quando aggiungi una lingua di destinazione, passa una mappa translations per usare le tue traduzioni anziché la traduzione automatica. La mappa usa come chiave l’external_id di ciascun segmento sorgente o il relativo id interno se non ne hai fornito uno, e deve includere ogni segmento sorgente esattamente una volta.

project_id = "proj_1601kwkyxp0hfzvtmyxwqxx6mcy3"
language = elevenlabs.dubbing.project.language.create(
project_id,
target_language="fr",
translations={
"line_0": "Avec mon accent américain doux et murmuré, je suis le choix idéal pour créer du contenu ASMR, des guides de méditation, ou pour apporter une touche d'intimité à vos projets narratifs.",
},
)

Ogni lingua di destinazione richiede una chiamata di creazione, quindi ripeti questa richiesta per ogni lingua in cui vuoi doppiare. Una mappa translations può contenere al massimo 20.000 voci per un totale massimo di 4 MiB di testo.

Se i tuoi segmenti non hanno external_id, leggi la trascrizione sorgente per ottenere l’id interno di ogni segmento e usa quelli come chiavi:

transcript = elevenlabs.dubbing.project.transcript.get(project_id)
for segment in transcript.segments:
print(segment.id, segment.text)

Inizializza le traduzioni alla creazione del progetto

Per una sola lingua di destinazione, puoi evitare la mappa translations separata includendo una translation in ogni segmento del file di trascrizione e passando target_language quando crei il progetto. La lingua di destinazione viene creata in stato di attesa con le tue traduzioni e inizia la generazione quando il progetto è pronto.

transcript.json
{
"segments": [
{
"external_id": "line_0",
"speaker_id": "speaker_0",
"start_s": 0.0,
"end_s": 14.5,
"text": "With my soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditation guides, or adding an intimate feel to your narrative projects.",
"translation": "Avec mon accent américain doux et murmuré, je suis le choix idéal pour créer du contenu ASMR, des guides de méditation, ou pour apporter une touche d'intimité à vos projets narratifs."
}
]
}

Considerazioni sulla qualità

La qualità del doppiaggio dipende dalla trascrizione e dalle traduzioni su cui si basa. Le tempistiche dei segmenti e il testo vengono usati direttamente per definire tempi e voce della performance doppiata, quindi tempistiche o testo imprecisi peggiorano il risultato. Le traduzioni vengono riprodotte per adattarsi all’intervallo di tempo del segmento: una traduzione molto più lunga o più breve dell’originale influenza il ritmo del parlato doppiato, quindi punta a traduzioni di lunghezza parlata comparabile.

Passaggi successivi