Sprawdzone metody dotyczące dźwięku

Na tej stronie znajdziesz zalecenia dotyczące przekazywania danych o mowie do interfejsu Google Assistant API. Opracowaliśmy te wskazówki z myślą o większej skuteczności i dokładności, a także z rozsądnym czasem odpowiedzi.

Wstępne przetwarzanie dźwięku

Najlepiej jest, gdy dźwięk jest jak najczystszy, a używany do tego mikrofon wysokiej jakości. Jednak zastosowanie przetwarzania sygnału redukcji szumów przed przesłaniem dźwięku do usługi zazwyczaj zmniejsza dokładność rozpoznawania. Usługa została zaprojektowana w celu obsługi hałaśliwych dźwięków.

Aby uzyskać najlepsze rezultaty:

  • Ustaw mikrofon jak najbliżej użytkownika, szczególnie wtedy, gdy w tle występuje szum.
  • Unikaj tworzenia klipów audio.
  • Nie używaj automatycznej kontroli wzmocnienia (AGC).
  • Całe przetwarzanie redukcji szumów powinno być wyłączone.

Idealnie:

  • Poziom dźwięku należy skalibrować tak, aby sygnał wejściowy nie był zacinany, a szczytowe poziomy głośności mowy wynoszą około -20–10 dBFS.
  • Urządzenie powinno wykazywać w przybliżeniu „płaską” amplitudę w porównaniu z częstotliwością (+-3 dB w zakresie 100–8000 Hz).
  • Całkowite zniekształcenie harmoniczne powinno być mniejsze niż 1% w zakresie od 100 Hz do 8000 Hz przy poziomie wejściowego 90 dB SPL.

Częstotliwość próbkowania

Jeśli to możliwe, ustaw częstotliwość próbkowania ze źródła dźwięku na 16 000 Hz. W przeciwnym razie ustaw parametr sample_rate_hertz tak, aby pasował do natywnej częstotliwości próbkowania źródła dźwięku (zamiast ponownego próbkowania).

Rozmiar ramki

Asystent Google rozpoznaje dźwięk na żywo, gdy jest rejestrowany przez mikrofon. Strumień audio musi być podzielony na klatki i wysyłany w kolejnych wiadomościach AssistRequest. Dopuszczalny jest dowolny rozmiar klatki. Większe klatki są wydajniejsze, ale zwiększają opóźnienie. Zalecany rozmiar klatki o szerokości 100 milisekund to dobry kompromis między opóźnieniem a wydajnością.