Un interprete
in tasca

Ogni persona parla la propria lingua in un solo telefono. Ink 2 ascolta e capisce quando ciascuno smette di parlare. Un LLM traduce ogni turno, poi Sonic 3.6 lo dice ad alta voce nell'altra lingua.
Il layout desktop, con l'inglese a sinistra e lo spagnolo a destra, e sopra i controlli di stato, testo più grande, Flip ed End

Screenshot. Il template in esecuzione in locale.

Modelli
ink-2, sonic-3.6
Lingue
Due a scelta tra inglese, spagnolo, francese, hindi e giapponese
Licenza
Apache-2.0
Stack
Next.js 16React 19AI SDKWeb Audioshadcn/ui
Prodotti Cartesia
Ink 2Sonic 3.6

Cosa fa

Lo schermo si divide in due così ognuno legge la conversazione nella propria lingua, e una metà si può capovolgere per un telefono appoggiato tra voi due. Sotto ogni turno tradotto, una piccola riga mostra il tempo fino alla prima parola tradotta e fino al primo audio.

Eseguilo tu

  1. Installa

    Esegui i comandi qui sotto con Node 22.22 o successivo. Funziona anche pnpm. Compila .env.local seguendo la tabella qui sotto. Se manca una chiave, la pagina ti dice quale.

    npx degit cartesia-ai/cookbook/examples/pocket-interpreter pocket-interpreter
    cd pocket-interpreter
    # add CARTESIA_API_KEY, LLM_MODEL and the provider key
    cp .env.example .env.local
    npm install
    npm run dev
    

    Variabili d'ambiente
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    provider/model, per esempio openai/gpt-5.4-mini
    OPENAI_API_KEY
    Se LLM_MODEL inizia con openai/
    ANTHROPIC_API_KEY
    Se LLM_MODEL inizia con anthropic/
    AI_GATEWAY_API_KEY
    Per qualsiasi altro fornitore
    APP_PASSWORD
    Facoltativa in locale. Obbligatoria su Vercel, oppure none per rendere l'app pubblica
    TRUST_PROXY
    Facoltativa. 1 dietro un tuo reverse proxy
  2. Inizia a parlare

    Apri l'URL stampato da npm run dev. Scegli le due lingue e premi Start talking. Poi parlate a turno, senza premere nulla tra un turno e l'altro. Un telefono ha bisogno di HTTPS per il microfono, quindi fai il deploy o usa un tunnel come cloudflared per provarla su un telefono.

Crealo con il tuo agente di programmazione

Un prompt che dice al tuo agente di programmazione da dove partire e cosa leggere per primo.

Prompt

Claude CodeCursorCodex

Build a two-person voice translation app with Cartesia. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/pocket-interpreter and follow its AGENTS.md for the commands, files and rules. The server mints a 60 second access token with only the stt and tts grants. The browser streams the microphone to ink-2 on /stt/turns/websocket with @cartesia/cartesia-js, sends each turn to an AI SDK route that replies with the language code and the translation, and speaks it with sonic-3.6 over the TTS WebSocket. Keep the mute gate that sends silence to Ink 2 while Sonic plays. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Come funziona

MicrofonoInvia silenzio a Ink 2 mentre viene riprodotta una traduzione
Ink 2Sottotitoli in diretta, poi un segnale quando smetti di parlare
LLMIndica la lingua, poi traduce
Sonic 3.6Pronuncia ogni frase con una voce per la lingua di destinazione
SchermoOgni metà mostra la conversazione nella propria lingua

Perché funziona così

La traduzione parte prima della fine del turno

Quando fai una pausa, Ink 2 invia una prima ipotesi che tu possa aver finito, e la pagina inizia subito a tradurre. Se avevi finito, usa quella traduzione. Se continui a parlare, la annulla e aspetta la frase intera.

L'LLM dice chi ha parlato

Ink 2 non dice quale lingua ha sentito. Per questo la risposta di traduzione inizia con un codice di lingua su una riga a sé. La pagina usa quel codice per scegliere la voce e il lato dello schermo.

L'app si silenzia mentre parla

Mentre viene riprodotta una traduzione, il microfono invia silenzio a Ink 2. Altrimenti l'app sentirebbe la propria voce e la tradurrebbe all'indietro, all'infinito.

Personalizzalo

Usa una voce diversa

La voce di ogni lingua è impostata in lib/languages.ts. Scegline altre dalla libreria di voci di Cartesia, oppure usa un tuo clone, creato solo con il permesso della persona.

Cambia il modo di tradurre

Modifica lib/prompt.ts per traduzioni formali o informali. Tieni il codice della lingua sulla prima riga della risposta, perché l'app lo legge per scegliere la voce.

Regola il rilevamento dei turni

Ink 2 decide quando finisce un turno. Per farlo aspettare di più o chiudere prima, imposta turn_end_timeout_ms quando l'app apre la connessione vocale. Quella chiamata è in lib/audio/listener.ts.

Domande

La mia API key di Cartesia è al sicuro?

Sì. La chiave resta sul server. Il browser riceve un token che dura 60 secondi e serve solo a trascrivere la voce e a sintetizzare il testo.

Dove va la conversazione?

Il parlato di entrambe le persone va a Cartesia, e il testo di ogni turno va al tuo fornitore LLM per la traduzione. Avvisa l'altra persona prima di iniziare.

Le due persone possono parlare insieme?

No. C'è un solo microfono e un turno alla volta, quindi aspetta che una traduzione finisca di suonare. Non premi nulla tra un turno e l'altro, perché Ink 2 distingue una pausa dalla fine di una frase.

Quali lingue supporta?

Due a scelta tra inglese, spagnolo, francese, hindi e giapponese. Sono le lingue che Ink 2 capisce. Aggiungere un'altra lingua richiede un altro modello di trascrizione.

Funziona su un telefono?

Il layout è pensato prima di tutto per il telefono. È stato provato in Chrome desktop con una voce registrata come microfono, non su un telefono vero.

Servono le cuffie?

No. L'app silenzia il proprio microfono mentre parla e per un terzo di secondo dopo. In un ambiente rumoroso, le voci di sottofondo possono comunque avviare un turno per sbaglio.

Esiste una guida passo passo per questo template?

Sì. La ricetta spiega il codice passo per passo, il README copre configurazione, variabili d'ambiente e deploy, e la documentazione sugli eventi di turno di Ink 2 spiega la parte Cartesia.

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.

Contatta il team commerciale

Inizia a sviluppare.

Accedi ai nostri modelli tramite API e porta un agente vocale in produzione in pochi minuti.

Prova Cartesia