


Lassen Sie uns über KI-Rauschunterdrückungstechnologie in der Echtzeitkommunikation sprechen
Teil 01 Übersicht
#🎜. 🎜 #Wenn das Mikrofon in Echtzeit-Audio- und Videokommunikationsszenarien die Stimme des Benutzers erfasst, erfasst es auch eine große Menge an Umgebungsgeräuschen. Der herkömmliche Rauschunterdrückungsalgorithmus ist nur bei stationären Geräuschen wirksam (z B. Lüftergeräusch, weißes Rauschen, Grundrauschen des Schaltkreises usw.) Es hat einen gewissen Effekt, aber der Effekt der Geräuschreduzierung ist bei instationären vorübergehenden Geräuschen (wie Restaurantgeräuschen, Umgebungsgeräuschen in der U-Bahn, Geräuschen in der heimischen Küche usw.) schlecht. Dies beeinträchtigt das Anruferlebnis des Benutzers erheblich. Als Reaktion auf Hunderte von instationären Lärmproblemen in komplexen Szenarien wie zu Hause und im Büro entwickelte das Team für ökologische Stärkung der Abteilung für integrierte Kommunikationssysteme unabhängig eine KI-Technologie zur Reduzierung von Audiogeräuschen auf der Grundlage des GRU-Modells und durch Algorithmus- und technische Optimierung. Die Größe des Rauschunterdrückungsmodells wurde von 2,4 MB auf 82 KB komprimiert, der Rechenaufwand wurde von etwa 186 Mflops auf 42 Mflops optimiert und die Laufeffizienz wurde im bestehenden Test um 77 % verbessert Im Datensatz (in der experimentellen Umgebung) können menschliche Stimme und Lärm effektiv getrennt werden, wodurch der MOS-Score (durchschnittlicher Meinungswert) der Anrufqualität auf 4,25 verbessert wird.
In diesem Artikel wird vorgestellt, wie unser Team eine Echtzeit-Rauschunterdrückung auf der Grundlage von Deep Learning durchführt und diese auf mobilen Endgeräten und der Jiaqin-App implementiert Verfahren. Der vollständige Text wird wie folgt gegliedert sein und die Klassifizierung von Rauschen und die Auswahl von Algorithmen zur Lösung dieser Rauschprobleme vorstellen. Schließlich werden die Auswirkungen und Schlüsselanwendungen der aktuellen KI vorgestellt Rauschunterdrückungsszene.
Teil 02 Auswahl des Rauschklassifizierungs- und Rauschunterdrückungsalgorithmus # 🎜🎜#
In Echtzeit-Audio- und Videoanwendungsszenarien befindet sich das Gerät in einer komplexen akustischen Umgebung. Während das Mikrofon Sprachsignale sammelt, sammelt es auch eine große Menge an Rauschen. was sich nachteilig auf die Qualität von Echtzeit-Audio und -Video auswirkt. Eine sehr große Herausforderung. Es gibt viele Arten von Lärm. Lärm kann anhand seiner mathematischen und statistischen Eigenschaften in zwei Kategorien eingeteilt werden:
Stationärer Lärm: # 🎜🎜#Die statistischen Eigenschaften von Lärm ändern sich im Laufe der Zeit nicht, wie z. B. weißes Rauschen, elektrische Ventilatoren, Klimaanlagen, Autolärm usw.; #
Instationärer Lärm:
Die statistischen Merkmale von Lärm ändern sich im Laufe der Zeit, z. B. laute Restaurants, U-Bahn-Stationen, Büros, Heimküchen usw. #🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜##in real Bei Audio- und Videoanwendungen sind Anrufe anfällig für Störungen durch verschiedene Arten von Rauschen, die das Erlebnis beeinträchtigen. Daher ist die Echtzeit-Audio-Rauschunterdrückung zu einer wichtigen Funktion bei Echtzeit-Audio und -Video geworden. Bei stetigem Rauschen wie dem Surren von Klimaanlagen oder dem Grundrauschen von Aufnahmegeräten kann es durch einfache Subtraktion, Wiener-Filterung und Wavelet-Transformation geschätzt, vorhergesagt und entfernt werden . Instationäre Geräusche, wie das Geräusch vorbeifahrender Autos, das Aufeinanderprallen von Tellern in Restaurants und das Klopfen von Töpfen in der heimischen Küche, treten alle zufällig und unerwartet auf und können nicht abgeschätzt und gelöst werden . Herkömmliche Algorithmen sind schwer abzuschätzen und instationäres Rauschen zu eliminieren, weshalb wir Deep-Learning-Algorithmen verwenden. Um die Rauschunterdrückungsfunktionen des Audio-SDK für verschiedene Lärmszenen zu verbessern und die Mängel der herkömmlichen Rauschunterdrückung auszugleichen Von uns entwickelte Algorithmen haben ein RNN-basiertes AI-Rauschunterdrückungsmodul entwickelt, das traditionelle Rauschunterdrückungstechnologie und Deep-Learning-Technologie kombiniert. Der Fokus liegt auf der Verarbeitung von Geräuschen zur Geräuschreduzierung für Heim- und Büronutzungsszenarien. Dem Geräuschdatensatz werden zahlreiche Arten von Innengeräuschen hinzugefügt, z. B. das Tippen auf der Tastatur im Büro, Reibungsgeräusche beim Ziehen von Schreibtischen und Büromaterialien, das Ziehen von Stühlen und in der Küche zu Hause. Geräusche, Bodenknallen usw. Gleichzeitig steuert dieser KI-Algorithmus zur Reduzierung von Audiorauschen den Rechenaufwand und die Bibliotheksgröße auf ein sehr niedriges Niveau, um die Sprachverarbeitung in Echtzeit auf dem mobilen Endgerät zu implementieren. In Bezug auf den Rechenaufwand benötigt die RNN-Netzwerkverarbeitung für jeden Sprachrahmen am Beispiel von 48 kHz nur etwa 17,5 Mflops, für FFT und IFFT sind für jeden Sprachrahmen etwa 7,5 Mflops erforderlich, und für die Merkmalsextraktion sind etwa 12 Mflops erforderlich, was insgesamt etwa 42 Mflops ergibt Die Rechenkomplexität entspricht ungefähr dem 48-kHz-Opus-Codec. Statistiken zeigen, dass die CPU-Auslastung des RNN-Rauschunterdrückungsmoduls etwa 4 % beträgt. In Bezug auf die Größe der Audiobibliothek erhöht sich die Größe der Audio-Engine-Bibliothek nach dem Einschalten der RNN-Rauschunterdrückungskompilierung nur um etwa 108 KB. Dieses Modul verwendet das RNN-Modell, da RNN im Vergleich zu anderen Lernmodellen (wie CNN) Zeitinformationen überträgt und Zeitsignale modellieren kann Trennen Sie einfach die Audio-Eingabe- und Ausgabe-Frames. Gleichzeitig verwendet das Modell eine Gated Recurrent Unit (GRU, wie in Abbildung 1 dargestellt) und zeigt, dass GRU bei Sprachgeräuschreduzierungsaufgaben etwas besser abschneidet und aufgrund der geringeren Gewichtungsparameter von GRU Rechenressourcen einsparen kann . Im Vergleich zu einer einfachen Schleifeneinheit verfügt eine GRU über zwei zusätzliche Tore. Der Reset-Gate-Steuerungszustand wird zur Berechnung des neuen Zustands verwendet, während der Update-Gate-Steuerungszustand angibt, um wie viel er sich basierend auf der neuen Eingabe ändert. Dieses Update-Gate ermöglicht es GRU, sich Zeitinformationen über einen langen Zeitraum zu merken, weshalb GRU eine bessere Leistung als einfache wiederkehrende Einheiten erbringt. Abbildung 1 Die linke Seite ist eine einfache zyklische Einheit und die rechte Seite ist GRU Die Struktur des Modells ist in Abbildung 2 dargestellt. Das trainierte Modell wird in das Audio- und Videokommunikations-SDK eingebettet, der Audiostream wird gerahmt und an das Vorverarbeitungsmodul zur AI-Rauschunterdrückung gesendet (Merkmal) wird berechnet und an das trainierte Modell ausgegeben. Der entsprechende Verstärkungswert (Gain) wird über das Modell berechnet und der Verstärkungswert wird zum Anpassen des Signals verwendet, um letztendlich den Zweck der Rauschunterdrückung zu erreichen (wie in Abbildung 3 dargestellt). . Abbildung 2. GRU-basierter RNN-Netzwerkmodell-Trainingsprozess, unten ist der Echtzeit-Rauschreduzierungsprozess dargestellt Abbildung 4 zeigt den Vergleich von Sprachspektrogrammen vor und nach der Rauschunterdrückung mit Tastatur-Tippgeräuschen , wobei das rote rechteckige Kästchen das Klopfgeräusch der Tastatur darstellt. Der untere Teil ist das Sprachsignal nach der Geräuschreduzierung. Durch Beobachtung kann festgestellt werden, dass die meisten Tastaturklopfgeräusche unterdrückt werden können, während der Sprachschaden auf ein niedriges Niveau reduziert wird. Abbildung 4. Laute Sprache (begleitet von Tastaturtippgeräuschen während des Anrufs) vor und nach dem Vergleich Das aktuelle AI-Rauschunterdrückungsmodell ist bereits auf dem Mobiltelefon Hejiaqin ist online, um den Rauschunterdrückungseffekt von Anrufen auf Mobiltelefonen und der Jiaqin-App zu verbessern. Es verfügt über hervorragende Unterdrückungsfunktionen in mehr als 100 Lärmszenarien, einschließlich zu Hause und im Büro, und behält gleichzeitig die Sprachverzerrung bei. In der nächsten Phase werden wir die Rechenkomplexität des AI-Rauschunterdrückungsmodells weiter optimieren, damit es auf IoT-Geräten mit geringem Stromverbrauch gefördert und verwendet werden kann.
Teil 03 Deep Learning Noise Reduction Algorithm Design
Teil 04 Netzwerkmodell und Verarbeitungsablauf
Teil 05 KI-Rauschunterdrückungsverarbeitungseffekt und -implementierung
Das obige ist der detaillierte Inhalt vonLassen Sie uns über KI-Rauschunterdrückungstechnologie in der Echtzeitkommunikation sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Bei der Konvertierung von Zeichenfolgen in Objekte in Vue.js wird JSON.Parse () für Standard -JSON -Zeichenfolgen bevorzugt. Bei nicht standardmäßigen JSON-Zeichenfolgen kann die Zeichenfolge durch Verwendung regelmäßiger Ausdrücke verarbeitet und Methoden gemäß dem Format oder dekodierten URL-kodiert reduziert werden. Wählen Sie die entsprechende Methode gemäß dem String -Format aus und achten Sie auf Sicherheits- und Codierungsprobleme, um Fehler zu vermeiden.

Um die Zeitüberschreitung für Vue Axios festzulegen, können wir eine Axios -Instanz erstellen und die Zeitleitungsoption angeben: in globalen Einstellungen: vue.Prototyp. $ Axios = axios.create ({Timeout: 5000}); In einer einzigen Anfrage: this. $ axios.get ('/api/user', {timeout: 10000}).

Es gibt viele Gründe, warum MySQL Startup fehlschlägt und durch Überprüfung des Fehlerprotokolls diagnostiziert werden kann. Zu den allgemeinen Ursachen gehören Portkonflikte (prüfen Portbelegung und Änderung der Konfiguration), Berechtigungsprobleme (Überprüfen Sie den Dienst Ausführen von Benutzerberechtigungen), Konfigurationsdateifehler (Überprüfung der Parametereinstellungen), Datenverzeichniskorruption (Wiederherstellung von Daten oder Wiederaufbautabellenraum), InnoDB-Tabellenraumprobleme (prüfen IBDATA1-Dateien), Plug-in-Ladeversagen (Überprüfen Sie Fehlerprotokolle). Wenn Sie Probleme lösen, sollten Sie sie anhand des Fehlerprotokolls analysieren, die Hauptursache des Problems finden und die Gewohnheit entwickeln, Daten regelmäßig zu unterstützen, um Probleme zu verhindern und zu lösen.

Verarbeiten Sie 7 Millionen Aufzeichnungen effizient und erstellen Sie interaktive Karten mit Geospatial -Technologie. In diesem Artikel wird untersucht, wie über 7 Millionen Datensätze mithilfe von Laravel und MySQL effizient verarbeitet und in interaktive Kartenvisualisierungen umgewandelt werden können. Erstes Herausforderungsprojektanforderungen: Mit 7 Millionen Datensätzen in der MySQL -Datenbank wertvolle Erkenntnisse extrahieren. Viele Menschen erwägen zunächst Programmiersprachen, aber ignorieren die Datenbank selbst: Kann sie den Anforderungen erfüllen? Ist Datenmigration oder strukturelle Anpassung erforderlich? Kann MySQL einer so großen Datenbelastung standhalten? Voranalyse: Schlüsselfilter und Eigenschaften müssen identifiziert werden. Nach der Analyse wurde festgestellt, dass nur wenige Attribute mit der Lösung zusammenhängen. Wir haben die Machbarkeit des Filters überprüft und einige Einschränkungen festgelegt, um die Suche zu optimieren. Kartensuche basierend auf der Stadt

Zusammenfassung: Es gibt die folgenden Methoden zum Umwandeln von VUE.JS -String -Arrays in Objektarrays: Grundlegende Methode: Verwenden Sie die Kartenfunktion, um regelmäßige formatierte Daten zu entsprechen. Erweitertes Gameplay: Die Verwendung regulärer Ausdrücke kann komplexe Formate ausführen, müssen jedoch sorgfältig geschrieben und berücksichtigt werden. Leistungsoptimierung: In Betracht ziehen die große Datenmenge, asynchrone Operationen oder effiziente Datenverarbeitungsbibliotheken können verwendet werden. Best Practice: Clear Code -Stil, verwenden Sie sinnvolle variable Namen und Kommentare, um den Code präzise zu halten.

Remote Senior Backend Engineer Job Vacant Company: Circle Standort: Remote-Büro-Jobtyp: Vollzeitgehalt: 130.000 bis 140.000 US-Dollar Stellenbeschreibung Nehmen Sie an der Forschung und Entwicklung von Mobilfunkanwendungen und öffentlichen API-bezogenen Funktionen, die den gesamten Lebenszyklus der Softwareentwicklung abdecken. Die Hauptaufgaben erledigen die Entwicklungsarbeit unabhängig von RubyonRails und arbeiten mit dem Front-End-Team von React/Redux/Relay zusammen. Erstellen Sie die Kernfunktionalität und -verbesserungen für Webanwendungen und arbeiten Sie eng mit Designer und Führung während des gesamten funktionalen Designprozesses zusammen. Fördern Sie positive Entwicklungsprozesse und priorisieren Sie die Iterationsgeschwindigkeit. Erfordert mehr als 6 Jahre komplexes Backend für Webanwendungen

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

Die MySQL -Leistungsoptimierung muss von drei Aspekten beginnen: Installationskonfiguration, Indexierung und Abfrageoptimierung, Überwachung und Abstimmung. 1. Nach der Installation müssen Sie die my.cnf -Datei entsprechend der Serverkonfiguration anpassen, z. 2. Erstellen Sie einen geeigneten Index, um übermäßige Indizes zu vermeiden und Abfrageanweisungen zu optimieren, z. B. den Befehl Erklärung zur Analyse des Ausführungsplans; 3. Verwenden Sie das eigene Überwachungstool von MySQL (ShowProcessList, Showstatus), um die Datenbankgesundheit zu überwachen und die Datenbank regelmäßig zu sichern und zu organisieren. Nur durch kontinuierliche Optimierung dieser Schritte kann die Leistung der MySQL -Datenbank verbessert werden.
