API di sintesi vocale Python per applicazioni in tempo reale
speech.wav
La tua prima richiesta di sintesi vocale
Trasforma un copione in una registrazione WAV con l'SDK Python di Cartesia. Installa il pacchetto, aggiungi la chiave API ed esegui l'esempio sul tuo server.
Installa l'SDK
Usa Python 3.9 o versioni successive in un ambiente virtuale.
Imposta la chiave API
Crea una chiave in Playground. Sostituisci il segnaposto qui sotto e conserva la chiave sul server.
Usi PowerShell?
$env:CARTESIA_API_KEY="your-api-key"Genera la tua prima registrazione
Salva questo esempio come speech.py. Eseguilo dal terminale, poi apri speech.wav per ascoltare.
Modifica la trascrizione o scegli un ID vocale da Playground per ascoltare un risultato diverso.
- File di output
- speech.wav
- Formato audio
- 44.1 kHz, 16-bit PCM
Scegli come l'audio raggiunge la tua app
Il trasporto adatto dipende da quando il testo è pronto e da come intendi riprodurre la risposta.
Salva una registrazione
- Trasporto
- HTTP
- Output
- WAV o MP3
Converti un copione completo in audio e salvalo per ascoltarlo in seguito. L'esempio qui sopra produce un file WAV con un'intestazione leggibile dai player audio.
Leggi la documentazione sull'output audioParla mentre arriva il testo
- Trasporto
- WebSocket
- Output
- Blocchi di audio grezzo
Invia frammenti di testo mentre il tuo LLM scrive e ricevi blocchi audio mentre Sonic li genera. Inoltrali a un player configurato per il formato audio richiesto.
Crea un esempio di streamingTrasmetti audio da un copione completo
Hai già tutto il testo? Usa with_streaming_response per leggere la risposta HTTP a blocchi.
Usa lo streaming WebSocket quando arriva nuovo testo durante la generazione, come nella risposta di un LLM.
Conserva la chiave sul server
Un backend Python può gestire la richiesta, mentre l'app web, mobile o il sistema telefonico gestisce la riproduzione.
Il tuo server Python
Leggi la chiave API dall'ambiente. Scegli voce, modello e impostazioni audio per ogni richiesta.
Sonic
Converti il testo in parlato. Ricevi una risposta audio o mantieni aperto un WebSocket per l'input incrementale.
La tua applicazione
Salva la registrazione o passa l'audio al player. Allinea codifica e frequenza di campionamento alla risposta.
Da uno script a un servizio in produzione
Una richiesta API riuscita è solo l'inizio. Costruisci il comportamento necessario intorno all'applicazione che useranno i tuoi ascoltatori.
Adattalo alla tua infrastruttura Python
Usa il client sincrono per script e processi in background. Usa AsyncCartesia in un servizio asincrono come FastAPI. Chiudi il client quando ha finito, poi passa l'audio al servizio di archiviazione o riproduzione.
Prova l'intera esperienza d'ascolto
Imposta timeout delle richieste e gestisci i limiti di frequenza. Prova copioni realistici con la voce che lancerai. Per le conversazioni, misura il tempo fino al parlato udibile e assicurati che le interruzioni fermino l'audio in coda. Rete e player influiscono su ciò che sente l'ascoltatore.
Sicurezza di livello enterprise.Dal cloud al locale.
Conforme a HIPAA

SOC 2 Type 2

GDPR

PCI
Domande sulla sintesi vocale con Python
Come converto il testo in parlato in Python?
Installa cartesia, imposta CARTESIA_API_KEY nell'ambiente server e crea un client Cartesia. Chiama client.tts.generate con testo, modello, ID vocale e formato di output, poi salva la risposta con write_to_file. L'esempio in questa pagina produce speech.wav. Consulta gli esempi Python per richieste complete.
Quale versione di Python e quale SDK mi servono?
L'SDK ufficiale richiede Python 3.9 o successivo. Installalo con python -m pip install --upgrade cartesia. Per il supporto WebSocket, installa python -m pip install "cartesia[websockets]". Confronta la versione del pacchetto installato con la documentazione dell'SDK quando adatti un esempio precedente.
Posso salvare il parlato generato come WAV o MP3?
Sì. L'endpoint TTS supporta output WAV, MP3 e audio grezzo. Scegli il contenitore e le impostazioni supportate in output_format prima di generare il parlato. Usa WAV per l'esempio in questa pagina; scegli MP3 quando la tua applicazione richiede quel formato. Cambiare soltanto l'estensione del file non converte l'audio.
Come trasmetto una risposta di un LLM alla sintesi vocale in streaming con Python?
Usa un WebSocket quando la tua applicazione riceve il testo un pezzo alla volta. Invia quei blocchi di testo tramite un contesto di generazione condiviso e consuma i blocchi audio restituiti man mano che arrivano. La tua applicazione deve comunque bufferizzare e riprodurre quell'audio. L'API WebSocket spiega continuazione e annullamento per le applicazioni conversazionali.
Dovrei usare HTTP o WebSocket per la sintesi vocale?
Usa HTTP quando la trascrizione è già disponibile, per esempio una narrazione completa o una notifica. Anche una risposta HTTP può fornire audio progressivamente. Usa WebSocket quando devi inviare testo in modo incrementale o gestire una conversazione continua. Streaming in ingresso e streaming in uscita sono scelte separate; salvare un file non è l'unico modo di consumare una risposta HTTP.
Posso usare Cartesia con Python asincrono o FastAPI?
Sì. Usa AsyncCartesia e attendi le chiamate API in un'applicazione asincrona. Gli esempi asincroni dell'SDK mostrano generazione, output su file e streaming. Collega l'audio restituito alla risposta o al lettore dell'applicazione e chiudi il client quando termina il suo ciclo di vita.
Dove dovrei conservare la chiave API Cartesia?
Mantieni la chiave di lunga durata in una variabile d'ambiente del server o in un gestore di segreti della distribuzione. Non inserirla nei commit né inviarla al codice del browser. Se il browser richiede una connessione diretta, fai creare al backend un token di breve durata e ambito limitato tramite l'API dei token di accesso.
Come scelgo voce e lingua per il TTS Python?
Ascolta l'anteprima di una voce nel Playground e passa il suo ID nella richiesta. Imposta language o locale per il testo, ma non entrambi. Testa nomi, numeri e abbreviazioni dei tuoi testi. Consulta il riferimento delle richieste per le impostazioni di lingua e voce, anziché presumere che tutte le voci supportino gli stessi accenti.
Quale ID del modello Sonic dovrei usare in produzione?
Scegli un modello dalla documentazione attuale di Sonic e testalo con la tua applicazione. L'ID sonic-3.6 riceve aggiornamenti stabili delle istantanee. Un'istantanea datata pubblicata mantiene fisso il comportamento del modello mentre valuti una nuova versione. Registra l'ID del modello insieme ai test per confrontare i risultati dopo un aggiornamento.
Perché il PCM grezzo richiede impostazioni di riproduzione particolari?
Il PCM grezzo non contiene un'intestazione di file che descriva come riprodurlo. Il lettore deve conoscere frequenza di campionamento e codifica usate nella richiesta. Una mancata corrispondenza può produrre rumore, silenzio o parlato alla velocità sbagliata. Parti da un output WAV per verificare il parlato generato separatamente dal lettore in streaming, poi testa il percorso di riproduzione dell'audio grezzo.
Cosa dovrei gestire prima di usare il TTS Python in produzione?
Gestisci errori di autenticazione, limiti di frequenza, errori di rete e timeout. Configura tentativi ripetuti e timeout dell'SDK in base alla tua applicazione. Testa la riproduzione interrotta ed evita di riprodurre audio in coda dopo che l'utente cambia direzione. Misura il tempo dalla disponibilità del testo al parlato udibile, includendo rete e buffer di riproduzione.
Continua a sviluppare con Sonic
Confronta voci, verifica formati audio e pianifica la tua integrazione.
Inizia oggi
Parla con un esperto.
Contatta un membro del nostro team e scopri come Cartesia può aiutarti a creare esperienze vocali di altissimo livello.
Inizia a sviluppare.
Accedi ai nostri modelli tramite API e porta un agente vocale in produzione in pochi minuti.