Prova un notebook di Colab
|
Visualizza il notebook su GitHub
|
Chirp 3: voci in HD di Text-to-Speech rappresenta l'ultima generazione della tecnologia di sintesi vocale. Grazie ai nostri modelli generativi di ultima generazione, queste voci offrono realismo e risonanza emotiva.
Per esplorare e sperimentare i nostri modelli vocali nella console Google Cloud , consulta Media Studio.
Prova Chirp 3: voci in HD (Vertex AI Studio)
Opzioni vocali
È disponibile una gamma di opzioni vocali, ognuna con caratteristiche distinte:
| Nome | Genere | Demo |
|---|---|---|
| Achernar | Donna | |
| Achird | Uomo | |
| Algenib | Uomo | |
| Algieba | Uomo | |
| Alnilam | Uomo | |
| Aoede | Donna | |
| Autonoe | Donna | |
| Callirrhoe | Donna | |
| Charon | Uomo | |
| Despina | Donna | |
| Enceladus | Uomo | |
| Erinome | Donna | |
| Fenrir | Uomo | |
| Gacrux | Donna | |
| Iapetus | Uomo | |
| Kore | Donna | |
| Laomedeia | Donna | |
| Leda | Donna | |
| Orus | Uomo | |
| Pulcherrima | Donna | |
| Puck | Uomo | |
| Rasalgethi | Uomo | |
| Sadachbia | Uomo | |
| Sadaltager | Uomo | |
| Schedar | Uomo | |
| Sulafat | Donna | |
| Umbriel | Uomo | |
| Vindemiatrix | Donna | |
| Zephyr | Donna | |
| Zubenelgenubi | Uomo |
Lingue disponibili
Chirp 3: voci in HD è supportato nelle seguenti lingue:
| Lingua | Codice BCP-47 |
|---|---|
| Arabo (generico) | ar-XA |
| Bengalese (India) | bn-IN |
| Danese (Danimarca) | da-DK |
| Olandese (Belgio) | nl-BE |
| Olandese (Paesi Bassi) | nl-NL |
| Inglese (Australia) | en-AU |
| Inglese (India) | en-IN |
| Inglese (Regno Unito) | en-GB |
| Inglese (Stati Uniti) | en-US |
| Finlandese (Finlandia) | fi-FI |
| Francese (Canada) | fr-CA |
| Francese (Francia) | fr-FR |
| Tedesco (Germania) | de-DE |
| Gujarati (India) | gu-IN |
| Hindi (India) | hi-IN |
| Indonesiano (Indonesia) | id-ID |
| Italiano (Italia) | it-IT |
| Giapponese (Giappone) | ja-JP |
| Kannada (India) | kn-IN |
| Coreano (Corea del Sud) | ko-KR |
| Malayalam (India) | ml-IN |
| Cinese mandarino (Cina) | cmn-CN |
| Marathi (India) | mr-IN |
| Norvegese bokmål (Norvegia) | nb-NO |
| Polacco (Polonia) | pl-PL |
| Portoghese (Brasile) | pt-BR |
| Russo (Russia) | ru-RU |
| Spagnolo (Spagna) | es-ES |
| Spagnolo (Stati Uniti) | es-US |
| Swahili (Kenya) | sw-KE |
| Svedese (Svezia) | sv-SE |
| Tamil (India) | ta-IN |
| Telugu (India) | te-IN |
| Thailandese (Thailandia) | th-TH |
| Turco (Turchia) | tr-TR |
| Ucraino (Ucraina) | uk-UA |
| Urdu (India) | ur-IN |
| Vietnamita (Vietnam) | vi-VN |
Disponibilità a livello di regione
Chirp 3: voci in HD è disponibile nelle seguenti regioni Google Cloud :
| ZonaGoogle Cloud | Stato del lancio |
|---|---|
global |
GA |
us |
GA |
eu |
GA |
asia-southeast1 |
GA |
europe-west2 |
GA |
asia-northeast1 |
GA |
Formati di output supportati
Il formato di risposta predefinito è LINEAR16, ma sono supportati anche altri formati, tra cui:
| Metodo API | Formato |
|---|---|
streaming |
ALAW, MULAW, OGG_OPUS e PCM |
batch |
ALAW, MULAW, MP3, OGG_OPUS e PCM |
Utilizza Chirp 3: voci in HD
Scopri come utilizzare Chirp 3: voci in HD per la sintesi vocale.
Esegui la richiesta di sintesi vocale in streaming
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, consulta la documentazione di riferimento dell'API Text-to-Speech Python.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esegui la richiesta di sintesi vocale online
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, consulta la documentazione di riferimento dell'API Text-to-Speech Python.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Suggerimenti per la creazione di script e prompt
Per creare un audio coinvolgente e dal suono naturale a partire da un testo, è necessario comprendere le sfumature della lingua parlata e tradurle in script. I suggerimenti seguenti ti aiuteranno a creare script che suonano autentici e a catturare il tono scelto.
Comprendi l'obiettivo: parlato naturale
L'obiettivo principale è far sì che la voce sintetizzata assomigli il più possibile a quella di una persona reale. Ciò comporta:
- Imitazione del ritmo naturale: la velocità con cui una persona parla.
- Creazione di un flusso fluido: con transizioni scorrevoli tra frasi e locuzioni.
- Aggiunta di pause realistiche: inserimento di pause per dare enfasi e chiarezza.
- Acquisizione del tono conversazionale: l'audio deve sembrare una conversazione reale.
Tecniche chiave per un parlato naturale
Punteggiatura per il ritmo e il flusso
- Punti (.): indicano una pausa più lunga. Usali per separare i pensieri completi e creare limiti chiari per le frasi.
- Virgole (,): indicano pause più brevi all'interno delle frasi. Usale per separare le proposizioni, elencare elementi o introdurre brevi pause per respirare.
- Puntini di sospensione (…): rappresentano una pausa più lunga e deliberata. Possono indicare pensieri che si trascinano, esitazione o una pausa drammatica.
- Esempio: "E poi… è successo".
- Trattini (-): possono essere utilizzati per indicare una breve pausa o un'interruzione improvvisa del pensiero.
- Esempio: "Volevo dire una cosa - ma non ci sono riuscito".
Introduzione di pause e disfluenze
- Pause strategiche: utilizza puntini di sospensione, virgole o trattini per creare pause nei punti in cui un oratore umano si fermerebbe naturalmente per riprendere fiato o dare enfasi.
- Disfluenze (come Ehm e Oh): sebbene alcuni modelli Text-to-Speech gestiscano automaticamente le disfluenze, è fondamentale comprenderne il ruolo. Aggiungono autenticità e rendono il parlato meno robotico. Anche se il modello le aggiunge, sapere dove si collocano naturalmente nel parlato umano ti aiuta a capire il flusso generale dello script.
Sperimentazione e iterazione
- Ripeti la sintesi: non aver paura di sintetizzare lo stesso messaggio con la stessa voce più volte. Piccole modifiche alla punteggiatura, agli spazi o alle parole scelte possono influire in modo significativo sull'audio finale.
- Ascolta in modo critico: presta molta attenzione al ritmo, al flusso e al tono generale dell'audio sintetizzato. Identifica le aree che non suonano naturali e modifica lo script di conseguenza.
- Variazione della voce: se il sistema lo consente, prova a utilizzare voci diverse per vedere quale si adatta meglio al tuo script e al tono scelto.
Suggerimenti pratici per la creazione di script
- Leggi ad alta voce: prima di procedere alla sintesi, leggi lo script ad alta voce. In questo modo, potrai identificare frasi goffe, pause innaturali e aree che richiedono modifiche.
- Scrivi in modo colloquiale: utilizza un linguaggio informale per rendere lo script più naturale.
- Considera il contesto: il tono e il ritmo dello script devono corrispondere al contesto dell'audio. Una presentazione formale richiede un approccio diverso rispetto a una conversazione informale.
- Suddividi le frasi complesse: le frasi lunghe e complesse possono essere difficili da gestire per i motori TTS. Suddividile in frasi più brevi e gestibili.
Esempi di miglioramenti agli script
Script originale (robotico): "Il prodotto è ora disponibile. Abbiamo nuove funzionalità. È entusiasmante".
Miglioramento dello script (naturale): "Il prodotto è ora disponibile… e abbiamo aggiunto alcune nuove e fantastiche funzionalità. È, beh, è molto entusiasmante".
Script originale (robotico): "Questo è un messaggio di conferma automatico. La sua prenotazione è stata elaborata. I dettagli seguenti si riferiscono al suo prossimo soggiorno. Il numero di prenotazione è 12345. Il nome dell'ospite registrato è Anthony Vasquez e la data di arrivo è il 14 marzo. La data di partenza è il 16 marzo. Il tipo di camera è Deluxe Suite. Il numero di ospiti è 1. Il check-in è alle 15:00. Il check-out è le 11:00. Le norme di cancellazione richiedono la notifica 48 ore prima dell'arrivo. Il mancato avviso entro questo periodo di tempo comporterà l'addebito di una notte. I servizi aggiuntivi inclusi nella prenotazione sono: Wi-Fi gratuito, accesso al centro fitness e colazione inclusa nel prezzo. Per qualsiasi domanda, contatti direttamente l'hotel al numero 855-555-6689. Grazie per aver scelto il nostro hotel."
Script migliorato (naturale): "Buongiorno Anthony Vasquez. Siamo felici di confermare la sua prenotazione. È tutto pronto per il suo soggiorno dal 14 al 16 marzo nella nostra splendida Deluxe Suite. La prenotazione è per un ospite. Il suo numero di conferma è 12345, può sempre tornarle utile.
Le ricordiamo che il check-in è alle 15:00 e il check-out alle 11:00.
Quanto alle nostre norme di cancellazione, se dovesse annullare la prenotazione, le chiediamo di comunicarcelo almeno 48 ore prima del suo arrivo. Non se lo dimentichi! In caso contrario, le verrà addebitata una notte.
Per rendere il suo soggiorno ancora migliore, avrà a disposizione Wi-Fi gratuito, l'accesso al nostro centro fitness e una deliziosa colazione inclusa nel prezzo ogni mattina.
Per qualsiasi domanda, non esiti a chiamarci al numero 855-555-6689. Non vediamo l'ora di darle il benvenuto in hotel".
Spiegazione delle modifiche:
- I puntini di sospensione (…) creano una pausa per dare enfasi.
- "Può sempre tornarle utile" introduce un tono più colloquiale.
- "È, beh, è molto entusiasmante" aggiunge una disfluenza ed enfasi.
- "Non se lo dimentichi!" è un modo per smorzare il tono.
Se segui queste linee guida, puoi creare script di sintesi vocale che suonano naturali, coinvolgenti e umani. Ricorda che la pratica e la sperimentazione sono fondamentali per acquisire questa competenza.
Controlli di Chirp 3: voci in HD
Le funzionalità di controllo vocale sono specifiche per la sintesi vocale in HD. Tieni presente che Chirp 3: voci in HD non supporta SSML, ma puoi comunque gestire il controllo del ritmo, delle pause e delle pronunce personalizzate tramite le opzioni di controllo di Chirp 3: voci in HD.
Controllo del ritmo
Puoi regolare la velocità dell'audio generato utilizzando il parametro del ritmo. Il parametro del ritmo consente di rallentare o accelerare il parlato, con valori compresi tra 0,25x (molto lento) e 2x (molto veloce). Per impostare il ritmo, utilizza il parametro speaking_rate nella richiesta. Scegli un valore compreso tra 0.25 e 2.0. I valori inferiori a 1.0 rallentano la voce, mentre i valori superiori a 1.0 la velocizzano. Un valore pari a 1.0 indica un ritmo senza regolazione.
Esempio di SynthesizeSpeechRequest che utilizza il controllo del ritmo:
{
"audio_config": {
"audio_encoding": "LINEAR16",
"speaking_rate": 2.0,
},
"input": {
"text": "Once upon a time, there was a cute cat. He was so cute that he got lots of treats.",
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Esempio di StreamingSynthesizeConfig che utilizza il controllo del ritmo:
{
"streaming_audio_config": {
"audio_encoding": "LINEAR16",
"speaking_rate": 2.0,
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Campioni audio con controllo del ritmo:
| Velocità del parlato | Output |
|---|---|
| 0.5 | |
| 1.0 | |
| 2.0 |
Controllo delle pause
Puoi inserire pause nel parlato generato dall'AI incorporando tag speciali direttamente nel testo utilizzando il campo di input markup. Tieni presente che i tag delle pause funzionano solo nel campo markup e non nel campo text.
Questi tag indicano all'AI di creare silenzi, ma la durata precisa di queste pause non è fissa. L'AI regola la durata in base al contesto, proprio come il parlato umano naturale varia in base all'oratore, alla località e alla struttura della frase. I tag disponibili per le pause sono [pause short], [pause long] e [pause]. Per metodi alternativi di creazione di pause senza l'utilizzo di tag di markup, consulta le nostre linee guida per la creazione di script e prompt.
Il modello di AI potrebbe ignorare occasionalmente i tag delle pause, soprattutto se sono collocati in posizioni innaturali nel testo. Puoi combinare più tag delle pause per silenzi più lunghi, ma un utilizzo eccessivo può causare problemi.
Esempio di SynthesizeSpeechRequest che utilizza il controllo delle pause:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"markup": "Let me take a look, [pause long] yes, I see it.",
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Esempio di StreamingSynthesisInput che utilizza il controllo delle pause:
{
"markup": "Let me take a look, [pause long] yes, I see it.",
}
Campioni audio con controllo delle pause:
| Input markup | Output |
|---|---|
| "Let me take a look, yes, I see it." | |
| "Let me take a look, [pause long] yes, I see it." |
Pronunce personalizzate
Puoi specificare pronunce personalizzate utilizzando rappresentazioni fonetiche IPA o X-SAMPA per le parole all'interno del testo di input. Assicurati di utilizzare fonemi appropriati per la lingua per un rendering accurato. Puoi scoprire di più sull'override dei fonemi nella nostra documentazione sui fonemi.
Esempio di SynthesizeSpeechRequest che utilizza pronunce personalizzate:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"text": "There is a dog in the boat",
"custom_pronunciations": {
"phrase": "dog",
"phonetic_encoding": "PHONETIC_ENCODING_X_SAMPA",
"pronunciation": "\"k{t",
}
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
Esempio di StreamingSynthesizeConfig che utilizza pronunce personalizzate:
{
"streaming_audio_config": {
"audio_encoding": "LINEAR16",
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
"custom_pronunciations": {
"phrase": "dog",
"phonetic_encoding": "PHONETIC_ENCODING_X_SAMPA",
"pronunciation": "\"k{t",
}
}
Campioni audio con pronunce personalizzate:
| Pronunce personalizzate applicate | Output |
|---|---|
| Nessuna | |
| "dog" pronunciato come ""k{t" |
Le frasi sottoposte a override possono essere formattate in qualsiasi modo, incluso l'utilizzo di simboli. Ad esempio, in caso di potenziale ambiguità basata sul contesto nella corrispondenza a frase (comune in lingue come il cinese e il giapponese) o di frasi in cui una parola potrebbe essere pronunciata in modi diversi, la frase può essere formattata per rimuovere l'ambiguità. Ad esempio, per evitare di sovrascrivere accidentalmente altre istanze della parola read nell'input, la locuzione "read" potrebbe essere formattata come "read1", "[read]" o "(read)" sia per il testo di input sia per la locuzione sovrascritta.
Vedi questo esempio di applicazione di pronunce personalizzate a una frase in cui la parola read viene pronunciata in due modi diversi:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"text": "I read1 a book, and I will now read2 it to you.",
"custom_pronunciations": {
"phrase": "read1",
"phonetic_encoding": "PHONETIC_ENCODING_IPA",
"pronunciation": "rɛd",
}
"custom_pronunciations": {
"phrase": "read2",
"phonetic_encoding": "PHONETIC_ENCODING_IPA",
"pronunciation": "riːd",
}
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
| Pronunce personalizzate applicate | Output |
|---|---|
| "read" sovrascritta in due modi |
Inoltre, le pronunce personalizzate possono essere utilizzate con l'input di markup, che consente anche l'utilizzo di tag delle pause:
{
"audio_config": {
"audio_encoding": "LINEAR16",
},
"input": {
"markup": "Did you [pause long] read this book?",
"custom_pronunciations": {
"phrase": "read",
"phonetic_encoding": "PHONETIC_ENCODING_IPA",
"pronunciation": "riːd",
}
},
"voice": {
"language_code": "en-US",
"name": "en-us-Chirp3-HD-Leda",
}
}
| Pronunce personalizzate utilizzate | Output |
|---|---|
| Override della pronuncia con il tag di pausa |
Lingue in cui sono disponibili i controlli vocali
Il controllo del ritmo è disponibile in tutte le lingue.
Il controllo delle pause è disponibile in tutte le lingue.
Le pronunce personalizzate sono disponibili in tutte le lingue, tranne: bn-in, gu-in, nl-be, sw-ke, th-th, uk-ua, ur-in e vi-vn.
Domande frequenti
Domande frequenti e relative risposte:
Come faccio a controllare il ritmo e il flusso per migliorare la sintesi vocale?
Puoi utilizzare le nostre linee guida per la creazione di script e prompt e migliorare il prompt di testo per migliorare l'output vocale.
Come faccio ad accedere alle voci nelle lingue supportate?
I nomi delle voci seguono un formato specifico, che consente l'utilizzo nelle lingue supportate specificando la voce in modo univoco. Il formato segue \<locale\>-\<model\>-\<voice\>. Ad esempio, per utilizzare la voce Kore per l'inglese (Stati Uniti) utilizzando il modello Chirp 3: voci in HD, devi specificarla come en-US-Chirp3-HD-Kore.
Chirp 3: voci in HD supporta SSML?
Sebbene Chirp 3: voci in HD non funzioni con SSML, puoi comunque gestire il controllo del ritmo, delle pause e delle pronunce personalizzate tramite le opzioni di controllo di Chirp 3: voci in HD.
Prova un notebook di Colab
Visualizza il notebook su GitHub