Erledigt! Ein bisschen beeindruckt von mir selbst.
Unser Produkt benötigt die Funktion der Echounterdrückung, drei mögliche technische Lösungen wurden identifiziert,
1) Verwenden Sie die MCU, um Audio-Out- und Audio-In-Audiosignale zu erkennen, und schreiben Sie einen Algorithmus, um die Stärke der beiden Seiten des Tonsignals zu berechnen. Erzielen Sie eine optionale Kanalumschaltung entsprechend der Stärke von Audio-Out und Audio-In zwischen den beiden Seiten Der Halbduplex-Anrufeffekt, aber jetzt sind Vollduplex-Anrufeffekte auf dem Markt, Halbduplex wird das Produkt weniger wettbewerbsfähig machen
(2) Verwenden Sie den Echounterdrückungsalgorithmus des CPU-Herstellers. Die eigentliche Test-Echoeliminierung ist aufgrund der Abstimmung aller einstellbaren Parameter und der vielen Diskussionen mit dem Hersteller nicht sauber genug und weit von der erwarteten Wirkung entfernt. Das Feedback des Anbieters besteht darin, das Gehäuse zu verbessern, um das Mikrofon so weit wie möglich vom Lautsprecher zu isolieren. Aufgrund des ID-Designs, der Klangqualität und der Lautstärkeanforderungen gibt es jedoch keinen Spielraum für eine Änderung des Gehäuses.
(3) Laden Sie die Open-Source-Echokompensationsalgorithmen wie webrtc und speex aus dem Internet herunter und portieren Sie sie nach der Kreuzkompilierung auf das Produkt.
4) Kaufen Sie die Algorithmen von einem Unternehmen, das auf Audioalgorithmen spezialisiert ist, aber jedes Produkt würde zusätzliche Kosten erfordern, was die Wettbewerbsfähigkeit des Produkts erheblich verringern würde.
Nachdem ich die Optionen abgewogen hatte, beschloss ich, eine eingehende Untersuchung der Lösung durch die Verwendung von Open-Source-Algorithmen durchzuführen;
Also habe ich eine Reihe von Echounterdrückungscodes von Github, Gitee und anderen Websites heruntergeladen, sowohl in C als auch in Matlab.
Synthesieren Sie die beiden Stimmen mit Oktaven, um einen Abschnitt einer Double-Talk-Szene mit der Mikrofonerfassungsstimme am nahen Ende sowie der Referenzstimme am anderen Ende zu erzeugen.
Führen Sie dann den online heruntergeladenen Code zur Echounterdrückung aus, analysieren Sie die Audioausgabe und wählen Sie den Algorithmus aus, der am besten funktioniert.
Aus den Ergebnissen geht hervor, dass der AEC-Algorithmus der webrtc-Audioverarbeitung nicht gut ist, die Echounterdrückung nicht sauber ist und in der Doppelgesprächsszene offensichtlich Wörter verschluckt werden. Der AEC3-Algorithmus der WebRTC-Audioverarbeitung ist sauber, unterdrückt jedoch den Ton des anderen Endes des Doppelgesprächs stark, und der Ton ist intermittierend und unnatürlich.
Speex hat ein leichtes Echo, es ist am besten, eine Matlab-Sprachimplementierung des AEC-Algorithmus zu finden, die Echobeseitigung ist sehr sauber, doppeltes Sprechen hat nur ein leichtes Phänomen beim Verschlucken von Wörtern.
Dann verwende ich Visual Studio, um den Open-Source-Code von webrtc audioprocessing aec zu kompilieren und zu debuggen, verweise auf den obigen aec-Algorithmus von matlab, um den Code zu ändern, verwende Online-Debugging zum Festlegen von Haltepunkten, Einzelschrittausführung und andere Analysen Der Wert der Anweisung ändert sich schrittweise, und letztendlich werden die Daten und die Ergebnisse des AEC-Algorithmus der Matlab-Sprache identisch. Die endgültigen erhaltenen Daten sind genau die gleichen wie die Ergebnisse des AEC-Algorithmus in Matlab.
Heute wurde das Produkt kompiliert, die Verstärkung von MIC und LAUTSPRECHER auf einen angemessenen Wert eingestellt und dann der eigentliche Anruf durchgeführt, um die Wirkung der Echounterdrückung zu testen. Die Ergebnisse sind überraschend gut.
Dadurch besteht die Hoffnung, ein Produkt zu entwickeln, das Umsätze über dem kleinen Ziel erreichen kann.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3