Grupa docelowa: Ten artykuł jest skierowany do inżynierów oprogramowania sprzętowego audio oraz specjalistów ds. zakupów, którzy muszą określić wymagania dotyczące akustycznej redukcji echa w linii piór czytających obsługujących tryb interkomu, wyszukiwanie głosowe lub dwukierunkową weryfikację wymowy. Zakładamy, że wiesz już, jak działają mikrofon i głośnik, i potrzebujesz obronnej specyfikacji AEC.
Pióro czytające jest dupleksowym urządzeniem audio. Głośnik odtwarza narrację z głośnością do 85 dB SPL w odległości 10 cm, podczas gdy mikrofon rejestruje głos dziecka na poziomie −20 dBFS. Bez redukcji echa mikrofon odbiera narrację jako głośne echo o 30–50 dB powyżej sygnału mowy, silnik ASR słyszy jedynie echo, a dziecko słyszy swoją własną wymowę odtworzoną z powrotem, jakby pióro z niego kpiło. Akustyczna redukcja echa (AEC) to algorytm, który odejmuje znany sygnał głośnika od sygnału z mikrofonu, dzięki czemu mikrofon odbiera wyłącznie głos dziecka. Niniejszy artykuł wyjaśnia, jak AEC jest zaimplementowane w 11 modelach produkcyjnych (B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6), jak jest mierzone i jak je wyspecyfikować w umowie zakupu, aby nie wysłać pióra, które wchodzi w pętlę.
1. Dlaczego AEC w piórze czytającym różni się od AEC w zestawie słuchawkowym
Pióro czytające to najgorszy przypadek dla AEC. Głośnik i mikrofon znajdują się w odległości 25–45 mm w tej samej plastikowej obudowie, bez bariery akustycznej między nimi. Głośnik gra z głośnością do 85 dB SPL, mikrofon pracuje na poziomie −20 dBFS podczas mowy, a wzmocnienie ścieżki echa wynosi zatem 35–50 dB. W zestawie słuchawkowym głośnik jest zamknięty przy kanale usznym, a mikrofon znajduje się przy ustach; w piórze oba są wystawione na to samo powietrze.
Trzy czynniki sprawiają, że problem AEC w piórze czytającym jest trudniejszy niż podręcznikowy przypadek VoIP. Po pierwsze, ścieżka echa zmienia się nieustannie, gdy dziecko przesuwa pióro w dłoni — wzmocnienie i charakterystyka częstotliwościowa ścieżki głośnik–mikrofon zmieniają się przy każdym przestawieniu pióra. Po drugie, głośnik jest mały i nieliniowy, co powoduje zniekształcenia harmoniczne, które AEC musi nauczyć się odejmować. Po trzecie, pióro przełącza się między trybem tylko odtwarzania a trybem pełnego dupleksu w ciągu milisekund, gdy dziecko mówi podczas narracji, a AEC musi zbiec się w tym oknie, bo inaczej pierwsza sylaba zostanie utracona.
W konsekwencji AEC w piórze czytającym musi być adaptacyjne (śledzić zmieniającą się ścieżkę echa), nieliniowe (radzić sobie ze zniekształceniami głośnika) oraz szybkozbieżne (zamykać się na ścieżce echa w czasie poniżej 200 ms). W 11 modelach produkcyjnych stosowane są trzy implementacje AEC: WebRTC AEC3 w modelach L5/T2/Y6, Speex AEC w modelach K7/KF1/Q6/Q8 oraz uproszczony adaptacyjny LMS w modelach B1/B2/F8/P2.
2. Jak działa AEC na poziomie bloków
AEC działa poprzez modelowanie ścieżki echa jako filtra o skończonej odpowiedzi impulsowej (FIR), a następnie odejmowanie wyjścia filtra od sygnału mikrofonu. Współczynniki filtra są adaptowane za pomocą algorytmu znormalizowanych najmniejszych średniokwadratowych (NLMS) lub jego wariantów. Sygnałem referencyjnym jest audio odtwarzane przez głośnik — znane systemowi, ponieważ zostało wygenerowane wewnątrz oprogramowania sprzętowego.
Trzy bloki konstrukcyjne to: (1) liniowy filtr adaptacyjny modelujący ścieżkę głośnik–mikrofon; (2) procesor nieliniowy obsługujący echo resztkowe po liniowym odjęciu (tutaj usuwane są zniekształcenia i obcinanie głośnika); oraz (3) detektor doubletalk który decyduje, czy użytkownik mówi w tym samym czasie, gdy głośnik odtwarza dźwięk, co wymaga od AEC zamrożenia adaptacji, aby nie redukować mowy użytkownika.
WebRTC AEC3 stosowane w modelach L5/T2/Y6 implementuje wszystkie trzy bloki za pomocą najnowocześniejszych algorytmów: filtra adaptacyjnego w dziedzinie częstotliwości z podziałem na bloki (PBFDAF), nieliniowego procesora opartego na filtrze Wienera oraz detektora doubletalk opartego na koherencji. Speex AEC w modelach K7/KF1/Q6/Q8 wykorzystuje filtr adaptacyjny NLMS w dziedzinie czasu z prostym procesorem nieliniowym. Uproszczony LMS w modelach B1/B2/F8/P2 używa 128-tapowego NLMS w dziedzinie czasu z tłumikiem poziomu szumu.
3. Bazowa specyfikacja AEC dla poszczególnych modeli
Poniższa tabela podsumowuje implementację AEC w 11 modelach produkcyjnych. ERLE to wzmocnienie tłumienia echa (Echo Return Loss Enhancement), mierzone w dB — im wyższe, tym lepiej. Zbieżność doubletalk to czas potrzebny AEC na ponowne zblokowanie filtra po rozpoczęciu mówienia przez użytkownika podczas odtwarzania z głośnika. Koszt MIPS mierzony jest przy 16 kHz mono.
| Model | Algorytm AEC | Długość filtra | ERLE (stan ustalony) | ERLE (doubletalk) | Konwergencja | MIPS | Firmware |
|---|---|---|---|---|---|---|---|
| B1 | Adaptacyjny LMS | 128 tapów | 18 dB | 9 dB | 320 ms | 6 | 2.4.7 |
| B2 | Adaptacyjny LMS | 128 tapów | 19 dB | 10 dB | 300 ms | 6 | 2.4.7 |
| F8 | Adaptacyjny LMS | 96 tapów | 16 dB | 8 dB | 380 ms | 5 | 3.1.2 |
| K7 | Speex AEC | 256 tapów | 24 dB | 14 dB | 220 ms | 14 | 1.9.5 |
| KF1 | Speex AEC | 256 taps | 24 dB | 14 dB | 220 ms | 14 | 1.9.5 |
| L5 | WebRTC AEC3 | 1024 taps | 34 dB | 22 dB | 90 ms | 42 | 4.2.0 |
| P2 | Adaptive LMS | 96 taps | 15 dB | 7 dB | 400 ms | 5 | 2.0.3 |
| Q6 | Speex AEC | 256 taps | 26 dB | 16 dB | 200 ms | 14 | 3.3.1 |
| Q8 | Speex AEC | 256 taps | 26 dB | 16 dB | 200 ms | 3.3.1 | |
| T2 | WebRTC AEC3 | 1024 taps | 36 dB | 24 dB | 80 ms | 46 | 2.6.4 |
| Y6 | WebRTC AEC3 | 1024 taps | 34 dB | 22 dB | 90 ms | 42 | 2.6.4 |
Liczby mówią wprost o tym, co jest ważne dla działu zakupów. Platformy L5, T2 i Y6 zapewniają 34–36 dB ERLE w stanie ustalonym oraz 22–24 dB w trybie doubletalk — czyli w scenariuszu, który ma kluczowe znaczenie podczas weryfikacji wymowy, gdy dziecko mówi w momencie odtwarzania podpowiedzi. Platformy K7, KF1, Q6 i Q8 dostarczają 24–26 dB w stanie ustalonym oraz 14–16 dB w trybie doubletalk, co jest akceptowalne, ale dalekie od ideału. Platformy B1, B2, F8 i P2 zapewniają 15–19 dB w stanie ustalonym i 7–10 dB w trybie doubletalk, co jest granicznie akceptowalne w produkcie typu play-and-listen, ale niewystarczające do poważnej weryfikacji wymowy.
4. Problem doubletalk w weryfikacji wymowy
Najtrudniejszym scenariuszem AEC w długopisie czytającym jest doubletalk podczas weryfikacji wymowy. Schemat jest następujący: długopis odtwarza słowo-podpowiedź, dziecko w tym samym momencie powtarza to słowo, a długopis weryfikuje wymowę. Głośnik gra, mikrofon przechwytuje głos dziecka, a wzmocnienie ścieżki echa jest najgorsze, ponieważ długopis znajduje się blisko ust dziecka.
Dobry AEC osiąga zbieżność w ciągu pierwszych 100 ms odtwarzania podpowiedzi, dzięki czemu mowa dziecka, która rozpoczyna się w 200–600 ms, jest czysto przechwytywana. Słaby AEC wciąż adaptuje się, gdy dziecko zaczyna mówić, a detektor doubletalk blokuje filtr — co oznacza, że pierwsza sylaba wymowy dziecka jest zanieczyszczona szczątkowym echem. Silnik ASR słyszy wówczas „echo + mowę” i generuje wynik o niskiej pewności, który długopis zgłasza jako „spróbuj ponownie”.
W całym portfolio luka doubletalk ERLE między platformami opartymi na LMS (7–10 dB) a platformami WebRTC AEC3 (22–24 dB) stanowi największy pojedynczy wyróżnik jakości audio. Zadanie weryfikacji wymowy na platformie L5 kończy się powodzeniem w 86 procent przypadków przy hałasie klasy szkolnej; to samo zadanie na platformie B2 kończy się powodzeniem w 64 procent przypadków.
5. AEC a tłumienie szumu: dlaczego potrzebne są oba
Częstym błędem jest założenie, że tłumienie szumu i eliminacja echa to rozwiązania konkurujące ze sobą. Tak nie jest — są to kolejne etapy tego samego pipeline’u. Kolejność jest stała: najpierw AEC, potem tłumienie szumu. AEC usuwa znany sygnał głośnika z nagrania mikrofonowego, pozostawiając mieszaninę mowy dziecka, szumu otoczenia i wszelkiego szczątkowego echa. Tłumienie szumu usuwa następnie szum otoczenia, pozostawiając głównie mowę dziecka.
Jeśli odwrócisz kolejność, tłumienie szumu usunie szum otoczenia z sygnału mikrofonowego, który wciąż zawiera głośne echo głośnika — tłumienie szumu potraktuje echo jako sygnał mowy, a głos dziecka jako szum. Silnik ASR usłyszy wówczas wyłącznie echo. Firmware długopisu czytającego na każdej platformie wymusza tę kolejność.
Na L5, T2, Y6 pełny pipeline to: przechwycenie mikrofonowe → WebRTC AEC3 → RNNoise → silnik ASR → wynik. Na K7, KF1, Q6, Q8 to: przechwycenie mikrofonowe → Speex AEC → Wiener MMSE → silnik ASR. Na B1, B2, F8, P2 to: przechwycenie mikrofonowe → adaptacyjny LMS → odejmowanie spektralne → silnik ASR. Każda platforma implementuje odpowiednią parę algorytmów dla swojego budżetu MIPS.
6. Ścieżka echa akustycznego i warunki sprzętowe
AEC to po części problem algorytmiczny, a po części sprzętowy. Algorytm może w najlepszym razie odjąć około 30 dB echa; pozostałe 5–15 dB musi pochodzić z fizycznej izolacji między głośnikiem a mikrofonem. Obowiązują trzy warunki sprzętowe.
Po pierwsze, głośnik i mikrofon muszą znajdować się na przeciwnych końcach długopisu, z co najmniej 25 mm tworzywa między nimi. W L5, T2, Y6 głośnik znajduje się na końcu główki, a mikrofon na końcu końcówki, oddzielone 60 mm tworzywa; w B1, B2 umieszczono je na tym samym końcu, rozdzielone uszczelką. Po drugie, port głośnika musi mieć uszczelnienie tylnej objętości, zapobiegające przedostawaniu się promieniowania tylnego do mikrofonu. Q6, Q8, T2, Y6 wykorzystują konstrukcję z uszczelnioną tylną objętością; F8 i P2 wykorzystują konstrukcję wentylowaną, co kosztuje około 4 dB wzmocnienia ścieżki echa. Po trzecie, obudowa nie może mieć żadnych szczelin powietrznych między głośnikiem a mikrofonem — szczelina 0,5 mm może kosztować 6 dB wzmocnienia ścieżki echa, czego żaden algorytm AEC nie jest w stanie w pełni odzyskać.
Dla OEM budującego nowy długopis te trzy punkty to fizyczne ograniczenia projektowe, których algorytm AEC nie jest w stanie skorygować po fakcie. Portfolio długopisów czytających wymusza wszystkie trzy w oprzyrządowaniu i weryfikuje testem ERLE-vs-position na wejściowej kontroli jakości.
7. AEC a tryb interkomu
Tryb interkomu w K7, KF1, Q6, Q8, L5, T2 i Y6 to najbardziej wymagające obciążenie AEC. Rodzic mówi przez aplikację rodzica, dźwięk jest strumieniowany przez BLE do długopisu, długopis odtwarza go przez głośnik z głośnością 75–80 dB SPL, mikrofon przechwytuje głos rodzica oraz echo głośnika, a długopis przesyła oczyszczony sygnał mikrofonowy z powrotem do aplikacji rodzica. Opóźnienie w obie stronie wynosi 80–200 ms.
WebRTC AEC3 na L5/T2/Y6 zostało zaprojektowane specjalnie pod ten scenariusz i zapewnia ponad 30 dB ERLE podczas ciągłej rozmowy dwukierunkowej. Speex AEC na K7/KF1/Q6/Q8 zapewnia 22–25 dB w tym samym scenariuszu, co jest akceptowalne, ale powoduje sporadyczne słyszalne echo po stronie aplikacji rodzica. Uproszczony LMS na B1/B2/F8/P2 zapewnia 14–17 dB, dlatego tryb interkomu nie jest oficjalnie obsługiwany na tych platformach — rodzic usłyszałby swój własny głos odbijający się echem z opóźnieniem 200–400 ms.
8. Tryby awarii AEC w terenie
W telemetrii terenowej pojawiają się trzy tryby awarii AEC. Po pierwsze, rozbieżność filtra gdy sygnał głośnika jest skorelowany z sygnałem mikrofonu (np. gdy w pobliżu długopisu gra telewizor). Filtr adaptacyjny blokuje się na sygnale audio telewizora, traktując go jak sygnał głośnika, i kasuje niewłaściwy sygnał. Detektor doubletalk w L5/T2/Y6 temu zapobiega; na starszych platformach rozbieżność może utrzymywać się przez 1–3 sekundy. Po drugie, echo nieliniowe wynikające z przesterowania głośnika przy maksymalnej głośności. Liniowy filtr AEC nie jest w stanie zamodelować zniekształceń harmonicznych, dlatego procesor nieliniowy musi tłumić sygnał szczątkowy. Na K7/KF1/Q6/Q8 szczątkowe echo nieliniowe przy 85 dB wynosi około 6 dB; na L5/T2/Y6 wynosi około 2 dB. Po trzecie, opóźnienie początkowej zbieżności gdy długopis po raz pierwszy zaczyna odtwarzać audio po długiej ciszy. Pierwsze 200–800 ms odtwarzania zawiera szczątkowe echo, które nie zostało jeszcze wyeliminowane. L5/T2/Y6 uruchamia AEC wstępnie adaptując go w trakcie ciszy przed odtwarzaniem; starsze platformy startują „na zimno”.
Dla specjalistów ds. zakupów sporządzających RFQ te tryby awarii przekładają się na konkretne zapisy specyfikacji. Po pierwsze: „AEC musi osiągać ERLE ≥ 30 dB w stanie ustalonym single-talk, ≥ 20 dB w ciągłym doubletalk”. Po drugie: „AEC musi osiągać zbieżność w czasie poniżej 100 ms od początku odtwarzania głośnika”. Po trzecie: „Detektor doubletalk AEC musi zapobiegać rozbieżności filtra przy korelacji krzyżowej do 0,7 między sygnałem referencyjnym a sygnałem mikrofonu”.
9. AEC, AGC i DRC: trzy etapy audio
AEC jest pierwszym etapem audio, ale nie działa samodzielnie. Pełny łańcuch audio po stronie mikrofonu w długopisie czytającym to AEC → AGC → DRC → ASR. AGC (Automatic Gain Control) normalizuje poziom mowy po tym, jak AEC oczyści sygnał; DRC (Dynamic Range Compression) zmniejsza zakres dynamiki tak, aby ciche fonemy były słyszalne, a głośne fonemy nie były przesterowane. Te trzy etapy wzajemnie na siebie oddziałują i kolejność ma znaczenie.
Częstym błędem we wczesnym firmware długopisów czytających było umieszczanie AGC przed AEC, co powodowało niedopasowanie sygnału referencyjnego AEC do rzeczywistego sygnału głośnika (ponieważ AGC zdążył już skorygować poziom odtwarzania). Skutkiem było pogorszenie ERLE o 6–10 dB. Aktualny firmware na wszystkich 11 platformach umieszcza AEC jako pierwszy, AGC jako drugi, DRC jako trzeci — i blokuje tę kolejność w manifeście pipeline’u audio.
Dla importera kupującego zewnętrzną konstrukcję ODM pierwszą rzeczą do weryfikacji jest kolejność pipeline’u audio. Jeśli ODM nie potrafi przedstawić czytelnego schematu blokowego pokazującego AEC → AGC → DRC → ASR wraz z odpowiadającymi im nazwami algorytmów, należy potraktować taką konstrukcję jako niezweryfikowany firmware audio.
10. Jak specyfikować AEC w umowie zakupowej
Język RFQ powinien wskazywać klasę algorytmu, docelowy ERLE oraz obsługę doubletalk: „Eliminacja echa akustycznego musi osiągać ERLE ≥ 30 dB w stanie ustalonym single-talk, ≥ 20 dB w ciągłym doubletalk, przy zbieżności doubletalk poniżej 100 ms. Klasa algorytmu: filtr adaptacyjny w dziedzinie częstotliwości z nieliniowym post-procesorem dla platform premium; NLMS w dziedzinie czasu dla platform legacy. Detektor doubletalk AEC musi zapobiegać rozbieżności filtra przy korelacji krzyżowej do 0,7 między sygnałem referencyjnym a sygnałem mikrofonu”.
Trzy szczegóły mają znaczenie. Po pierwsze, musi być określony sygnał testowy — stosujemy 30-sekundową, fonetycznie zbalansowaną próbkę mowy angielskiej jako referencję far-end, odtwarzaną przy 75 dB SPL w odległości 10 cm, przy czym mikrofon near-end przechwytuje mowę dziecka na poziomie −20 dBFS. Po drugie, musi być określone środowisko testowe — ciche biuro o natężeniu szumu otoczenia 30 dBA; głośniejsze środowisko zawyża szczątkowe echo i zmienia wyniki. Po trzecie, musi być określony czas wystąpienia doubletalk — far-end startuje w t=0, near-end startuje w t=500 ms, a AEC oceniany jest pod kątem ERLE od t=500 ms wzwyż.
Wskazówka dla kupującego: Poproś ODM o wykres ERLE-vs-time z ich kontroli QA AEC. Wykres powinien pokazywać wzrost ERLE z 0 dB w t=0 do ≥ 30 dB w t=300 ms w single-talk oraz stabilne ≥ 20 dB od t=500 ms wzwyż w doubletalk. Jeśli na wykresie brakuje zakresu doubletalk, AEC nie został przetestowany w trybie, który ma znaczenie.
10b. ERLE AEC w warunkach obciążenia doubletalk
Najbardziej wymagającym testem AEC jest doubletalk podczas weryfikacji wymowy, gdy głośnik odtwarza podpowiedź, a dziecko jednocześnie powtarza słowo. Poniższy wykres przedstawia doubletalk ERLE dla każdego modelu w naszym standardowym teście z onsetem 500 ms.
11. Matryca decyzyjna i rekomendacje
Dla zupełnie nowego programu długopisu czytającego startującego w 2026 roku rekomendacja to WebRTC AEC3 na L5, T2, Y6 dla każdego programu obsługującego tryb interkomu, wyszukiwanie głosowe lub dwukierunkową weryfikację wymowy; oraz Speex AEC na K7, KF1, Q6, Q8 dla programów wymagających jedynie eliminacji echa w single-talk dla play-and-listen. Uproszczony LMS na B1, B2, F8, P2 jest akceptowalny wyłącznie dla play-and-listen i nie powinien być specyfikowany dla żadnego programu wymagającego przechwytywania głosu podczas odtwarzania głośnika.
Dla specjalisty ds. zakupów piszącego specyfikację AEC zdanie zamykające kontrakt brzmi: „Eliminacja echa akustycznego musi osiągać ERLE ≥ 30 dB w stanie ustalonym, ≥ 20 dB w doubletalk, zbieżność ≤ 100 ms; detektor doubletalk musi zapobiegać rozbieżności przy korelacji krzyżowej ≤ 0,7; AEC musi poprzedzać AGC i DRC w pipeline’ie audio; wykres ERLE-vs-time z QA musi być dostarczony wraz z pierwszą próbką”.
Powiązane lektury
- Kompresja kodeków w długopisie czytającym: MP3 vs AAC vs Opus
- Tłumienie szumu w długopisie czytającym i RNNoise
- Wiązanie wiązki w mikrofonach macierzowych długopisu czytającego
- AGC i automatyczna kontrola wzmocnienia w długopisie czytającym
- DRC i kompresja dynamiki w długopisie czytającym
- Mikrofon MEMS i redukcja szumu w długopisie czytającym
- Usługi OEM dla długopisów czytających
- Zapytaj o wycenę długopisu czytającego