Ich verwende die nAudio Library, um Mikrofoneingaben zu erfassen. Aber ich bin auf ein Problem gestoßen. Ich verwende den Code (den ich leicht modifiziert habe) aus einer nAudio-Beispiel-App. Der Code generiert eine WAV-Datei basierend auf der Mikrofoneingabe und rendert sie als Wave. Hier ist der Code dafür.C# - Mikrofonrauscherkennung
Unten ist ein kleiner Brocken aus einem Ergebnis einer 2 Sekunden WAV-Datei mit keinem Ton, sondern nur Mikrofonrauschen.
-54,089102453893 in dB
-51,9171950072361 in dB
-53,3478098666891 in dB
-53,1845794096928 in dB
-53,8851764055102 in dB
-57,5541358628342 in dB
-54,0121140454216 in dB
-55,5204248291508 in dB
-54.9in dB
-53,6831017096011 in dB
-52,8728852678309 in dB
-55.7021600863786 in dB
Wie wir sehen können, schwebt die dB-Ebene um -55, wenn es keinen Eingangston gibt, nur Stille. Wenn ich "Hello" im Mikrofon in einem normalen Ton aufzeichne, wird der dB-Wert auf -20 oder so gehen. Ich habe irgendwo gelesen, dass durchschnittliche menschliche Gespräche um 20 dB und -3 dB bis -6 dB der ZERO-Wertebereich für Mikrofon sind.
Frage: Berechne ich den dB-Wert korrekt? (Ich habe eine Formel verwendet, die hier von jemand anderem vorgeschlagen wurde) ... Warum dB immer negativ wird? Fehle ich ein entscheidendes Konzept oder einen Mechanismus?
Ich suchte nAudio Dokumentation bei Codeplex und fand keine Antwort. In meiner Beobachtung, die Dokumentation gibt es mehr erläutern als nur eine Reihe von Q & A [nichts für ungut nAudio :)]
https://en.wikipedia.org/wiki/DBFS –
Dank für die schnelle Antwort. @Felix Av, mein Auftrag sagt, dass, wenn mic noise <10db, eine "low noise" Nachricht anzeigen, und wenn höher als 10db, "high noise" Nachricht anzeigen. nur eine dumme Frage, ist der Aufgabenbereich aus einer menschlichen Perspektive gegeben ??? .... da ich alle Werte negativ aus meinem Programm (mic's Perspektive) bekomme, wie sollte ich die beiden dB-Bereiche, dh mein Programm korrelieren Generieren Bereich und Zuordnung Bereich? ... Vielen Dank – imran2155
Ich denke, wenn die Stille ist X (sagen wir, Mikrofon nicht angeschlossen und das Signal ist -80db, sollten Sie wahrscheinlich überprüfen Sie den Pegel), dann ist low noise alles < X + 10, hohes Rauschen> X + 10. –