Poznaj Eleven v4Poznaj Eleven v4, nasz najbardziej emocjonalny model. 3× więcej kredytów w planie Creator+ do 12 października

Przejdź do treści

Jak działa Scribe v2 Realtime

Opublikowano
Ostatnia aktualizacja

PosłuchajPosłuchaj tego artykułu

Scribe v2 Realtime to niezwykle szybki model Speech to Text, którego można używać do transkrypcji na żywo. Połączenie szybkości i jakości umożliwia zastosowania, które wcześniej nie były możliwe.

Na przykład zbudowaliśmy ten tłumacz językowy w czasie rzeczywistym z użyciem Scribe v2 Realtime i Chrome Translator API.

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

Jeśli szukasz instrukcji krok po kroku do tego demo, znajdziesz ją tutaj. Ten przewodnik wyjaśnia na wysokim poziomie, jak działa Scribe v2 Realtime.

Model

ElevenLabs oferuje dwa modele do transkrypcji audio: Scribe v2 i 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 świetnie sprawdza się w transkrypcji asynchronicznej, a Scribe v2 Realtime — gdy potrzebujesz transkrypcji na żywo.

W aplikacji do tłumaczenia języków na żywo Scribe v2 Realtime to oczywisty wybór.

API

Aby użyć tego modelu, potrzebujesz Speech to Text API. Na początek wykonaj dwa kroki:

  1. Zainicjuj instancję Scribe
  2. Połącz się z API

Sposób inicjalizacji zależy od tego, skąd wywołujesz API. Po stronie serwera możesz zainicjować je bezpośrednio kluczem API, a następnie użyć tej instancji do połączenia z Scribe v2 Realtime.

Jednak udostępnienie klucza API klientowi to duże ryzyko dla bezpieczeństwa. Jeśli więc przesyłasz dane po stronie klienta, zainicjuj je tokenem jednorazowym.

Ten token musi zostać wygenerowany po stronie serwera, aby chronić klucz API.

Ponieważ budujemy aplikację React, użyjemy tokenu. Jest on przekazywany podczas łączenia, więc utworzenie instancji Scribe jest bardzo proste.

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

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

Łączenie z Scribe v2 Realtime

Po odpowiedniej inicjalizacji możesz połączyć się z Scribe v2 Realtime. W projekcie tłumaczenia językowego w React użyliśmy streamingu po stronie klienta, więc potrzebowaliśmy tokenu jednorazowego z backendu. Musi on być generowany i przekazywany przy każdym połączeniu z API.

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

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


Strategia zatwierdzania

W Scribe v2 Realtime dostępne są dwa rodzaje transkrypcji: częściowe i zatwierdzone.

Częściowe transkrypcje to „transkrypcje na żywo”. Są przesyłane przez websocket i zwracane w trakcie mówienia. Jeśli więc powiesz „Kot jest...”, zobaczysz te słowa przesyłane w czasie rzeczywistym.

Drugi typ to transkrypcja zatwierdzona. Transkrypcje działają w segmentach. To, kiedy i jak zdecydujesz się je zatwierdzać, określa podział transkrypcji na segmenty. W tym celu musisz zdefiniować strategię zatwierdzania.

Są dwie strategie zatwierdzania. Pierwsza, ręczna, daje ci pełną kontrolę nad tym, kiedy transkrypcje zostaną zatwierdzone. Najlepiej robić to podczas ciszy lub w innych logicznych momentach, na przykład przy zmianie rozmówcy.

Druga opcja to pozwolić Scribe v2 Realtime samodzielnie wykrywać dobre segmenty za pomocą Voice Activity Detection (VAD). To podejście automatycznie wykrywa fragmenty mowy i ciszy. Po osiągnięciu progu ciszy silnik transkrypcji automatycznie zatwierdzi segment.

Po co w ogóle strategia zatwierdzania?

Gdy mówisz, Scribe v2 Realtime transkrybuje każde słowo. Jeśli powiesz po angielsku „I scream...”, może to zostać rozpoznane jako „Ice cream...”. Jednak gdy model ma pełny kontekst segmentu „I scream every time I see a spider in the bathroom,”, wynik jest dokładniejszy.

Częściowe transkrypcje można więc wyświetlać w czasie rzeczywistym, a zatwierdzone transkrypcje mogą dokładniej oddawać historię rozmowy.

Wyświetlanie transkrypcji

Po połączeniu z Scribe v2 Realtime transkrypcja już trwa. Dostęp do niej uzyskasz przez właściwości partialTranscript i 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>

partialTranscript to transkrypcja w czasie rzeczywistym bieżącego segmentu. committedTranscript to historia rozmowy — lista segmentów zatwierdzonych podczas połączenia z Scribe v2 Realtime.

Tłumacz z AI

To wszystko, czego potrzebujesz, aby otrzymywać transkrypcje rozmów w czasie rzeczywistym. Teraz możesz dodać do aplikacji ładny interfejs lub kolejne funkcje, takie jak tłumaczenie językowe na żywo.

Aby stworzyć tłumacza językowego w czasie rzeczywistym z demo, przekaż transkrypcje do Chrome AI Translator API i wyświetlaj wynik w czasie rzeczywistym.

Zacznij tworzyć

Dziękujemy za lekturę! Zarejestruj się w ElevenLabs i zacznij tworzyć własne aplikacje!

Podobne artykuły

Twórz z najwyższej jakości audio AI