Vai alla navigazione

Trascrizione

Scopri come trasformare l'audio parlato in testo con ElevenLabs.

Panoramica

L’API Speech to Text (STT) di ElevenLabs trasforma l’audio parlato in testo con una precisione all’avanguardia. Il nostro modello Scribe v2 si adatta agli indizi testuali in oltre 90 lingue e a vari stili vocali. Per provare una demo dal vivo, visita la pagina dedicata a Speech to Text.

Le aziende che richiedono la conformità HIPAA devono contattare il team vendite di ElevenLabs Sales per firmare un accordo Business Associate Agreement (BAA). Assicurati di completare questo passaggio prima di procedere con integrazioni o deployment relativi all’HIPAA.

Modelli

Esempio di risposta API

L’esempio seguente mostra l’output dell’API Speech to Text con il modello Scribe v2 per un file audio di esempio.

{
"language_code": "en",
"language_probability": 1,
"text": "With a soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditative guides, or adding an intimate feel to your narrative projects.",
"words": [
{
"text": "With",
"start": 0.119,
"end": 0.259,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.239,
"end": 0.299,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "a",
"start": 0.279,
"end": 0.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.339,
"end": 0.499,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "soft",
"start": 0.479,
"end": 1.039,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.019,
"end": 1.2,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "and",
"start": 1.18,
"end": 1.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.339,
"end": 1.44,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "whispery",
"start": 1.419,
"end": 1.979,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.959,
"end": 2.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "American",
"start": 2.159,
"end": 2.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 2.699,
"end": 2.779,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "accent,",
"start": 2.759,
"end": 3.389,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.119,
"end": 4.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "I'm",
"start": 4.159,
"end": 4.459,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.44,
"end": 4.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "the",
"start": 4.5,
"end": 4.599,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.579,
"end": 4.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ideal",
"start": 4.679,
"end": 5.099,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.079,
"end": 5.219,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "choice",
"start": 5.199,
"end": 5.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.699,
"end": 6.099,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "for",
"start": 6.099,
"end": 6.199,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.179,
"end": 6.279,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "creating",
"start": 6.259,
"end": 6.799,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.779,
"end": 6.979,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ASMR",
"start": 6.959,
"end": 7.739,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 7.719,
"end": 7.859,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "content,",
"start": 7.839,
"end": 8.45,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9,
"end": 9.06,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "meditative",
"start": 9.04,
"end": 9.64,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9.619,
"end": 9.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "guides,",
"start": 9.679,
"end": 10.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 10.359,
"end": 10.409,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "or",
"start": 11.319,
"end": 11.439,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.42,
"end": 11.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "adding",
"start": 11.5,
"end": 11.879,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.859,
"end": 12,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "an",
"start": 11.979,
"end": 12.079,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.059,
"end": 12.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "intimate",
"start": 12.179,
"end": 12.579,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.559,
"end": 12.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "feel",
"start": 12.679,
"end": 13.159,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.139,
"end": 13.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "to",
"start": 13.159,
"end": 13.26,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.239,
"end": 13.3,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "your",
"start": 13.299,
"end": 13.399,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.379,
"end": 13.479,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "narrative",
"start": 13.479,
"end": 13.889,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.919,
"end": 13.939,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "projects.",
"start": 13.919,
"end": 14.779,
"type": "word",
"speaker_id": "speaker_0"
}
]
}

L’output è classificato in tre tipi di categorie:

  • word - Una parola nella lingua dell’audio
  • spacing - Lo spazio tra le parole, non applicabile alle lingue che non usano spazi come giapponese, mandarino, thai, lao, birmano e cantonese
  • audio_event - Suoni non vocali come risate o applausi

Concorrenza e priorità

La concorrenza indica quante richieste possono essere elaborate contemporaneamente.

Per Speech to Text, i file più lunghi di 8 minuti vengono trascritti internamente in parallelo per velocizzare l’elaborazione. L’audio viene suddiviso in quattro segmenti da trascrivere contemporaneamente.

Puoi calcolare il limite di concorrenza con la seguente formula:

Concurrency=min⁡(4,round_up(audio_duration_secs480))Concurrency = \min(4, \text{round\_up}(\frac{\text{audio\_duration\_secs}}{480}))

Ad esempio, un file audio di 15 minuti verrà trascritto con una concorrenza di 2, mentre un file audio di 120 minuti verrà trascritto con una concorrenza di 4.

Il calcolo sopra indicato si applica solo a Scribe v2 e Scribe v2 Medical. Per Scribe v2 Realtime, consulta il grafico dei limiti di concorrenza.

Funzionalità avanzate

Il prompting dei termini chiave e la modifica delle trascrizioni comportano un costo aggiuntivo. Consulta la pagina dei prezzi API per informazioni dettagliate sui prezzi.

Prompting dei termini chiave

Il prompting dei termini chiave è disponibile con Scribe v2, Scribe v2 Medical (batch) e Scribe v2 Realtime.

Evidenzia parole o frasi per orientare il modello a trascriverle. È utile per trascrivere parole o frasi specifiche non comuni nell’audio, come nomi di prodotti, nomi propri o altri termini specifici. I termini chiave sono più efficaci delle parole chiave orientate o dei vocabolari personalizzati offerti da altri modelli, perché il modello si basa sul contesto per decidere se trascrivere o meno quel termine. La modalità batch supporta fino a 1000 termini chiave (50 caratteri ciascuno), mentre la modalità in tempo reale supporta fino a 50 termini chiave (20 caratteri ciascuno).

Per saperne di più su come usare il prompting dei termini chiave, consulta la documentazione sul prompting dei termini chiave.

Modalità senza trascrizione letterale

La modalità senza trascrizione letterale è disponibile con Scribe v2, Scribe v2 Medical (batch) e Scribe v2 Realtime.

Quando no_verbatim è abilitato, il modello rimuove parole riempitive, false partenze e disfluenze dalla trascrizione. In questo modo ottieni un output più pulito, adatto a sottotitoli, riepiloghi o qualsiasi caso d’uso in cui la leggibilità è più importante della registrazione di ogni parola pronunciata.

Rilevamento delle entità

Il rilevamento delle entità è disponibile con tutti i modelli batch e Scribe v2 Realtime.

I modelli batch e Scribe v2 Realtime possono rilevare diverse categorie di entità nella trascrizione, fornendo i relativi timestamp esatti. È utile per evidenziare numeri di carte di credito, nomi, condizioni mediche o numeri di previdenza sociale statunitense.

Per un elenco completo delle entità supportate, consulta la documentazione sul rilevamento delle entità.

Modifica della trascrizione

La modifica della trascrizione è una funzionalità sperimentale disponibile con tutti i modelli batch e Scribe v2 Realtime.

Passa un’istruzione in linguaggio naturale con il parametro transcript_edit e verrà applicata alla trascrizione completata. Il testo modificato viene restituito in edited_transcript insieme alla trascrizione originale, così timestamp ed etichette dei parlanti restano invariati. È utile per normalizzare la scrittura di date, orari o unità, applicare uno stile diverso o riscrivere la trascrizione in una sola richiesta.

Per saperne di più, consulta la documentazione sulla modifica delle trascrizioni e la guida alla modifica delle trascrizioni in tempo reale.

Lingue supportate

Scribe v2 supporta oltre 90 lingue, tra cui:

Afrikaans (afr), amarico (amh), arabo (ara), armeno (hye), assamese (asm), asturiano (ast), azero (aze), bielorusso (bel), bengalese (ben), bosniaco (bos), bulgaro (bul), birmano (mya), cantonese (yue), catalano (cat), cebuano (ceb), chichewa (nya), croato (hrv), ceco (ces), danese (dan), olandese (nld), inglese (eng), estone (est), filippino (fil), finlandese (fin), francese (fra), fulah (ful), galiziano (glg), ganda (lug), georgiano (kat), tedesco (deu), greco (ell), gujarati (guj), hausa (hau), ebraico (heb), hindi (hin), ungherese (hun), islandese (isl), igbo (ibo), indonesiano (ind), irlandese (gle), italiano (ita), giapponese (jpn), giavanese (jav), capoverdiano (kea), kannada (kan), kazako (kaz), khmer (khm), coreano (kor), curdo (kur), kirghiso (kir), lao (lao), lettone (lav), lingala (lin), lituano (lit), luo (luo), lussemburghese (ltz), macedone (mkd), malese (msa), malayalam (mal), maltese (mlt), cinese mandarino (zho), māori (mri), marathi (mar), mongolo (mon), nepalese (nep), sotho settentrionale (nso), norvegese (nor), occitano (oci), odia (ori), pashtu (pus), persiano (fas), polacco (pol), portoghese (por), punjabi (pan), rumeno (ron), russo (rus), serbo (srp), shona (sna), sindhi (snd), singalese (sin), slovacco (slk), sloveno (slv), somalo (som), spagnolo (spa), swahili (swa), svedese (swe), tamil (tam), tagico (tgk), telugu (tel), thailandese (tha), turco (tur), ucraino (ukr), umbundu (umb), urdu (urd), uzbeko (uzb), vietnamita (vie), gallese (cym), wolof (wol), xhosa (xho) e zulu (zul).

Dettaglio del supporto linguistico

Il Word Error Rate (WER) è una metrica chiave usata per valutare l’accuratezza dei sistemi di trascrizione. Misura quanti errori sono presenti in una trascrizione rispetto a una trascrizione di riferimento. Di seguito trovi il dettaglio del WER per ogni lingua supportata da Scribe v2.

Bielorusso (bel), bosniaco (bos), bulgaro (bul), catalano (cat), croato (hrv), ceco (ces), danese (dan), olandese (nld), inglese (eng), estone (est), finlandese (fin), francese (fra), galiziano (glg), tedesco (deu), greco (ell), ungherese (hun), islandese (isl), indonesiano (ind), italiano (ita), giapponese (jpn), kannada (kan), lettone (lav), macedone (mkd), malese (msa), malayalam (mal), norvegese (nor), polacco (pol), portoghese (por), rumeno (ron), russo (rus), slovacco (slk), spagnolo (spa), svedese (swe), turco (tur), ucraino (ukr) e vietnamita (vie).

Armeno (hye), azero (aze), bengalese (ben), cantonese (yue), filippino (fil), georgiano (kat), gujarati (guj), hindi (hin), kazako (kaz), lituano (lit), maltese (mlt), mandarino (cmn), marathi (mar), nepalese (nep), odia (ori), persiano (fas), serbo (srp), sloveno (slv), swahili (swa), tamil (tam) e telugu (tel)

Afrikaans (afr), arabo (ara), assamese (asm), asturiano (ast), birmano (mya), hausa (hau), ebraico (heb), giavanese (jav), coreano (kor), kirghiso (kir), lussemburghese (ltz), māori (mri), occitano (oci), punjabi (pan), tagiko (tgk), thai (tha), uzbeko (uzb) e gallese (cym).

Amarico (amh), ganda (lug), igbo (ibo), irlandese (gle), khmer (khm), curdo (kur), lao (lao), mongolo (mon), sotho settentrionale (nso), pashtu (pus), shona (sna), sindhi (snd), singalese (sin), somalo (som), urdu (urd), wolof (wol), xhosa (xho), yoruba (yor) e zulu (zul).

FAQ

Sì, l’API supporta il caricamento di file audio e video per la trascrizione.

Sono supportati file di dimensioni fino a 3 GB. I limiti di durata dipendono dalla modalità di trascrizione:

  • Modalità standard (use_multi_channel=false): fino a 10 ore
  • Modalità multicanale (use_multi_channel=true): la durata combinata di tutti i canali deve essere inferiore a 10 ore

L’API supporta i seguenti formati audio e video:

  • audio/aac
  • audio/x-aac
  • audio/x-aiff
  • audio/ogg
  • audio/mpeg
  • audio/mp3
  • audio/mpeg3
  • audio/x-mpeg-3
  • audio/opus
  • audio/wav
  • audio/x-wav
  • audio/webm
  • audio/flac
  • audio/x-flac
  • audio/mp4
  • audio/aiff
  • audio/x-m4a

I formati video supportati includono:

  • video/mp4
  • video/x-msvideo
  • video/x-matroska
  • video/quicktime
  • video/x-ms-wmv
  • video/x-flv
  • video/webm
  • video/mpeg
  • video/3gpp

ElevenLabs amplia costantemente il numero di lingue supportate dai nostri modelli. Torna a controllare spesso per gli aggiornamenti.

Sì, i risultati della trascrizione asincrona possono essere inviati ai webhook configurati nelle impostazioni dei webhook nell’interfaccia utente. Scopri di più nella guida sui webhook.

Sì, la funzionalità STT multicanale ti permette di trascrivere audio in cui ogni canale viene elaborato in modo indipendente e riceve un ID del parlante in base al numero del canale. Questa funzionalità supporta fino a 5 canali. Scopri di più nella guida alla trascrizione multicanale.

ElevenLabs addebita Speech to Text in base alla durata dell’audio inviato per la trascrizione. La fatturazione viene calcolata per ora di audio, con tariffe che variano in base al piano e al modello. Consulta la pagina dei prezzi API per informazioni dettagliate sui prezzi.

I periodi di silenzio sono inclusi nella durata fatturata. Sia la trascrizione batch sia quella in tempo reale vengono conteggiate per ogni secondo di audio inviato, incluse pause e sezioni silenziose, e non sono previsti sconti per il silenzio.

Informazioni principali

  • Input supportati: sono accettati file audio e video
  • Dimensione massima del file: 3 GB
  • Durata massima: 10 ore (modalità standard), 1 ora (modalità multicanale)
  • Modalità multicanale: fino a 5 canali; ciascuno elaborato in modo indipendente con un ID del parlante assegnato in base al numero del canale
  • Webhook: i risultati della trascrizione asincrona possono essere inviati a un webhook — configurali nelle impostazioni del workspace
  • Formati audio supportati: AAC, AIFF, OGG, MP3, OPUS, WAV, FLAC, M4A, WebM
  • Formati video supportati: MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP