Lautstärke Mikrofoneingang (nicht aufnehmen)
Übersicht

![]() |
IguanBetreff: Lautstärke Mikrofoneingang (nicht aufnehmen) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Ich wollte mir mal fragen, wie man die Lautstärke der umgebung (Mikrofon an PC angeschlossen) mit BB herausfinden kann. Die Angabe muss nicht in Dezibel sein, sondern kann irgend ein Wert sein. Im Forum und beim Googlen habe ich immer nur was gefunden für die Sound-Aufnahme. Ich möchte aber nichts aufnehmen, sondern nur die Umgebungslautstärke bestimmen. Kann dass die BASS-dll? Kenn mich damit leider überhaupt nicht aus... ![]() Soll so eine Art Alarmsystem werden... ![]() mfg Iguan |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich forsch da auch grad rum...
Warum nicht einfach etwas "aufnehmen" und dann im Sample nachschauen, ob es Werte über einem bestimmten Level gibt? Ich mach das mit OpenAL. Das gibt es eine Funktion, die das Mikrofon in einem Ringbuffer scannt. Code: [AUSKLAPPEN] nur symbolischer code.....
;eigener Sample-Speicher: Global VoidSample:TAudioSample=CreateAudioSample(44100*2,44100,SF_MONO8) ;OpenAL-Init: Global NumSamples% Device=alcOpenDevice(Null) CaptureDevice = alcCaptureOpenDevice(Null, 44100, AL_FORMAT_MONO8, 44100*2); alcCaptureStart(CaptureDevice) ;Wieviele Samples sind im Ringbuffer? alcGetIntegerv(CaptureDevice, ALC_CAPTURE_SAMPLES, 4, Varptr(NumSamples)) ;Aus dem Ringbuffer in den eigenen Speicher: alcCaptureSamples(CaptureDevice, VoidSample.Samples, NumSamples) ;Scannen: For i=0 to NumSampes Wert= VoidSample.Samples[i] Next Bei einer 8bit-Aufnahme reichen die Werte zwar von 0 bis 255, aber 127 ist die eigentliche Stille. Gibt es Ausschläge von mehr als z.B. 10 (also Werte <117 oder Wert>137, dann war da was im Raum->also Alarm auslösen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group