Forum: Mikrocontroller und Digitale Elektronik Echtes sound to light Projekt


von Stefan N. (suckiden)


Lesenswert?

hallo,

ich bin gerade dabei die Eckpunkte meines sound to light Projekts 
festzulegen.

Funktionen:
Anders als bei den typischen sound to light Schaltungen will ich das 
Signal nicht über ein Mikrofon abgreifen sondern über eine 3,5mm Klinke. 
Die LEDs sollen nur auf den Bass reagieren.

Implementierung:
Vom Klinkenstecker geht das Signal über einen Tiefpass auf einen ADC 
Eingang des µc, wird dort ausgewertet und steuert einen Ausgang für die 
LEDs.

Fragen:
Könnte es mit den oben aufgeführten Komponenten funktionieren oder habe 
ich etwas wichtiges vergessen?
Würde eine Bereich zwischen 20-40Hz Reichen um ein schönes Bassspektrum 
abgedeckt zu haben?

von Mark B. (markbrandis)


Lesenswert?

Stefan N. schrieb:
> Signal nicht über ein Mikrofon abgreifen sondern über eine 3,5mm Klinke.

Und wie soll die auf den Schall reagieren, bzw. ihn in elektrische 
Impulse umwandeln?

: Bearbeitet durch User
von Stefan N. (suckiden)


Lesenswert?

ich weiß nicht ob sound to light in dem Kontext die richtige Bezeichnung 
ist. Mit sound to light meine ich Audiogerät spielt ein Lied ab und wird 
elektronisch über eine Kabel transportiert somit ist es kein "Schall" to 
light sondern wie ich meine "sound" to light.

Das Ziel bei dem Projekt ist es eben die Umgebungsgeräusche auszublenden 
und wirklich nur die Töne des eigentlichen Musikstücks zu visualisieren.

von Dennis X. (Gast)


Lesenswert?

Ich glaube das will er gar nicht sondern greift einfach sein Signal für 
die Anlage ab. Meinst du das mit "echt"?
Ich an deiner stelle würde die Eckfrequenz noch etwas höher setzen.
Kannst du schnell genug abtasten und verarbeiten?

von Dietmar (Gast)


Lesenswert?

20-40Hz sind viel zu wenig, z.B. fängt mann im PA Bereich üblicherweise 
oberhalb an. Ich würde den Bereich auf 300Hz erweitern.

Wenn du das lösen willst beschaftige dich mal mit dem Thema gleitender 
Mittelwert.
Und daran denken das Musik mal lauter und leiser sein kann.

von Stefan N. (suckiden)


Lesenswert?

Dennis X. schrieb:
> sondern greift einfach sein Signal für
> die Anlage ab

richtig :)

Dennis X. schrieb:
> Kannst du schnell genug abtasten und verarbeiten?

Denke schon, verwendet wird ein LCP1769 96MHz ADC speed weiß ich nicht, 
sollte aber ausreichen.

Dietmar schrieb:
> Ich würde den Bereich auf 300Hz erweitern

werde ich ändern, danke!

Dietmar schrieb:
> Wenn du das lösen willst beschaftige dich mal mit dem Thema gleitender
> Mittelwert.

um einzelne Spitzen abzufangen? (ist ja eine Art Glättung)

Dietmar schrieb:
> Und daran denken das Musik mal lauter und leiser sein kann.

Das ist allerdings ein Problem, könnte vielleicht mit einem Verstärker 
gelöst werden.

von Dennis X. (Gast)


Lesenswert?

Stefan N. schrieb:
> Dietmar schrieb:
>> Wenn du das lösen willst beschaftige dich mal mit dem Thema gleitender
>> Mittelwert.
>
> um einzelne Spitzen abzufangen? (ist ja eine Art Glättung)

Deine Messwerte schreibst du sauber in ein Array mit N Einträgen, dann 
machst du nach jeder Messungen einen Aktuellen Mittelwert über das 
Array.
Du willst ja nur den Bass-Anteil um eine Lichtquelle in ihrer Helligkeit 
zu steuern oder soll das ganze eher eine Art Spektrum nachher geben? 
Dann wäre nämlich der Ansatz ein anderer.

Grüße
Dennis

von Jürgen S. (jurs)


Lesenswert?

Stefan N. schrieb:
> Fragen:
> Könnte es mit den oben aufgeführten Komponenten funktionieren oder habe
> ich etwas wichtiges vergessen?
> Würde eine Bereich zwischen 20-40Hz Reichen um ein schönes Bassspektrum
> abgedeckt zu haben?

Dein Bassbereich ist mit zu niedriger Frequenz angesetzt.

Arduino-Bastler verwenden für solche Audio-Basteleien ganz gerne den 
MSGEQ7 Chip.

Den gibt es im bastelfreundlichen DIP Gehäuse und preislich ist der wohl 
sogar grünstiger als eine Bass-Frequenzweiche.

von Dietmar (Gast)


Lesenswert?

Stefan N. schrieb:
> Dietmar schrieb:
>> Wenn du das lösen willst beschaftige dich mal mit dem Thema gleitender
>> Mittelwert.
>
> um einzelne Spitzen abzufangen? (ist ja eine Art Glättung)

Nein, nicht um spitzen abzufangen, sondern um die Spitze zu finden.
Du nimmst zwei gleitende Mittelwerte mit unterschiedlicher 
Integrationszeit,
z.B. 300ms und 50ms. Der langsame folgt der mittleren Amplitude deiner 
Musik, und der schnelle nimmt auch die Spitzen mit. Wenn du die jetzt 
vergleichst solltest du bei jedem lauten Impuls sehen das der 50ms Wert 
größer wird als der 300ms Wert.

Das Verhalten kannst du nutzen um deine weitere Software zu "triggern".

von Stefan N. (suckiden)


Lesenswert?

Bei der Implementierung habe ich mir vorgestellt, dass die LED 
Helligkeit zwischen 0% (kein Bass hörbar) bis 100% (maximum Bass) 
wechselt. Um den Unterschied deutlich sehen zu können, möchte ich 
vermeiden, dass die LEDs die ganze Zeit über eingeschaltet sind und nur 
in der Helligkeit variieren.

Den MSGEQ7 Chip werde ich mir mal anschauen danke sehr.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

und was ist das jetzt anders als eine typische "Lichtorgel´" mit 
Analog-Eingang? Sowas haben wir schon vor ca. 50 Jahren zusammen 
gebastelt, damals noch ohne Controller, aber heutztutage muß ja selbst 
der Klopapier-Halter computerisiert sein

: Bearbeitet durch User
von Stefan N. (suckiden)


Lesenswert?

danke für die konstruktive Antwort, jedoch ist diese sound to light 
Funktion nur ein Teil des ganzen Projekts. 120 WS2812 Leds der andere 
und das könnte analog eine ziemliche Herausforderung werden. Aber ich 
bin kein Feind einfacher Lösungen, wenn du also einen Vorschlag hast wie 
man diese beiden Dinge vereinen kann, bin ich ganz Ohr.

von Johannes M. (johannesm)


Lesenswert?

Ich habe in einem Projekt sowas ähnliches mit einer FFT implementiert, 
dann kann man in der Software einfach den Frequenzbereich auswählen, 
worauf reagiert werden soll.

: Bearbeitet durch User
von Stefan N. (suckiden)


Lesenswert?

hast du dazu vielleicht einen Link oder ein paar Schlagwörter für mich, 
kann mir das nicht so richtig vorstellen. Klingt aber interessant und 
nach sehr wenig (Hardware) Aufwand.

von Johannes M. (johannesm)


Lesenswert?

Kommt drauf an, wie weit du dich mit der Signalverarbeitung beschäftigen 
möchtest und wieviel Vorwissen du schon hast.
Für einen ganz groben Überblick, ohne die Mathematikkeule rauszuholen, 
ist das hier ganz gut beschrieben: 
http://www.sprut.de/electronic/pic/16bit/dsp/fft/fft.htm
Von da aus kann man sich beliebig tief in die Fachliteratur zur Fourier 
Transformation und Signalverarbeitung stürzen. ;)
Irgendwo hatte ich auch schon kleine Implementierungen für Atmegas 
gesehen, die Suche sollte da einiges ausspucken.

: Bearbeitet durch User
von Der wahre Jupp (Gast)


Lesenswert?

Stefan N. schrieb:
> danke für die konstruktive Antwort, jedoch ist diese sound to light
> Funktion nur ein Teil des ganzen Projekts. 120 WS2812 Leds der andere
> und das könnte analog eine ziemliche Herausforderung werden. Aber ich
> bin kein Feind einfacher Lösungen, wenn du also einen Vorschlag hast wie
> man diese beiden Dinge vereinen kann, bin ich ganz Ohr.

Wegstaben Verbuchsler hat schon recht. Das ist sooo kalter Kaffee...

Auf der "letzten Meile" steht doch zur Steuerung des Leistungsteils 
sowieso wieder ein analoges Signal, ob damit nun wie vor x Jahrzehnten 
(seufzt) Triacs oder heute LED-Treiber gesteuert werden ist doch egal.

Controller als Tief- bzw. Bandpassersatz kann man IMO nur durchgehen 
lassen, wenn sowieso schon im Projekt vorhanden und Rechenzeit frei oder 
wenn zwingend noch andere Ansteurungsvarianten vorgesehen sind. 
Ansonsten fällt das mal wieder unter Kanonen -> Pantoffeltierchen...

Aber nun ja, heutzutage ist ja alles >2 Lötstellen eine 
"Implementierung". Albern.

von MagKeineOpis (Gast)


Lesenswert?

Hier haben wohl die Nachkriegskinder (wir hatten ja nix...) wieder 
Ausgang.

Dachte mit dem Alter wird man reifer und lockerer?
Manche hier wohl eher verbittert...

Lasst den TO doch machen, meingott.

von Der wahre Jupp (Gast)


Lesenswert?

MagKeineOpis schrieb:
> Hier haben wohl die Nachkriegskinder (wir hatten ja nix...) wieder
> Ausgang.

Nö, so alt dann doch nicht ;)

> Dachte mit dem Alter wird man reifer und lockerer?

Ja, ist so.

Konkret führt das Ansinnen des OP jedoch zu massivem Kopfschütteln, denn 
Lichtorgel mit Linepegel-Eingang sind uralter, µC-freier kalter Kaffee.

Entwerfen wir mal schnell im Kopf einen groben Aufbau: Line-Eingang, 
Entkopplung, µC. Die Entkopplung wird man üblicherweise mit einem 
Verstärker/Impedanzwandler machen, der hat typischweise 'ne 
Gegenkopplung. Da wirft man noch zwei Rs und zwei Cs rein und - ist 
fertig!

Anders sieht es aus, wenn tatsächlich noch andere Funktionen oder 
spezielle Filter vorgesehen sind, aber das schrieb ich ja schon. Im OP 
stand nix davon.

> Manche hier wohl eher verbittert...

Nö nö, nur erstaunt, wie groß die Kanonen für die Pantoffeltierchen 
heutzutage sind.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.