
Cascaded vs Fused Models: Comparing the architectures behind conversational agents
A breakdown of the five main voice agent architectures and the tradeoffs between reasoning, control, and naturalness.
Wie Scribe v2 Realtime eine Transkription mit niedriger Latenz für Live-Übersetzungen und Sprach-Anwendungen ermöglicht
Scribe v2 Realtime ist ein extrem schnelles Speech to Text-Modell, das für Live-Transkriptionen eingesetzt werden kann. Die Kombination aus Geschwindigkeit und Qualität ermöglicht Anwendungsfälle, die bisher nicht möglich waren.
Zum Beispiel konnten wir mit Scribe v2 Realtime und der Chrome Translator API diesen Echtzeit-Sprachübersetzer entwickeln.

Wenn Sie eine Schritt-für-Schritt-Anleitung zu diesem Demo möchten, finden Sie diese hier. In diesem Leitfaden geht es um das grundlegende Verständnis von Scribe v2 Realtime und wie es funktioniert.
ElevenLabs bietet zwei Modelle zur Transkription von Audio an: Scribe v2 und Scribe v2 Realtime.
Scribe v2 eignet sich gut für asynchrone Transkriptionen, während Scribe v2 Realtime verwendet wird, wenn die Transkription live erfolgen muss.
Für eine Live-Sprachübersetzungsanwendung ist Scribe v2 Realtime die passende Wahl.
Um dieses Modell zu nutzen, verwenden Sie die Speech to Text API. Es sind zwei Schritte erforderlich, um zu starten:
Je nachdem, wo Sie die API aufrufen, müssen Sie sie unterschiedlich initialisieren. Bei einem serverseitigen Aufruf können Sie direkt mit dem API-Schlüssel initialisieren und diese Instanz dann für die Verbindung zu Scribe v2 Realtime nutzen.
Aber einen API-Schlüssel auf der Client-Seite offenzulegen, ist ein großes Sicherheitsrisiko. Wenn Sie also clientseitig streamen, müssen Sie mit einem Einmal-Token initialisieren.
Dieses Token muss serverseitig generiert werden, um den API-Schlüssel zu schützen.
Da wir eine React-Anwendung bauen, nutzen wir das Token-Verfahren. Dieses Token wird während der Verbindungsphase übergeben, sodass das Erstellen einer Scribe-Instanz sehr einfach ist.
| 1 | import { useScribe } from "@elevenlabs/react"; |
| 2 | |
| 3 | function MyComponent() { |
| 4 | const scribe = useScribe({ |
| 5 | modelId: "scribe_v2_realtime", |
| 6 | }); |
| 7 | |
| 8 | //... |
| 9 | } |
Nach der passenden Initialisierung können Sie sich mit Scribe v2 Realtime verbinden. Für das React-Sprachübersetzungsprojekt haben wir clientseitiges Streaming genutzt und daher jedes Mal ein Einmal-Token vom Backend benötigt. Dieses Token muss bei jeder Verbindung zur API generiert und übergeben werden.
| 1 | const handleStart = async () => { |
| 2 | const token = await fetchTokenFromServer(); |
| 3 | |
| 4 | await scribe.connect({ |
| 5 | token, |
| 6 | microphone: { |
| 7 | echoCancellation: true, |
| 8 | noiseSuppression: true, |
| 9 | }, |
| 10 | }); |
| 11 | }; |
Bei der Arbeit mit Scribe v2 Realtime gibt es zwei Arten von Transkripten: vorläufige und bestätigte.
Die vorläufigen Transkripte sind die „Live-Transkripte“. Diese Transkription erfolgt über Websocket und wird während des Sprechens zurückgegeben. Wenn Sie also sagen „Die Katze ist ...“, sehen Sie diese Wörter in Echtzeit.
Die andere Art ist das bestätigte Transkript. Transkriptionen werden in Segmenten verarbeitet. Wann und wie Sie Ihre Transkripte bestätigen, bestimmt die Segmentierung. Dafür müssen Sie eine Commit-Strategie festlegen.
Es gibt zwei Optionen für Commit-Strategien. Die erste ist manuell – Sie entscheiden selbst, wann Transkripte bestätigt werden. Am besten geschieht das während Sprechpausen oder an logischen Punkten, etwa bei Sprecherwechsel.
Die andere Option ist, Scribe v2 Realtime die Segmentierung automatisch mit Voice Activity Detection (VAD) überlassen. Dabei werden Sprach- und Pausensegmente erkannt. Wird ein Pausenschwellenwert erreicht, bestätigt die Engine das Segment automatisch.
Während Sie sprechen, transkribiert Scribe v2 Realtime jedes Wort. Wenn Sie zum Beispiel „I scream...“ sagen, kann das als „Ice cream...“ erkannt werden. Mit dem vollständigen Kontext des Segments „I scream every time I see a spider in the bathroom“ ist das Ergebnis jedoch genauer.
Die vorläufigen Transkripte können also in Echtzeit angezeigt werden, während die bestätigten Transkripte eine genauere Wiedergabe des Gesprächsverlaufs bieten.
Sobald Sie mit Scribe v2 Realtime verbunden sind, läuft die Transkription. Sie greifen über die Eigenschaften partialTranscript und committedTranscripts auf die Transkripte zu.
| 1 | <div> |
| 2 | <button onClick={handleStart} disabled={scribe.isConnected}> |
| 3 | Start Recording |
| 4 | </button> |
| 5 | <button onClick={scribe.disconnect} disabled={!scribe.isConnected}> |
| 6 | Stop |
| 7 | </button> |
| 8 | |
| 9 | {scribe.partialTranscript && <p>Live: {scribe.partialTranscript}</p>} |
| 10 | |
| 11 | <div> |
| 12 | {scribe.committedTranscripts.map((t) => ( |
| 13 | <p key={t.id}>{t.text}</p> |
| 14 | ))} |
| 15 | </div> |
| 16 | </div> |
Das partialTranscript ist das Echtzeit-Transkript des aktuellen Segments. Das committedTranscript ist der Gesprächsverlauf – eine Liste der bestätigten Segmente während der Verbindung zu Scribe v2 Realtime.
Das ist alles, was Sie brauchen, um Echtzeit-Transkripte Ihrer Gespräche zu erhalten. Sie können die Anwendung jetzt mit einer passenden Oberfläche erweitern oder weitere Funktionen wie Live-Übersetzung hinzufügen.
Um den Echtzeit-Sprachübersetzer aus dem Demo zu erstellen, übergeben Sie die Transkripte an die Chrome KI Translator API und zeigen das Ergebnis in Echtzeit an.
Danke fürs Lesen! Registrieren Sie sich bei ElevenLabs und entwickeln Sie Ihre Anwendungen!

A breakdown of the five main voice agent architectures and the tradeoffs between reasoning, control, and naturalness.
.webp&w=3840&q=95)
Not every student in Germany grows up with access to academic role models. InteGREATer e.V. was founded to change that.