Wie lese ich dezibel von iOS AVAudioRecorder im richtigen Maßstab?

8

Ich versuche in meiner iOS-App mithilfe von AVAudioRecorder einen Geräuschpegel zu erreichen.

Der Code, den ich verwende, ist:

%Vor%

Die Messwerte, die ich bekomme, wenn das Telefon auf meinem Schreibtisch sitzt, liegen bei ungefähr 90-100dB.

Ich habe diesen Link überprüft und die Tabelle, die ich dort gesehen habe, zeigt Folgendes:

Staubsauger - 80dB
Großes Orchester - 98dB
Walkman auf Maximalstufe - 100dB
Vordere Reihen des Rockkonzerts - 110dB

Nun, jedoch scheint mein Büro laut zu sein, es ist nicht in der Nähe des Walkman auf maximaler Ebene.

Gibt es etwas, was ich hier tun sollte, um die richtigen Messwerte zu bekommen? Wie es scheint, ist das Mikrofon meines iPhone sehr empfindlich. Es ist ein iPhone4S, wenn es einen Unterschied macht.

    
kender 30.09.2012, 14:56
quelle

1 Antwort

3

Vergiss meine vorherige Antwort. Ich habe eine bessere Lösung gefunden (korrigiere mich, wenn ich falsch liege). Ich denke, was wir beide erreichen wollen, ist die Dezibel SPL, aber die durchschnittliche PowerChannel-Methode gibt uns die Ausgangsspannung des Mikrofons. Die Dezibel-SPL ist eine logarithmische Einheit, die das Verhältnis angibt. Wir müssen diese Ausgabe in Dezibel-SPL konvertieren, was nicht so einfach ist, weil Sie dafür Referenzwerte benötigen. Mit anderen Worten, Sie benötigen einen DB SPL-Wert und die entsprechenden Spannungswerte. Sie können auch versuchen, sie zu schätzen, indem Sie Ihre Ergebnisse mit einer App wie Dezibel Ultra vergleichen. Um direkt zum Punkt zu kommen: Die Formel, die Sie brauchen, ist wie folgt:

%Vor%

Sie können den referenceLevel auf 5 setzen. Das gibt mir gute Ergebnisse auf meinem iPhone. Der averagePowerForChannel ist der Wert, den Sie von der Methode averagePowerForChannel erhalten: Methode und Bereich gibt die obere Grenze des Bereichs an. Ich setze das auf 160. Schließlich ist Offset ein Offset, den Sie hinzufügen können, um in den Bereich zu kommen, den Sie wollen. Ich habe hier 50 hinzugefügt.

Trotzdem, wenn jemand eine bessere Lösung dafür hat. Es wäre großartig!

    
M F 30.10.2012 09:29
quelle