Przejdź do treści

Moonlight

Zamiana mowy na tekst,stworzona dla telefonii.

Moonlight to nasz autorski silnik rozpoznawania mowy. Dźwięk z telefonii trafia do niego bez zmian, w 8 lub 16 kHz, przez WebSocket, gRPC albo HTTP. Słowa wracają jeszcze w trakcie wypowiedzi, każde ze znacznikiem sekundy, w której zostało wypowiedziane.

Kontakt ze sprzedażą
connect.pyWebSocket
# przesyłaj dźwięk telefoniczny, odbieraj słowa w trakcie wypowiedziws = connect("wss://api.voicelab.ai/classify/asr", headers={"content-type": "audio/l16;rate=8000", # PCM, a-law, mu-law, FLAC"X-Voicelab-Conf-Name": "8000_pl_PL", # język + częstotliwość próbkowania"X-Voicelab-Pid": "<twój projekt>",})for chunk in audio:    ws.send(chunk)    print(ws.recv()){"status": "OK", "shift": "1", "words": ["dzwonię"]}{"status": "OK", "shift": "0", "words": ["w"]}{"status": "OK", "shift": "2", "words": ["sprawie", "dostawy"], "start": [1.84, 2.05]}
Na żywo - połączenie przychodzące - 8 kHz
  1. Dzwonię w sprawie

    shift 4
  2. Dzwonię w sprawie dost

    shift 1
  3. Dzwonię w sprawie dostawy

    shift -1
  4. Dzwonię w sprawie dostawy

    final

Zaufali nam

Jak to działa

Wyślij dźwięk. Odbierzsłowa ze znacznikami czasu.

Jeden silnik, trzy sposoby przesyłania. Strumieniuj przez WebSocket lub gRPC albo wysyłaj pliki do API HTTP w formacie, który już generuje Twoja telefonia. Jeden nagłówek decyduje, który model nasłuchuje.

  1. Wyślij

    Strumieniuj przez WebSocket lub gRPC albo wywołaj API HTTP. Kodeki telefoniczne trafiają bez zmian, a jeden nagłówek wybiera konfigurację: język i częstotliwość próbkowania.

  2. Rozpoznaj

    Słowa wracają, gdy rozmówca nadal mówi. Każdy wynik częściowy określa, ile poprzednich słów zastąpić, dzięki czemu na ekranie zawsze widzisz najlepszy aktualny wynik silnika.

  3. Odbierz

    JSON zawiera słowa oraz czas ich rozpoczęcia i zakończenia, dzięki czemu możesz przejść do sekundy, w której coś padło, dopasować tekst do nagrania albo przekazać go bezpośrednio do własnych modeli.

Dwie rzeczy warte uwagi

Słowa na żywo i czaskażdego z nich.

Dokładność to podstawa. Te dwa elementy decydują, czy na transkrypcji da się zbudować produkt.

Słowa, gdy zdanie wciąż trwa.

Wyniki częściowe pojawiają się niemal natychmiast po dźwięku, a każdy z nich wskazuje, jak daleko cofnąć się z korektą. Asystenci agentów, podpowiedzi na żywo i voiceboty tego potrzebują.

  • Wyniki częściowe z przesunięciem, tekst nie przeskakuje
  • Czterobajtowy znacznik kończy strumień
  • Przykładowe implementacje klienckie dla wszystkich trzech protokołów
Kontakt ze sprzedażą

Każde słowo ze znacznikiem czasu

Czasy początku i końca każdego słowa zmieniają transkrypcję w coś, na czym można budować: wyszukiwanie trafiające we właściwy moment, napisy zsynchronizowane z obrazem i analitykę.

  • Czasy początku i końca na poziomie słowa
  • Zwykły JSON, bez własnego formatu do parsowania
  • Ten sam silnik dla transmisji strumieniowej i plików
Kontakt ze sprzedażą

Każdy kanał, którym dociera do Ciebie klient

Co trafia do systemu,co z niego wychodzi.

Konfiguracje są nazwane według języka i częstotliwości próbkowania, dlatego linia telefoniczna i nagranie spotkania korzystają z wyraźnie różnych modeli - zamiast z jednego, który ma sobie jakoś poradzić.

Kontakt ze sprzedażą
Języki
  • Polski
  • Angielski
  • Niemiecki
  • Włoski
  • Rosyjski
Dźwięk wejściowy
  • PCM 8 kHz
  • PCM 16 kHz
  • a-law
  • μ-law
  • FLAC
Protokoły
  • WebSocket
  • gRPC
  • HTTP

Pytania, które słyszymy

Zadaje je każdyzespół inżynierski.

Jeśli nie ma tu Twojego pytania, zadaj je przed integracją. Wolimy odpowiedzieć teraz niż później w zgłoszeniu do pomocy technicznej.

Zobacz całe FAQ

Jakiej dokładności możemy się spodziewać?

Mierzymy ją na Twoich nagraniach, porównując wynik z Twoją transkrypcją referencyjną, a nie z publicznym benchmarkiem. W pierwszym tygodniu przetwarzamy trzydzieści Twoich plików i przekazujemy współczynnik błędu słów obok transkrypcji, aby można było ocenić oba wyniki. Kto podaje jeden procent bez odsłuchania Twoich nagrań, podaje wynik uzyskany na cudzych danych.

Czy działa z dźwiękiem telefonicznym 8 kHz?

Tak. Moonlight przyjmuje dźwięk telefoniczny 8 i 16 kHz, w tym PCM, a-law, μ-law i FLAC. Wybierasz konfigurację łączącą język z częstotliwością próbkowania, a następnie strumieniujesz dźwięk przez WebSocket lub gRPC albo wysyłasz pliki przez HTTP bez ponownego próbkowania źródła.

Jakie języki są dostępne?

Moonlight obsługuje język polski, angielski, niemiecki, włoski i rosyjski. Język oraz częstotliwość próbkowania wybiera się jawnie w konfiguracji, dzięki czemu telefonia i nagrania o wyższym paśmie korzystają z odpowiedniego modelu.

Ile trwa integracja?

Zależy to od sposobu połączenia i wymagań środowiska produkcyjnego, dlatego nie podajemy sztywnego terminu przed poznaniem środowiska. Najpierw potwierdzamy format dźwięku, konfigurację języka i częstotliwości próbkowania, sieć oraz test akceptacyjny, a następnie sprawdzamy integrację i dokładność na Twoich nagraniach.