Der AVAudioRecorder im iPhone SDK kann verwendet werden, um die Spitzen- und Durchschnittsleistung für einen Kanal in Dezibel zu erhalten. Der Bereich liegt zwischen 0dB und 160db. Mit welcher Berechnung wird diese in eine Skala zwischen 0 - 10 oder ähnlichem umgewandelt, die für ein Audiopegelmessgerät verwendet werden kann?iPhone SDK: AVAudioRecorder Messung - Wie kann peakPowerForChannel von Dezibel in Prozent geändert werden?
Antwort
Der Bereich liegt zwischen -160 dB und 0 dB. Wahrscheinlich möchten Sie es in einem Meter anzeigen, der von -90 dB bis 0 dB reicht. Das Anzeigen als Dezibel ist eigentlich nützlicher als als lineares Audiopegel, weil die Dezibel eine logarithmische Skala sind, was bedeutet, dass sie sich näher an die Lautstärke eines Schalls annähert.
Das heißt, Sie diese verwenden können, von Dezibel linear zu konvertieren:
linear = pow (10, decibels/20);
und der Rückseite:
decibels = log10 (linear) * 20;
Der Bereich für die oben genannten Dezibel negativ Unendlich Null und für linear ist 0,0 bis 1,0. Wenn der lineare Wert 0,0 ist, ist das -inf dB; linear bei 1,0 ist 0 dB.
Apple implementiert auch eine dB zu linearen Amplitudenumwandlung Klasse MeterTable.cpp und MeterTable.h Suchen Sie in App SpeakHere Beispiel.
können Sie entweder ihre Inline-Funktion verwenden, die den Wert "on-the-fly"
inline double DbToAmp(double inDb);
OR
erstellen MeterTable Instanz verwenden vorberechnete Tabelle Lookup berechnet. Dies speichert Konvertierungswerte im Speicher, sodass Ihre Anwendung die Anzahl der Berechnungen reduzieren kann.
float ValueAt(float inDecibels);
HINWEIS: Lookup-Tabelle ist wahrscheinlich erforderlich, wenn Sie eine Menge von anderen Berechnungen zur gleichen Zeit los oder Sie müssen sehr schnelle Verarbeitung.
SpeakHere app beispiel link -> http://developer.apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html –
Und die DbToAmp Funktion gibt zurück: ' pow (10., 0.05 * inDb); ' – CharlesA
Auch https://github.com/warrenburton/MeterTableOC wenn Sie nicht den leichten Aufwand von C++ - Dateien in Ihrem Projekt wollen –
- 1. iphone-peakPowerForChannel Funktion in AVAudioRecorder funktioniert nicht
- 2. Dezibel von AVAudioRecorder erhalten
- 3. Messung der Geschwindigkeit über iPhone SDK
- 4. iPhone - AVAudioRecorder - Wie kann ich eine MP3 aufnehmen?
- 5. AVAudioRecorder: Spitzen- und Durchschnittsleistung
- 6. SSHCore Framework kann nicht ausgeführt werden in iphone sdk
- 7. Berechne Dezibel
- 8. Wie man Audio-Ausgangspegelmessung und Tonhöhenänderung zusammen in iphone SDK
- 9. Zufallszahl in iphone sdk?
- 10. Wie kann LD_LIBRARY_PATH in CMake geändert werden?
- 11. Kann TWTweetComposeViewController geändert werden?
- 12. Warnungen in iphone sdk
- 13. Wie kann der Ordner nur von der App geändert werden?
- 14. iPhone 3.0 SDK vs iPhone 2.0 SDK
- 15. iPhone sdk in Linux
- 16. Rasteransicht in iPhone SDK
- 17. GoogleAdMobAds in iphone sdk
- 18. UIImage von CALayer - iPhone SDK
- 19. Kann localStorage von einem Client geändert werden?
- 20. iPhone SDK: CustomControls wie in C#
- 21. Aktualisierungszeit in iphone sdk
- 22. Kann die Verzögerungsrate von UIScrollView geändert werden?
- 23. swift2 AVAudioRecorder
- 24. Wie kann die Template-Instanziierungsreihenfolge geändert werden?
- 25. iPhone sdk MapDistance
- 26. Wie kann synthetisierte Sprachsprache UWP geändert werden?
- 27. Kann die Suchmethode in LINQ geändert werden?
- 28. Wie kann ich ändern uiimage Farbe in iPhone SDK xcode
- 29. ConnectionKit & iPhone SDK
- 30. Wie erkenne ich Bild in iPhone SDK?
Was genau ist "20" hier? –
Bei der Messung der Schallintensität in Luft ist der Referenzwert per Konvention ein Schalldruck von 20 Mikropascal (μPa), der Lehrbuchwert für den durchschnittlich leisesten Ton, den ein gesunder junger Mensch hören kann (bei einer Frequenz von 1000 Hz) https: //www.researchgate.net/post/Is_there_any_relationship_between_dB_decibel_and_dBA_how_to_convert_dB_to_dBA –