yuna Geschrieben July 30, 2019 at 08:38 Geschrieben July 30, 2019 at 08:38 Hallo, vorweg - ich habe nur wenig Ahnung von Tontechnik. ich habe SoundIntensity und SoundPressure Bricklets im Einsatz, um LEDs nach Dezibel aufleuchten zu lassen. * Beim SoundIntensity Bricklet schaut es genial aus. LED flackert sehr fein. Die Dezibel Anzeige tanzt auch schön auf und ab * Beim SoundPressure Bricklet schaut es nicht so schön aus. Die Dezibel bleiben auf einem Level und die LEDs flackern/tanzen nicht so schön. Kann jemand helfen wie ich die LEDs auch beim SoundPressure tanzen lassen kann? Ich weis das ich spectrumChunkData, spectrumChunkOffset und spectrumLength bekomme. weis aber nicht wie ich das verwerten kann - habe nichts in Wikipedia darüber gefunden ... Zitieren
photron Geschrieben July 30, 2019 at 12:28 Geschrieben July 30, 2019 at 12:28 Hast du beim Sound Pressure Level Bricklet mal die verschiedenen Gewichtungen durchprobiert? Du solltest getSpectrum() Aufrufen, nicht getSpectrumLowLevel(). Das Spektrum ist zu groß um ein einem Packet übertragen zu werden. Die getSpectrumLowLevel() gibt das Spektrum in Stücken (Chunks) aus. Die getSpectrum() nutzt intern die getSpectrumLowLevel() Funktion und setzt das vollständige Spektrum aus Chunks zusammen. Wie die Dokumentation für die getSpectrum() Funktion beschreibt gibt dieses das Frequenzspektrum in form eines FFT aus. Daraus kannst du dir verschiedenste Darstellung ableiten. Zitieren
yuna Geschrieben August 3, 2019 at 10:27 Autor Geschrieben August 3, 2019 at 10:27 Hi Photron, ich habe nun viel versucht zu lesen und zu verstehen. Ich verstehe dennoch nicht wie ich die LEDs wieder flackern lassen kann wie beim Sound Intensity Bricklet. Sobald ich die Werte von getSpectrum() in dB umrechne flackern die LEDs nicht mehr. Klar kann ich einfach ohne dB Umrechnung die LEDs super flackern lassen, aber dann verstehe ich diese random FFT zahlen nicht. Für das BrickletSoundPressureLevel: Welche config (fftSize : weighting) benötige ich? Welchen Wert von BrickletSoundPressureLevel.getSpectrum() benötige ich, um den Wert von BrickletSoundIntensity.getIntensity() nachzustellen? Zitieren
photron Geschrieben August 8, 2019 at 10:42 Geschrieben August 8, 2019 at 10:42 Das Sound Intensity Bricklet und das Sound Pressure Level Bricklet sind da nicht so einfach zu vergleichen. Das alte Bricklet hat die Bestimmung der Intensity analog in Hardware gemacht. Das neue Bricklet macht die SPL Bestimmung digital in Software. Mit den verschiedenen Weighting wird versucht das menschliche Hörvermögen nachzubilden. Außer db(Z), dabei wird keine Gewichtung vorgenommen und die Daten vom Mikrofon unverändert verwendet. Ich habe gerade kein Sound Pressure Level Bricklet zur Hand, da die gerade ausverkauft sind. Daher mal ins Blaue: db(A) mit 256er FFT und dann über die Spektrumwerte einen Mittelwert bilden, dabei den ersten Wert im Spektrum ignorieren, da dies das DC Offset ist. Alternativ, schau dir das Spektrum in Brick Viewer an und nimmt dann den Teil des Spektrums der sich am meisten bewegt. Den fasst du dann über Maximum oder Mittelwert zusammen. Ich denke du musst da einfach mal verschiedenes ausprobieren. Zitieren
yuna Geschrieben August 11, 2019 at 06:02 Autor Geschrieben August 11, 2019 at 06:02 Okay danke dann werde ich dies versuchen Zitieren
yuna Geschrieben September 5, 2019 at 20:48 Autor Geschrieben September 5, 2019 at 20:48 Hi, ich habe nun verschiedene Varianten probiert. Leider klappt es nicht wirklich. Es geht nur wenn absolut stille in der Umgebung herrscht. Für mich hat es den Anschein, als würde das Sound Pressure nicht ganz mitbekommen welcher Ton wie weit weg ist. Ich kann die LEDs nach Musik tanzen lassen, jedoch wenn draußen auf der Straße Leute sprechen oder eine Auto vorbei kommt, dann bekommt es das SoundPressure Bricklet mit und überlagert die sehr viel Lautere Musik. Auch bei geschlossenen Fenster. Vor allem Menschliche Sprache überlagert alles. Ich habe drei verschiedene Boxen ausprobiert. leider immer das selbe Ergebnis. Egal welche Frequenz, die nicht Lautsprechertöne überragen alles. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.