Varför avbryter en lokal röstassistent sig själv i ett efterklangsrikt rum?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

En lokal röstassistent kan avbryta sig själv när reflekterat uppspelningsljud finns kvar efter ekokansellering och misstas för ett aktiveringsord eller en signal om att en människa bryter in.

Assistentens högtalare och mikrofoner finns i samma rum, så varje talat svar återkommer genom direkt läckage och fördröjda reflektioner från väggar, möbler och glas. Akustisk ekokansellering uppskattar den vägen och subtraherar uppspelningsljudet från mikrofonströmmen. Lång efterklang, förflyttning av enheten, olinjära högtalare, volymförändringar och samtidigt mänskligt tal gör uppskattningen ofullständig och kan utlösa avbrottslogiken.

Uppspelningen återkommer genom en tidsvarierande ekoväg

Mikrofonen fångar närtal plus assistentens högtalarsignal, konvolverad med rummets impulssvar. En kort direktväg är enklare att modellera än hundratals millisekunder av avklingande reflektioner, särskilt när människor eller föremål rör sig.

efterklangsekot från uppspelning tar bort ekot från text-till-tal-uppspelning i överlappande inspelningar och modellerar uttryckligen efterklang från TTS som fångas av mikrofonen. Problemformuleringen visar varför assistenten har en ren referenssignal men ändå tar emot en akustiskt transformerad kopia.

Ett adaptivt filter uppskattar kontinuerligt ekovägen från uppspelningsreferensen till mikrofonen. Om filtret är för kort, anpassar sig för långsamt eller återställs mellan svaren kan det kvarvarande talet behålla tillräcklig fonetisk struktur för att likna aktiveringsordet eller ett yttrande där användaren bryter in.

Dubbeltal och olinjär uppspelning begränsar kanselleringen

Vid dubbeltal talar en person medan assistenten spelar upp ljud. Kanselleraren måste bevara den mänskliga rösten utan att anpassa sig till den som om den vore en del av ekovägen; aggressiv dämpning kan radera användarens tal, medan svag dämpning lämnar kvar assistentens eget tal.

olinjärt kvarvarande eko kombinerar ett adaptivt filter med ett djupt nätverk i flera steg för att hantera kvarvarande eko och olinjära komponenter. Arkitekturen återspeglar att enbart linjär subtraktion inte kan modellera högtalarförvrängning, klippning och rumseffekter under alla förhållanden.

Högtalarförvrängning som beror på volymen är särskilt problematisk eftersom uppspelningsreferensen fångas före förstärkaren och omvandlaren tillför olinjäriteter. Om enheten flyttas, en mikrofon täcks över eller ljudutmatningen ändras blir ett tidigare konvergerat filter också ogiltigt.

Logik för aktiveringsord och användaravbrott omvandlar kvarvarande eko till en åtgärd

Efter ekodämpningen avgör modeller för röstaktivitet och aktiveringsord om en person talar. Låga trösklar förbättrar responsen men kan tolka kvarvarande stavelser, efterklangssvansar eller artefakter från komfortbrus som tecken på att uppspelningen ska stoppas och igenkänningen öppnas på nytt.

gemensam tal- och ekobearbetning utvecklar personlig talförbättring i realtid med akustisk ekokansellering under strikta beräkningsbegränsningar. Arbetet visar behovet av att bevara måltal samtidigt som samtidig uppspelning dämpas, i stället för att behandla hela det blandade intervallet som brus.

Felgränsen går vid antagandet att ett avbrott bevisar dålig ekokansellering. En faktisk användare, en tv, ett aviseringsljud eller en nätverksfördröjd styrhändelse kan också stoppa uppspelningen. Logga mått för kvarvarande eko, aktiveringskonfidens, röstaktivitet och det slutliga avbrottsbeslutet på samma klocka.

Mät självavbrott mot uppspelningsreferensen

Spela upp fasta assistentfraser vid flera volymer i ett tyst rum och lägg sedan till ett mänskligt avbrott, tal från en tv och förflyttning av enheten. Testa mikrofonpositioner på nära och långt avstånd medan du spelar in uppspelningsreferens, råa mikrofonsignaler, ekokansellerat ljud, aktiveringspoäng, röstaktivitet och tidsstämplar för avbrott.

Jämför rumsvariablerna med begränsningar för röst på långt avstånd. Mät förbättringen av ekoreturnivån, falska avbrott per timme, missade verkliga avbrott och återhämtningstiden efter att ekovägen ändras, i stället för att bara bedöma hur rena inspelningarna låter.

Justera avbrottströskeln först efter att kanselleraren har konvergerat i representativa rum och vid representativa volymer. Om dämpning av själveko också tar bort verkliga användare, krävs ett längre bekräftelsefönster eller riktningsbaserade belägg i stället för att ensidigt maximera kansellering eller responsivitet.

Teknik- och AI-hubb

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.