Przejdź do nawigacji

Transkrypcja

Dowiedz się, jak zamieniać mowę na tekst z ElevenLabs.

Omówienie

Interfejs Speech to Text (STT) API od ElevenLabs zamienia mowę na tekst z najwyższą dokładnością. Nasz model Scribe v2 dostosowuje się do wskazówek tekstowych w ponad 90 językach i wielu stylach głosu. Aby wypróbować wersję demo, odwiedź stronę Speech to Text.

Firmy wymagające zgodności z HIPAA muszą skontaktować się z działem sprzedaży ElevenLabs Sales, aby podpisać umowę Business Associate Agreement (BAA). Zanim przejdziesz do integracji lub wdrożeń związanych z HIPAA, upewnij się, że ten krok został wykonany.

Modele

Przykładowa odpowiedź API

Poniższy przykład pokazuje wynik API Speech to Text z modelem Scribe v2 dla przykładowego pliku audio.

{
"language_code": "en",
"language_probability": 1,
"text": "With a soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditative guides, or adding an intimate feel to your narrative projects.",
"words": [
{
"text": "With",
"start": 0.119,
"end": 0.259,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.239,
"end": 0.299,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "a",
"start": 0.279,
"end": 0.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.339,
"end": 0.499,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "soft",
"start": 0.479,
"end": 1.039,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.019,
"end": 1.2,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "and",
"start": 1.18,
"end": 1.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.339,
"end": 1.44,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "whispery",
"start": 1.419,
"end": 1.979,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.959,
"end": 2.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "American",
"start": 2.159,
"end": 2.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 2.699,
"end": 2.779,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "accent,",
"start": 2.759,
"end": 3.389,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.119,
"end": 4.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "I'm",
"start": 4.159,
"end": 4.459,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.44,
"end": 4.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "the",
"start": 4.5,
"end": 4.599,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.579,
"end": 4.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ideal",
"start": 4.679,
"end": 5.099,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.079,
"end": 5.219,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "choice",
"start": 5.199,
"end": 5.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.699,
"end": 6.099,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "for",
"start": 6.099,
"end": 6.199,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.179,
"end": 6.279,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "creating",
"start": 6.259,
"end": 6.799,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.779,
"end": 6.979,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ASMR",
"start": 6.959,
"end": 7.739,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 7.719,
"end": 7.859,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "content,",
"start": 7.839,
"end": 8.45,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9,
"end": 9.06,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "meditative",
"start": 9.04,
"end": 9.64,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9.619,
"end": 9.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "guides,",
"start": 9.679,
"end": 10.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 10.359,
"end": 10.409,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "or",
"start": 11.319,
"end": 11.439,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.42,
"end": 11.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "adding",
"start": 11.5,
"end": 11.879,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.859,
"end": 12,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "an",
"start": 11.979,
"end": 12.079,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.059,
"end": 12.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "intimate",
"start": 12.179,
"end": 12.579,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.559,
"end": 12.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "feel",
"start": 12.679,
"end": 13.159,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.139,
"end": 13.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "to",
"start": 13.159,
"end": 13.26,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.239,
"end": 13.3,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "your",
"start": 13.299,
"end": 13.399,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.379,
"end": 13.479,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "narrative",
"start": 13.479,
"end": 13.889,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.919,
"end": 13.939,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "projects.",
"start": 13.919,
"end": 14.779,
"type": "word",
"speaker_id": "speaker_0"
}
]
}

Wynik jest klasyfikowany w trzech kategoriach:

  • word – słowo w języku nagrania
  • spacing – odstęp między słowami; nie dotyczy języków bez spacji, takich jak japoński, mandaryński, tajski, laotański, birmański i kantoński
  • audio_event – dźwięki inne niż mowa, np. śmiech lub oklaski

Współbieżność i priorytet

Współbieżność określa, ile żądań można przetwarzać jednocześnie.

W przypadku Speech to Text pliki dłuższe niż 8 minut są wewnętrznie transkrybowane równolegle, aby przyspieszyć przetwarzanie. Audio jest dzielone na cztery segmenty transkrybowane jednocześnie.

Limit współbieżności możesz obliczyć według poniższego wzoru:

Concurrency=min⁡(4,round_up(audio_ duration_secs480))Concurrency = \min(4, \text{round\_up}(\frac{\text{audio\_ duration\_secs}}{480}))

Na przykład plik audio trwający 15 minut będzie transkrybowany ze współbieżnością 2, a plik 120-minutowy – ze współbieżnością 4.

Powyższy wzór dotyczy tylko Scribe v2 i Scribe v2 Medical. W przypadku Scribe v2 Realtime zobacz tabelę limitów współbieżności.

Zaawansowane funkcje

Podpowiedzi kluczowych terminów i edycja transkrypcji są dodatkowo płatne. Szczegółowe informacje znajdziesz na stronie cen API.

Podpowiedzi kluczowych terminów

Podpowiedzi kluczowych terminów są dostępne w Scribe v2, Scribe v2 Medical (batch) i Scribe v2 Realtime.

Wyróżniaj słowa lub frazy, aby zwiększyć szansę, że model je zapisze. To przydatne przy transkrypcji konkretnych słów lub zdań rzadko występujących w audio, takich jak nazwy produktów, imiona czy inne określone terminy. Kluczowe terminy są skuteczniejsze niż faworyzowane słowa kluczowe lub słowniki użytkownika oferowane przez inne modele, ponieważ model korzysta z kontekstu, by zdecydować, czy zapisać dany termin. Tryb batch obsługuje do 1000 kluczowych terminów (po 50 znaków), a tryb realtime – do 50 (po 20 znaków).

Więcej informacji o użyciu podpowiedzi kluczowych terminów znajdziesz w dokumentacji.

Tryb bez dosłowności

Tryb bez dosłowności jest dostępny w Scribe v2, Scribe v2 Medical (batch) i Scribe v2 Realtime.

Gdy no_verbatim jest włączone, model usuwa z transkrypcji wypełniacze, fałszywe początki i niepłynności. Dzięki temu wynik jest czystszy i lepiej nadaje się do napisów, podsumowań oraz zastosowań, w których czytelność jest ważniejsza niż zapisanie każdego wypowiedzianego słowa.

Wykrywanie encji

Wykrywanie encji jest dostępne we wszystkich modelach batch i w Scribe v2 Realtime.

Modele batch i Scribe v2 Realtime mogą wykrywać w transkrypcji kilka kategorii encji oraz podawać ich dokładne znaczniki czasu. Jest to przydatne do wyróżniania numerów kart kredytowych, imion, schorzeń lub numerów ubezpieczenia społecznego.

Pełną listę obsługiwanych encji znajdziesz w dokumentacji wykrywania encji.

Edycja transkrypcji

Edycja transkrypcji to funkcja eksperymentalna dostępna we wszystkich modelach batch i w Scribe v2 Realtime.

Przekaż polecenie w języku naturalnym w parametrze transcript_edit, a zostanie zastosowane do gotowej transkrypcji. Edytowany tekst jest zwracany w edited_transcript obok oryginalnej transkrypcji, więc znaczniki czasu i etykiety mówców pozostają bez zmian. To przydatne do ujednolicania zapisu dat, godzin lub jednostek, stosowania innego stylu albo przepisania transkrypcji w jednym żądaniu.

Więcej informacji znajdziesz w dokumentacji edycji transkrypcji oraz przewodniku po edycji transkrypcji w czasie rzeczywistym.

Obsługiwane języki

Scribe v2 obsługuje ponad 90 języków, w tym:

Afrykanerski (afr), amharski (amh), arabski (ara), armeński (hye), asamski (asm), asturyjski (ast), azerski (aze), białoruski (bel), bengalski (ben), bośniacki (bos), bułgarski (bul), birmański (mya), kantoński (yue), kataloński (cat), cebuański (ceb), cziczewa (nya), chorwacki (hrv), czeski (ces), duński (dan), niderlandzki (nld), angielski (eng), estoński (est), filipiński (fil), fiński (fin), francuski (fra), fulani (ful), galicyjski (glg), ganda (lug), gruziński (kat), niemiecki (deu), grecki (ell), gudżaracki (guj), hausa (hau), hebrajski (heb), hindi (hin), węgierski (hun), islandzki (isl), igbo (ibo), indonezyjski (ind), irlandzki (gle), włoski (ita), japoński (jpn), jawajski (jav), kriolu kabowerdeńskie (kea), kannada (kan), kazachski (kaz), khmerski (khm), koreański (kor), kurdyjski (kur), kirgiski (kir), laotański (lao), łotewski (lav), lingala (lin), litewski (lit), luo (luo), luksemburski (ltz), macedoński (mkd), malajski (msa), malajalam (mal), maltański (mlt), mandaryński chiński (zho), maoryski (mri), marathi (mar), mongolski (mon), nepalski (nep), sotho północny (nso), norweski (nor), oksytański (oci), odia (ori), paszto (pus), perski (fas), polski (pol), portugalski (por), pendżabski (pan), rumuński (ron), rosyjski (rus), serbski (srp), shona (sna), sindhi (snd), syngaleski (sin), słowacki (slk), słoweński (slv), somalijski (som), hiszpański (spa), suahili (swa), szwedzki (swe), tamilski (tam), tadżycki (tgk), telugu (tel), tajski (tha), turecki (tur), ukraiński (ukr), umbundu (umb), urdu (urd), uzbecki (uzb), wietnamski (vie), walijski (cym), wolof (wol), xhosa (xho) i zulu (zul).

Szczegóły obsługi języków

Wskaźnik błędów słów (WER) to kluczowa miara dokładności systemów transkrypcji. Określa, ile błędów zawiera transkrypcja w porównaniu z transkrypcją referencyjną. Poniżej znajdziesz WER dla każdego języka obsługiwanego przez Scribe v2.

białoruski (bel), bośniacki (bos), bułgarski (bul), kataloński (cat), chorwacki (hrv), czeski (ces), duński (dan), niderlandzki (nld), angielski (eng), estoński (est), fiński (fin), francuski (fra), galicyjski (glg), niemiecki (deu), grecki (ell), węgierski (hun), islandzki (isl), indonezyjski (ind), włoski (ita), japoński (jpn), kannada (kan), łotewski (lav), macedoński (mkd), malajski (msa), malajalam (mal), norweski (nor), polski (pol), portugalski (por), rumuński (ron), rosyjski (rus), słowacki (slk), hiszpański (spa), szwedzki (swe), turecki (tur), ukraiński (ukr) i wietnamski (vie).

ormiański (hye), azerski (aze), bengalski (ben), kantoński (yue), filipiński (fil), gruziński (kat), gudźarati (guj), hindi (hin), kazachski (kaz), litewski (lit), maltański (mlt), mandaryński (cmn), marathi (mar), nepalski (nep), orija (ori), perski (fas), serbski (srp), słoweński (slv), suahili (swa), tamilski (tam) i telugu (tel)

afrikaans (afr), arabski (ara), asamski (asm), asturyjski (ast), birmański (mya), hausa (hau), hebrajski (heb), jawajski (jav), koreański (kor), kirgiski (kir), luksemburski (ltz), maoryski (mri), oksytański (oci), pendżabski (pan), tadżycki (tgk), tajski (tha), uzbecki (uzb) i walijski (cym).

amharski (amh), ganda (lug), igbo (ibo), irlandzki (gle), khmerski (khm), kurdyjski (kur), laotański (lao), mongolski (mon), sotho północny (nso), paszto (pus), shona (sna), sindhi (snd), syngaleski (sin), somalijski (som), urdu (urd), wolof (wol), xhosa (xho), joruba (yor) i zulu (zul).

FAQ

Tak, API obsługuje przesyłanie plików audio i wideo do transkrypcji.

Obsługiwane są pliki o rozmiarze do 3 GB. Limity czasu trwania zależą od trybu transkrypcji:

  • Tryb standardowy (use_multi_channel=false): do 10 godzin
  • Tryb wielokanałowy (use_multi_channel=true): łączny czas trwania wszystkich kanałów musi być krótszy niż 10 godzin

API obsługuje następujące formaty audio i wideo:

  • audio/aac
  • audio/x-aac
  • audio/x-aiff
  • audio/ogg
  • audio/mpeg
  • audio/mp3
  • audio/mpeg3
  • audio/x-mpeg-3
  • audio/opus
  • audio/wav
  • audio/x-wav
  • audio/webm
  • audio/flac
  • audio/x-flac
  • audio/mp4
  • audio/aiff
  • audio/x-m4a

Obsługiwane formaty wideo:

  • video/mp4
  • video/x-msvideo
  • video/x-matroska
  • video/quicktime
  • video/x-ms-wmv
  • video/x-flv
  • video/webm
  • video/mpeg
  • video/3gpp

ElevenLabs stale rozszerza liczbę języków obsługiwanych przez nasze modele. Zaglądaj tu regularnie, aby sprawdzić aktualizacje.

Tak, asynchroniczne wyniki transkrypcji mogą być wysyłane do webhooków skonfigurowanych w ustawieniach webhooków w interfejsie. Więcej informacji znajdziesz w przewodniku po webhookach.

Tak, funkcja wielokanałowego STT pozwala transkrybować audio, w którym każdy kanał jest przetwarzany niezależnie i otrzymuje identyfikator mówcy na podstawie numeru kanału. Funkcja obsługuje do 5 kanałów. Więcej informacji znajdziesz w przewodniku po transkrypcji wielokanałowej.

ElevenLabs nalicza opłaty za zamianę mowy na tekst na podstawie czasu trwania audio wysłanego do transkrypcji. Rozliczenie jest obliczane za godzinę audio, a stawki zależą od planu i modelu. Szczegółowe informacje znajdziesz na stronie cen API.

Cisza jest wliczana do rozliczanego czasu. Zarówno transkrypcja batch, jak i realtime są rozliczane za każdą sekundę wysłanego audio, w tym pauzy i fragmenty ciszy; nie ma zniżki za ciszę.

Kluczowe informacje

  • Obsługiwane wejście: akceptowane są pliki audio i wideo
  • Maksymalny rozmiar pliku: 3 GB
  • Maksymalny czas trwania: 10 godzin (tryb standardowy), 1 godzina (tryb wielokanałowy)
  • Tryb wielokanałowy: do 5 kanałów; każdy przetwarzany niezależnie z identyfikatorem mówcy przypisanym według numeru kanału
  • Webhooki: asynchroniczne wyniki transkrypcji mogą być dostarczane do webhooka — skonfiguruj je w ustawieniach workspace
  • Obsługiwane formaty audio: AAC, AIFF, OGG, MP3, OPUS, WAV, FLAC, M4A, WebM
  • Obsługiwane formaty wideo: MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP