# Beat-Light



## TreCore (8. Jan 2016)

Hiho Leute 

komm ich direkt mal zu meinem Problem:
ich möchte eine Musik-Datei einlesen und diese genau auslesen,
damit ich die Frequenzen etc. dazu nutzen kann um
eine Lampe nach Beat leuchten zu lassen.
(Hoher Beat -> helles Licht, kleiner Beat -> dunkleres Licht)
Nun hab ich bereits die Musik-Datei (WAV) eingelesen,
per FFT die Teilfrequenzen berechnet (Array mit 32 floats)
und versucht mit diesen Frequenzen ein Licht nach beat leuchten zu lassen.
Einmal per Durchschnitt (größte Frequenz von den Array),
einmal per Höchstenwert (max von den Array)
und dann nochmal beides aber mit einem smootheren Übergang durch Annährung mit ms
Leider ergibt das nicht mein erwünschtes Ergebnis ... :/
Was könnte ich tun damit es besser auf den Beats leuchtet?

Hier nochmal mein Code mit durchschnitt und smoothen Übergang.
PS: da es eig. egal ist ob ich ein Licht oder eine Farbe von einem 3D-Objekt änder habe ich erstmal ein Cube verwendet

```
public void update(long delta) {
        cube.update(delta);

        double[] values = spectrumSoundThread.getFreqTable();
        float testValue = 0;
        if (values != null) {
            for (double value : values)
                testValue += value;
        }
        Vector3f diffuse = cube.getMaterial().getDiffuse(); //Diffuse-Farbe einholen
        float should = 1 - testValue / 32; //Soll-Wert
        float difference = should - diffuse.y; //Differenz zum Soll-Wert
        // Farbänderung mit Zeitübergang (nur für Grün)
        diffuse.y += ((difference / 1000 * delta) * speed); // speed = 25f;
        if(diffuse.y > 1.0f)
            diffuse.y = 1;
    }
```


----------



## TreCore (9. Jan 2016)

Ok ... ich habs nun selber gelöst ...
Es reicht eigentlich wirklich was ich implementiert hab.
Ich hatte nur festgestellt das es ein kleines Problem mit einem Thread gab,
der die Frequenzen etwas verspätet zurück gegeben hatte ...
was wiederum für Verzögerungen auf den Effekt hatte.


----------



## windl (12. Jan 2016)

Hi TreCore,

würdest Du mir den kompletten Source einmal senden?
Das klingt extreme interessant. Kann dein Source denn auch mit MP3's umgehen?

Danke
Uwe


----------



## Sogomn (21. Jan 2016)

Ich würde mir den Code auch gerne mal ansehen


----------

