Salta al contenuto

Come funziona Scribe v2 Realtime

Come Scribe v2 Realtime permette la trascrizione a bassa latenza per traduzioni live e applicazioni vocali

Scribe v2 Realtime

Scribe v2 Realtime è un modello Speech to Text estremamente veloce, ideale per trascrizioni in tempo reale. La combinazione di velocità e qualità apre possibilità d’uso che prima non erano possibili.

Ad esempio, abbiamo creato questo traduttore linguistico in tempo reale usando Scribe v2 Realtime e la Chrome Translator API.

Live transcription on the left and committed transcripts on the right in a list

Se vuoi il tutorial passo passo di questa demo, lo trovi qui. In questa guida ci concentriamo su una panoramica di Scribe v2 Realtime e su come funziona.

Il modello

ElevenLabs offre due modelli per trascrivere l’audio: Scribe v2 e Scribe v2 Realtime.

Optimized For
Scribe v2
Accuracy
Scribe v2 Realtime
Ultra low latency
Use Case
Scribe v2
Batch transcription, subtitling, and captioning at scale.
Scribe v2 Realtime
Voice agents, meeting notetakers, and other live applications.

Scribe v2 è perfetto per trascrizioni che possono essere asincrone, mentre Scribe v2 Realtime è pensato per quando serve la trascrizione in tempo reale.

Per un’applicazione di traduzione linguistica live, Scribe v2 Realtime è la scelta ideale.

L’API

Per usare questo modello, devi utilizzare la Speech to Text API. Ci sono due passaggi da seguire per iniziare:

  1. Inizializza un’istanza Scribe
  2. Connettiti all’API

A seconda di dove chiami questa API, dovrai inizializzarla in modo diverso. Se la chiami lato server, puoi inizializzare direttamente con la chiave API e poi usare quell’istanza per connetterti a Scribe v2 Realtime.

Ma, esporre una chiave API al client è un grosso rischio per la sicurezza. Quindi, se fai streaming lato client, dovrai inizializzare con un token monouso.

Questo token deve essere generato lato server per proteggere la chiave API.

Dato che stiamo creando un’applicazione React, useremo il metodo del token. Questo token viene passato durante la fase di connessione, quindi creare un’istanza Scribe diventa molto semplice.

import { useScribe } from "@elevenlabs/react";

function MyComponent() {
  const scribe = useScribe({
    modelId: "scribe_v2_realtime",
  });
  
  //...
}

Connessione a Scribe v2 Realtime

Una volta inizializzato tutto correttamente, puoi connetterti a Scribe v2 Realtime. Per il progetto di traduzione linguistica in React, abbiamo usato lo streaming lato client e quindi serviva un token monouso dal backend. Questo token va generato e passato ogni volta che ci si connette all’API.

const handleStart = async () => {
  const token = await fetchTokenFromServer();

  await scribe.connect({
    token,
    microphone: {
	  echoCancellation: true,
	  noiseSuppression: true,
    },
  });
};


Strategia di commit

Quando lavori con Scribe v2 Realtime, ci sono due tipi di trascrizioni: parziali e confermate.

Le trascrizioni parziali sono le "trascrizioni live". Questa trascrizione avviene tramite websocket e ti viene restituita mentre parli. Quindi, se dici "Il gatto è ...", vedrai quelle parole apparire in tempo reale.

L’altro tipo di trascrizione è quella confermata. Le trascrizioni funzionano a segmenti. Quando e come scegli di confermare le trascrizioni determina come viene suddiviso il testo. Per questo, devi definire una strategia di commit.

Ci sono due opzioni per la strategia di commit. La prima è manuale, che ti dà il pieno controllo su quando confermare le trascrizioni. La pratica migliore è farlo durante le pause o in altri momenti logici, come un cambio di turno.

L’altra opzione è lasciare che Scribe v2 Realtime individui autonomamente i segmenti di qualità usando il Voice Activity Detection (VAD). Questo metodo rileva automaticamente i segmenti di parlato e di silenzio. Quando viene raggiunta una soglia di silenzio, il motore di trascrizione conferma automaticamente il segmento.

Perché serve una strategia di commit?

Mentre parli, Scribe v2 Realtime trascrive ogni parola. Se dici "I scream..." può essere riconosciuto come "Ice cream...". Ma quando il segmento completo è "I scream every time I see a spider in the bathroom", il risultato è più preciso.

Quindi le trascrizioni parziali possono essere mostrate in tempo reale, mentre quelle confermate sono una trascrizione più accurata della conversazione.

Visualizza le trascrizioni

Una volta connesso a Scribe v2 Realtime, la trascrizione è attiva. Puoi accedere alle trascrizioni tramite le proprietà partialTranscript e committedTranscripts.

<div>
  <button onClick={handleStart} disabled={scribe.isConnected}>
	Start Recording
  </button>
  <button onClick={scribe.disconnect} disabled={!scribe.isConnected}>
	Stop
  </button>

  {scribe.partialTranscript && <p>Live: {scribe.partialTranscript}</p>}

  <div>
	{scribe.committedTranscripts.map((t) => (
	  <p key={t.id}>{t.text}</p>
	))}
  </div>
</div>

La partialTranscript è la trascrizione in tempo reale del segmento attualmente in lavorazione. La committedTranscript è la cronologia della conversazione, composta da una lista di segmenti confermati mentre sei connesso a Scribe v2 Realtime.

Traduci con l’IA

Questo è tutto quello che ti serve per ottenere trascrizioni in tempo reale delle tue conversazioni. Ora puoi personalizzare l’app con una bella interfaccia o aggiungere funzioni come la traduzione live.

Per creare il traduttore linguistico in tempo reale della demo, basta passare le trascrizioni allaChrome AI Translator API e mostrare il risultato in tempo reale.

Inizia a creare

Grazie per la lettura! Registrati su ElevenLabs e inizia a creare le tue applicazioni!

Scopri gli articoli del team ElevenLabs

Crea con l'audio IA della massima qualità