Ein sauberes Audio-Front-End für Sprach-KI bauen
Ein Sprachmodell hört nur das Audio, das ihm das Front-End übergibt, und was dieses Front-End verliert oder hinzufügt, muss das Modell kompensieren. Das Front-End wandelt den Raumschall in saubere Daten in dem Format um, das das Modell erwartet, und wandelt die Antwort des Modells zurück in Schall. Was dabei erfasst wird, setzt die Obergrenze für das, was das Modell verstehen kann, denn kein nachgelagerter Prozess stellt ein Wort wieder her, das das Mikrofon nie aufgenommen hat.
Der Signalpfad umfasst mehrere Stufen. Ein Mikrofon wandelt Schall in ein Signal um, ein Codec oder ein Wandler wandelt dieses Signal in Daten um, und ein Takt sorgt dafür, dass die Abtastwerte in einem gleichmäßigen Rhythmus fließen, auf den das Modell angewiesen ist. Auf dem Rückweg wandelt ein Verstärker Daten in ausreichend Leistung um, um einen Lautsprecher anzutreiben. Um all das herum liegen die schwieriger zu lösenden Probleme eines realen Raums: Entfernung, Rauschen und die eigene Lautsprecherausgabe des Geräts, die in sein eigenes Mikrofon einstrahlt.
Was ein Sprachmodell von seinem Front-End benötigt
Ein auf Sprache trainiertes Modell erwartet Audio, das seinen Trainingsdaten ähnelt. Das bedeutet eine bekannte Abtastrate, ein sauberes Signal mit deutlich über dem Rauschen liegender Sprache sowie einen kontinuierlichen Datenstrom ohne Lücken durch verlorene Abtastwerte. Ein Front-End, das eine andere Rate, ein verrauschteres Signal oder einen stockenden Datenstrom liefert, übergibt dem Modell Audio, auf dessen Verarbeitung es nicht trainiert wurde, und die Erkennungsgenauigkeit sinkt, ohne dass ein einzelnes Bauteil versagt.
Das Front-End wird daher ausgehend von dem konzipiert, was das Modell konsumiert. Die Abtastrate wird auf den Bedarf des Modells eingestellt, oft eine moderate Rate für Sprache statt der hohen Rate, die Musik benötigt. Die Kanalzahl richtet sich danach, ob das Modell ein oder mehrere Mikrofone verarbeitet. Das Signal wird ab dem Mikrofon sauber gehalten, denn ein Modell kann neu trainiert werden, aber es kann keine Details erfinden, die der Analogpfad bereits verworfen hat.
Das Format ist ein Vertrag, keine Präferenz. Ein Modell, das auf einer bestimmten Abtastrate und Kanalzahl trainiert wurde, erwartet genau diese Werte, und ein Front-End, das eine andere Rate oder einen zusätzlichen Kanal liefert, erzwingt eine Konvertierung, die entweder Rechenleistung kostet oder die Audioqualität verschlechtert. Das Format einmalig am Modell festzulegen spart bei jeder Abtastprobe über die gesamte Produktlebensdauer laufende Kosten.
Ein Teil der Bereinigung liegt in der Hardware, ein Teil im Modell, und die Grenze zwischen beiden ist eine Designentscheidung. Ein Codec kann Verstärkung und ein einfaches Filter anwenden, bevor die Daten ihn verlassen, was dem Modell diese Arbeit erspart und das Signal im richtigen Bereich hält, während intensivere Rauschunterdrückung und akustische Echounterdrückung üblicherweise in Software laufen, wo sie sich anpassen können. Festzulegen, was das Front-End bereinigt und was das Modell übernimmt, verhindert, dass eines von beiden die Aufgabe des anderen schlecht ausführt.
Das Signal des Mikrofons einlesen
Kleine Geräte setzen auf digitale Mikrofone, von denen viele ein Format namens PDM verwenden, einen dichten Einzelbitstrom, der kostengünstig auf einer Platine geroutet werden kann. Ein Prozessor, der Standard-Audiodaten erwartet, kann PDM nicht direkt lesen, daher muss etwas diesen dichten Bitstrom in das I2S-Format umwandeln, das Audioperipherie versteht.
Der ADAU7002 wandelt ein PDM-Mikrofon in I2S um, ein kleines Bauteil, das den Einzelbitstrom des Mikrofons nimmt, ihn herunterfiltert und als Standard-Audioproben auf einem I2S-Bus bereitstellt. Es ermöglicht dem Designer, kostengünstige PDM-Mikrofone mit einem Prozessor zu verwenden, der nur I2S spricht, und übernimmt das Taktmanagement, das das Mikrofon zum Betrieb benötigt. Für ein Gerät mit einem oder zwei digitalen Mikrofonen ist es die Brücke, die ihren Schall in einer Form in den Prozessor bringt, die der Rest der Kette erwartet.
Das Mikrofon selbst setzt eine Untergrenze, die die Brücke nicht anheben kann. Ein Mikrofon mit schlechtem Signal-Rausch-Abstand liefert ein zischendes Signal, und keine nachgelagerte Umwandlung entfernt dieses Rauschen aus der Sprache. Das Mikrofon wird zuerst nach seinem Rauschwert und seiner Empfindlichkeit ausgewählt, und die Brücke wird an das Format angepasst, das es verwendet.
Der Übertragungsweg des Signals spielt eine Rolle, bevor es überhaupt gewandelt wird. Eine PDM-Leitung ist eine schnelle digitale Flanke, und über zu große Platinenstrecken strahlt sie Rauschen ab und nimmt es gleichzeitig auf. Daher sitzt das Mikrofon nahe an der Brücke oder dem Prozessor, der es liest. Leitungslänge bei einer Mikrofonleitung ist selten kostenlos.
Der Codec, der Schall in Daten wandelt

Wo das Mikrofon analog ist oder wo das Gerät auch Audio wiedergeben muss, arbeitet ein Codec in beide Richtungen. Er enthält den Analog-Digital-Wandler, der das Signal eines Mikrofons in Daten umwandelt, und den Digital-Analog-Wandler, der Daten zurück in ein Signal für einen Lautsprecher oder Kopfhörer umwandelt, zusammen mit der zugehörigen Verstärkung und Filterung.
Der SGTL5000 arbeitet als stromsparender Audio-Codec für ein Sprachgerät, ein Bauteil, das von einem Mikrofon aufnimmt und über einen kleinen Ausgang wiedergibt, während es wenig Strom verbraucht. Das eignet sich für ein batteriebetriebenes Gerät, das zuhören und sprechen muss. Es bietet einem Sprach-Front-End beide Richtungen in einem Chip mit einem ausreichend sauberen Signalpfad für Sprache und hält den Stromverbrauch niedrig genug, um in einem kleinen Batteriebudget Raum zu lassen.
Ein Codec bietet auch die kleinen Annehmlichkeiten, die ein Design einfach halten: eine Mikrofonbias-Versorgung, programmierbare Verstärkung, damit der Eingangspegel in Software eingestellt werden kann, und Filter, die das Band vor dem Verlassen der Daten aus dem Chip begrenzen. Einen Codec statt eines reinen Wandlers zu wählen ist oft die Entscheidung, die drei oder vier Bauteile von der Platine nimmt.
Wenn das Front-End mehr als einen Eingang hat
Manche Geräte nehmen mehr als eine Quelle auf: ein paar Mikrofone plus einen Lineingang, oder mehrere Mikrofone, die der Prozessor kombiniert. Das erfordert einen Wandler mit mehr als einem Eingangskanal und das Routing zum Mischen oder Auswählen zwischen ihnen.
Der TLV320AIC3204 erfasst mehrere Eingänge an einem Sprach-Front-End, ein Codec mit mehreren Eingangskanälen, programmierbarem Routing und OnChip-Verarbeitung, die filtern und mischen kann, bevor die Daten den Prozessor erreichen. Er passt zu einem Gerät, das Schall von mehr als einem Mikrofon erfasst oder zwischen Quellen wechseln muss, und seine integrierte Verarbeitung entlastet den Hauptprozessor bei einem Teil der Bereinigung.
Mehr Eingänge bedeuten auch mehr, was synchron gehalten werden muss. Die Kanäle teilen den Wandlertakt, damit ihre Abtastwerte aufeinander abgestimmt sind, und ein Gerät, das sie mischt oder ein Array daraus betreibt, ist auf diese Ausrichtung angewiesen. Ein Mehreingabe-Codec, der alle seine Kanäle gemeinsam taktet, leistet stille Arbeit, die eine Handvoll separater Wandler schwer umzusetzen wäre.
Dem Gerät eine Stimme geben
Ein Sprachgerät muss in der Regel antworten, was bedeutet, Audiodaten in genug Leistung umzuwandeln, um einen Lautsprecher zu bewegen. Ein kleiner Linepegel-Ausgang kann einen Lautsprecher nicht allein ansteuern, daher sitzt ein Verstärker zwischen den Daten und der Membran.
Der MAX98357A treibt einen kleinen Lautsprecher direkt aus I2S an, ein Klasse-D-Verstärker, der I2S-Audiodaten direkt entgegennimmt und einen Lautsprecher ohne einen separaten Wandler davor ansteuert. Er wandelt den digitalen Audiostrom effizient in Lautsprecherleistung um, was Wärmeentwicklung und Batterieentnahme gering hält, und er entfernt ein Bauteil von der Platine, indem er I2S selbst liest. Für ein Gerät, das nur Hinweise und Antworten ausgeben muss, ist es ein direkter Weg von den Daten zum Schall.
Der Verstärker bringt sein eigenes Rauschen zurück in Richtung Front-End, da ein Klasse-D-Ausgang seine Versorgung mit hoher Frequenz zerhackt, um effizient zu bleiben. Seine Ausgangsfilterung und sein Layout halten dieses Schalten aus dem Mikrofonpfad heraus, was bei einem Gerät, das zuhört während es spricht, doppelt wichtig ist.
Über den Raum hinweg hören

Ein Sprachmodell, das von der anderen Seite eines Raums aus arbeiten muss, steht vor einem schwierigeren Problem als eines mit einem nah gehaltenem Mikrofon. Die Sprache kommt leiser an, vermischt mit Raumrauschen und Echos von den Wänden, und ein einzelnes Mikrofon kann den Sprecher nicht vom Rest unterscheiden. Ein Mikrofon-Array kann das.
Wie dieses Array aufgebaut wird, ist Gegenstand von der Auslegung eines Mikrofon-Arrays für Fernfeld-Sprache. Mehrere Mikrofone, die in einem bekannten Abstand voneinander angeordnet sind, ermöglichen es dem Prozessor zu vergleichen, wann ein Schall jeden erreicht, und sein Zuhören auf den Sprecher zu lenken, während der Rest des Raums gedämpft wird. Das ist Beamforming. Der Abstand bestimmt, welche Richtungen und Frequenzen das Array gut verarbeitet, und er muss auf die Größe des Geräts und den Sprachfrequenzbereich ausgelegt werden.
Das Array stellt höhere Anforderungen an alles dahinter. Jedes Mikrofon benötigt seinen eigenen sauberen Kanal, die Kanäle müssen synchron bleiben, damit der Zeitvergleich gilt, und die Verarbeitung zum Kombinieren benötigt die Rechenleistung, um in Echtzeit zu laufen. Ein Fernfeld-Front-End ist ein System, nicht ein einzelnes Bauteil.
Das Array verändert auch die Bedeutung des Rauschbodens. Das Kombinieren mehrerer Mikrofone hebt den Sprecher um einige Dezibel über den Raum, ähnlich dem Gewinn, den ein ruhigeres Mikrofon bringt. Das Array ist also einer der Hebel, der die Obergrenze anhebt, unter der das Modell arbeitet. Diesen Gewinn erkauft man sich mit Platinenfläche, aufeinander abgestimmten Bauteilen und dem kontinuierlichen Rechenaufwand für Beamforming in jedem Moment, in dem das Gerät zuhört.
Der Audio-Takt und die darauf aufbauenden Daten
Audio ist ein Strom von Abtastwerten, die mit einer festen Rate entnommen werden, und der Takt, der diese Rate vorgibt, durchzieht das gesamte Front-End. Driftet oder stockt der Takt, kommen Abtastwerte zu früh, zu spät oder gar nicht an, und das Modell hört Klicks, Tonhöhenverschiebungen oder Lücken, die nie im Raum vorhanden waren. Ein sauberer Takt ist genauso Teil sauberen Audios wie ein sauberes Mikrofon.
Die Daten laufen in einem von wenigen Formaten. I2S überträgt einen oder zwei Kanäle auf wenigen Leitungen und eignet sich für einfache Geräte. PDM überträgt den dichten Einzelbitstrom, den ein digitales Mikrofon erzeugt. TDM überträgt viele Kanäle auf einem Bus, indem jedem ein Zeitschlitz zugewiesen wird. So erreicht ein Mikrofon-Array den Prozessor ohne eine Leitung pro Kanal. Das Front-End wird um das Format herum aufgebaut, das die Bauteile und der Prozessor gemeinsam nutzen.
Ein Master-Clock verbindet alles. Viele Codecs und Brücken benötigen einen hochfrequenten Master-Clock, der ein bekanntes Vielfaches der Abtastrate ist, und der Abtastratentakt sowie der Bittakt werden daraus abgeleitet, damit jedes Bauteil Abtastwerte auf dieselbe Weise zählt. Wenn zwei Bauteile von Takten laufen, die ähnlich, aber nicht synchronisiert sind, driften ihre Abtastzählungen über Minuten auseinander und das Audio gleitet ab. Deshalb läuft das Front-End von einer einzigen Taktquelle statt von mehreren.
Jitter in diesem Takt ist eine stille Einbuße. Ein Abtasttakt, der zeitlich schwankt, selbst wenn seine Durchschnittsrate korrekt ist, verwischt das Wandler-Timing und fügt dem erfassten Audio Rauschen hinzu, am stärksten im oberen Frequenzbereich. Ein sauberer, jitterarmer Takt gehört zur analogen Qualität des Front-Ends, nicht nur zu seiner digitalen Korrektheit.
Die Abtastrate wird für die Aufgabe gewählt, nicht für die höchste verfügbare Zahl. Sprache trägt ihre Bedeutung in einem Band, das eine moderate Rate erfasst, und das Front-End schneller zu betreiben verschwendet Strom und Daten auf Details, die das Modell nicht verwendet. Eine am Modell ausgerichtete Rate hält den Datenstrom klein und den Stromverbrauch niedrig, ohne etwas zu verlieren, was die Sprache benötigt.
Format und Rate werden zwischen den Bauteilen vereinbart, bevor eines davon ausgewählt wird, denn eine Mikrofonbrücke, ein Codec und ein Prozessor, die sich in Format oder Takt uneinig sind, kommunizieren überhaupt nicht.
Den analogen Audiopfad ruhig halten
Der Abschnitt zwischen einem Mikrofon und dem Wandler ist analog, und im Analogbereich gelangt elektrisches Rauschen der Platine in das Audio. Ein nahegelegener schaltender digitaler Prozessor, eine wellenbehaftete Versorgungsspannung, eine Taktspur neben der Mikrofonleitung: Jedes dieser Elemente kann ein Brummen oder Zischen in das Signal einkoppeln, bevor es digitalisiert wird, und einmal drin ist es Teil des Audios, das das Modell hört.
Es ruhig zu halten ist Layoutarbeit. Das Mikrofon und seine Analogleitungen liegen abseits der rauschenden Digital- und Leistungsbereiche, die analoge Masse wird sauber gehalten und an einem sorgfältig gewählten Punkt mit dem Rest verbunden, und die Wandlerreferenz sowie die Versorgung werden gefiltert, damit ihr Rauschen nicht in die Abtastwerte einfließt. Ein digitales Mikrofon verlegt den Wandler in das Mikrofon selbst und sendet digitale Daten aus, was einen Großteil davon umgeht, indem der Analogpfad nur wenige Millimeter lang bleibt. Das ist ein Grund, warum kleine Geräte sie bevorzugen.
Mechanisches Rauschen zählt ebenfalls. Eine Mikrofonöffnung koppelt alle Vibrationen ein, die das Gehäuse überträgt. Ein Lüfter, ein Lautsprecher oder ein Tastendruck kann über die Struktur statt über die Luft ankommen, und Halterung sowie Öffnung sind so gestaltet, dass das so gut wie das elektrische Rauschen ferngehalten wird.
Die Versorgungsspannung ist die andere Hälfte eines ruhigen Pfades. Analogbauteile benötigen eine stabile Versorgung, frei von dem Schaltripple der digitalen Seite, oft einen kleinen dedizierten Regler oder einen eigenen gefilterten Zweig, da ein Wandler nur so ruhig ist wie die Referenz und Versorgung, gegen die er misst.
Das Front-End setzt die Obergrenze dessen, was das Modell hört
Eine nützliche Betrachtungsweise eines Sprach-Front-Ends ist, dass es eine Obergrenze setzt, die das Modell nie überschreiten kann, weil das Modell mit dem gegebenen Signal arbeitet und nicht wiederherstellen kann, was das Front-End bereits verloren hat. Jede Stufe vom Mikrofon bis zum Datenstrom fügt ihr eigenes Rauschen hinzu und verwirft einen kleinen Teil des Signals, und sobald Sprache in den Rauschboden abgesunken ist, holt kein noch so cleveres Modell sie mit Sicherheit zurück. Ein Mikrofon mit schlechtem Rauschwert legt ein Zischen unter jedes Wort. Ein günstiger Analogpfad zwischen Mikrofon und Wandler fügt eigenes Rauschen hinzu und nimmt Störungen vom Rest der Platine auf. Ein Wandler, der mit zu wenig Bits oder mit einer verrauschten Referenz betrieben wird, quantisiert die leisen Sprachanteile zu Matsch. Jeder dieser Verluste tritt auf, bevor das Modell einen einzigen Abtastwert sieht, und das Modell erbt ihre Summe als den Boden, über dem es hören muss. Deshalb wird ein Sprachprodukt, das bei Lärm kämpft, oft nicht durch ein besseres Modell behoben, sondern durch einen ruhigeren Analogpfad, ein besseres Mikrofon oder ein Array, das die Sprache über den Raum hebt. Front-End und Modell sind ein System, und der günstigste Genauigkeitsgewinn liegt häufig in der Hardware, bevor das Audio jemals digitalisiert wird, weil ein sauberes Signal weniger vom Modell verlangt als ein verrauschtes. Ein Team, das seine gesamte Energie ins Modell steckt und keines ins Front-End, baut ein System, das gegen eine Wand läuft, die das Modell nicht erklimmen kann, und diese Wand wurde im Analogpfad gesetzt, den niemand abgestimmt hat.
Der nächste Schritt besteht darin, das Rauschbudget dort einzusetzen, wo es den größten Nutzen bringt. Ein ruhigeres Mikrofon und ein saubererer Pfad vor dem Wandler heben den gesamten Boden an, über dem das Modell arbeitet, und helfen bei jedem Wort, während eine Modelloptimierung nur den Fällen hilft, für die sie abgestimmt wurde. Ein Team, das den Signal-Rausch-Abstand seines erfassten Audios misst, und nicht nur die Genauigkeit seines Modells, findet die günstigen Verbesserungen, die die Genauigkeitszahl allein verbirgt.
Sauber rein, sauber raus. Schmutzig rein bleibt schmutzig.
Wenn der Lautsprecher in das Mikrofon einstrahlt
Ein Gerät, das gleichzeitig zuhört und spricht, hat ein Problem in seinem eigenen Körper. Der Schall seines Lautsprechers erreicht sein eigenes Mikrofon, laut und nah, und dieses Echo überlagert alles, was der Sprecher sagt. Ein Modell, das versucht, einen Befehl zu hören, während das Gerät spricht, hört hauptsächlich sich selbst.
Die Lösung ist akustische Echounterdrückung, und sie stützt sich auf eine Tatsache, die das Gerät kennt: Es hat das genaue Audio, das es abspielt. Mit dieser Referenz kann der Prozessor modellieren, wie der Lautsprecherklang das Mikrofon erreicht, und eine Schätzung davon von dem abziehen, was das Mikrofon aufnimmt, sodass die Stimme des Sprechers sauberer bleibt. Die Schätzung ist nie perfekt, da der Raum die Schallübertragung beeinflusst, daher passt sich der Echounterdrücker während des Betriebs an.
Das Front-End muss dies unterstützen. Das Wiedergabesignal und die Mikrofonaufnahme müssen einen gemeinsamen Takt und ein bekanntes Timing teilen, damit der Echounterdrücker sie aufeinander abstimmen kann. Ein Front-End, bei dem beide unabhängig voneinander laufen, macht die Echounterdrückung wesentlich schwieriger. Die Echounterdrückung von Anfang an zu planen, mit einem gemeinsamen Takt und einer sauberen Referenz, ermöglicht es einem Gerät, einen Befehl entgegenzunehmen, während es spricht.
Dauerhaftes Zuhören im Rahmen eines Energiebudgets
Ein Sprachgerät muss oft ständig zuhören und auf ein Wake-Word warten, und ein batteriebetriebenes Gerät kann nicht seine volle Audiokette und sein Modell mit voller Leistung betreiben, während es wartet. Die Lösung besteht darin, in Stufen zuzuhören, mit einer kleinen Dauerbetriebsstufe, die auf ein Geräusch achtet, das ein Aufwecken des Rests rechtfertigt.
Diese Stufe ist bewusst günstig gehalten. Ein stromsparender Pfad hält ein Mikrofon und einen kleinen Detektor in Betrieb, der nur auf das Wake-Word oder auf Sprache überhaupt achtet, während Codec, Array und Modell schlafen. Wenn die kleine Stufe etwas hört, weckt sie den Rest der Kette auf, um den Befehl vollständig zu erfassen und zu verstehen. Das Gerät verbringt fast seine gesamte Betriebszeit in der günstigen Stufe, und die aufwendige Stufe läuft nur in den Sekunden, in denen sie benötigt wird.
Das beeinflusst die Bauteilauswahl. Der Dauerbetriebs-Pfad benötigt ein Mikrofon und einen Wandler mit geringem Stromverbrauch, und die Aufwachstufe soll klein genug sein, um auf einem stromsparenden Kern statt auf dem Hauptprozessor zu laufen. Das Front-End ist so gestaltet, dass die Dauerbetriebs-Insel wach bleiben kann, während alles drumherum schläft. Das ist ebenso ein Leistungsdesign wie ein Audiodesign.
Die beiden Stufen sehen das Audio unterschiedlich. Die Dauerbetriebsstufe benötigt nur genug Qualität, um zu beurteilen, ob ein Geräusch Sprache sein könnte. Daher kann sie ein einzelnes Mikrofon mit niedriger Rate betreiben, während die vollständige Stufe nach dem Aufwecken die saubere, volltaktige Mehrkanalaufnahme benötigt, auf die das Modell trainiert wurde. Die günstige Stufe günstig und die vollständige Stufe sauber zu halten, hält sowohl Batterie als auch Genauigkeit dort, wo sie sein müssen.
Die Aufwachstufe entscheidet auch darüber, wie sich das Gerät anfühlt. Zu empfindlich und es wacht bei jedem Geräusch auf und entleert die Batterie, zu zurückhaltend und es verpasst den Benutzer. Der Schwellenwert der kleinen Stufe wird auf den Raum abgestimmt, in dem das Gerät eingesetzt wird. Deshalb werden ein Gerät für ein ruhiges Büro und eines für eine Werkstatt unterschiedlich eingestellt.
Die Latenz, die ein Gespräch tolerieren kann
Ein gesprochener Austausch hat einen Rhythmus, und ein Gerät, das zu lange braucht, um zu antworten, wirkt kaputt, selbst wenn die Antwort richtig ist. Die Verzögerung, die der Benutzer wahrnimmt, ist die Summe des gesamten Pfades: Audio erfassen, puffern, Modell ausführen und Antwort abspielen. Das Front-End ist für den ersten und letzten dieser Schritte verantwortlich, und die Puffer, die zum Glätten des Datenstroms hinzugefügt werden, sind Verzögerung, die das Gespräch bezahlt.
Daher wird die Pufferung so dimensioniert, dass sie den Datenstrom gerade stabil hält und nicht größer, da jeder zusätzlich zurückgehaltene Block von Abtastwerten Zeit hinzufügt, bevor das Modell die Wörter sieht, und Zeit, bevor der Benutzer die Antwort hört. Ein Front-End, das für ein wechselseitiges Gespräch gebaut ist, hält seine Puffer eng, während eines, das nur aufnehmen soll, sich tiefes Puffern leisten kann.
Latenz versteckt sich auch im Aufwachpfad. Ein Gerät, das seine vollständige Kette aufwecken, den Codec einschalten und seine Takte stabilisieren muss, bevor es den Befehl erfasst, kann das erste Wort abschneiden, während es noch aufwacht. Die Dauerbetriebsstufe kontinuierlich in einen kurzen Puffer aufnehmen zu lassen, sodass das erste Wort bereits gespeichert ist, wenn die vollständige Kette hochkommt, verhindert, dass das Gerät den Anfang der Anfrage verpasst.
Fragen, die beim Aufbau eines Sprach-Front-Ends aufkommen
Warum ein PDM-Mikrofon in I2S umwandeln?
Weil typische Prozessoren und Audioperipherie I2S lesen, nicht den dichten Einzelbitstrom, den ein digitales Mikrofon in PDM erzeugt. Eine Brücke filtert das PDM auf Standard-Abtastwerte in I2S herunter, was es ermöglicht, günstige PDM-Mikrofone mit einem Prozessor zu verwenden, der nur I2S spricht.
Benötige ich einen Codec oder nur ein Mikrofon und einen Verstärker?
Ein Codec rechtfertigt seinen Einsatz, wenn das Gerät sowohl aufnimmt als auch Audio abspielt, da er beide Wandler sowie die zugehörige Verstärkung und Filterung in einem Bauteil enthält. Ein reines Aufnahmegerät kann ein Mikrofon und einen Wandler verwenden, und ein reiner Wiedergabepfad kann einen Verstärker verwenden, der I2S direkt liest.
Wann ist ein Mikrofon-Array einem Einzelmikrofon überlegen?
Wenn der Sprecher auf der anderen Seite des Raums statt nah am Gerät ist. Ein Array ermöglicht es dem Front-End, sich auf den Sprecher auszurichten und Raumrauschen sowie Echo zu dämpfen, was ein einzelnes Mikrofon nicht kann. Nahbereichsgeräte benötigen selten eines, und das Array fügt Kanäle, Taktaufwand und Verarbeitung hinzu.
Warum schneidet mein Sprachmodell in einem lauten Raum schlechter ab?
Weil das Front-End eine Obergrenze gesetzt hat, die das Modell nicht überschreiten kann. Sobald Sprache in den Rauschboden absinkt, kann das Modell sie nicht mit Sicherheit wiederherstellen. Der Gewinn kommt meistens von einem ruhigeren Analogpfad, einem besseren Mikrofon oder einem Array, mehr als von einem größeren Modell.
Warum versteht das Gerät Befehle falsch, während es spricht?
Sein eigener Lautsprecher strahlt in sein eigenes Mikrofon ein, sodass das Mikrofon hauptsächlich das Gerät selbst hört. Akustische Echounterdrückung verwendet das bekannte Wiedergabesignal, um dieses Echo abzuziehen, und sie benötigt dafür, dass Wiedergabe und Aufnahme einen gemeinsamen Takt und ein gemeinsames Timing haben, damit beide aufeinander abgestimmt werden können.
Der schwierige Fall ist Doppelgespräch, wenn Gerät und Sprecher gleichzeitig sprechen. Ein zu aggressiv eingestellter Echounterdrücker zerstört dann Teile der Sprecherworte, und ein zu sanft eingestellter lässt das Echo durch. Dieses Gleichgewicht abzustimmen, zusammen mit einer sauberen Referenz und stabilem Timing, ist der Unterschied zwischen einem Gerät, das unterbrochen werden kann, und einem, das aufgehört haben muss zu sprechen, bevor es zuhört.
Mit welcher Abtastrate soll das Front-End betrieben werden?
Mit der Rate, die das Modell erwartet, was bei Sprache üblicherweise moderat ist statt der hohen Rate, die Musik verwendet. Schneller zu betreiben verschwendet Strom und Daten auf Details, die Sprache nicht enthält, und mit der falschen Rate zu betreiben übergibt dem Modell Audio, auf das es nicht trainiert wurde.
Das Front-End in der richtigen Reihenfolge aufbauen
Die Reihenfolge verhindert, dass die Stufen sich gegenseitig behindern. Beginnen Sie beim Modell: Abtastrate, Kanalzahl und das erwartete Format. Wählen Sie das Mikrofon nach seinem Rauschwert, da er den Boden setzt. Wählen Sie die Brücke oder den Codec, der das Mikrofonsignal in diesem Format einliest, und den Verstärker, der die Antwort wieder ausgibt. Entscheiden Sie, ob der Raum ein Array erfordert, und wenn ja, entwerfen Sie Abstände, aufeinander abgestimmte Kanäle und Verarbeitung gemeinsam. Betreiben Sie die gesamte Kette von einem einzigen Takt. Planen Sie akustische Echounterdrückung und eine Dauerbetriebsstufe von Anfang an, da beides nachträglich schwer hinzuzufügen ist.
Der rote Faden ist, dass das Front-End bestimmt, was das Modell hören kann. Das sauberste Signal, das die Hardware liefern kann, ist daher das Beste, was das Design dem Modell geben kann. Stimmt es, arbeitet das Modell in einem realen Raum. Stimmt es nicht, wird das Modell gebeten, Audio zu verstehen, das die Wörter von vornherein nicht vollständig enthalten hat.




