Label im Takt zur Musik blinken lassen

  • Hallo,
    ist es, wenn ja, wie, möglich, eine mp3-Datei mit Autoit auszulesen und ein Label in ihrem Takt blinken zu lassen?

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

    Einmal editiert, zuletzt von retrokid (9. April 2012 um 22:41)

  • Leider kann ich dem nichts Sinvolles entnehmen. Ich hab mir das Peak-Meter von eukalyptus' Equalizer angeschaut und müsste jetzt doch eigentlich eine Veränderung abfragen, genauer gesagt, ob $iLevel schlagartig steigt und wieder abnimmt.
    Aber woher weiß ich, in welchem Zahlenbereich ich prüfen muss, weil ja nicht jeder kleine "Hüpfer" erkannt werden muss. Kann mir einer dabei helfen?

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • Hier siehst du sogar wie das evtl. geht. eukalyptus, XP-Fan und andere haben bereits einen Visualizer hier gemacht. Das ist doch in etwa, was du suchst, oder?
    Edit: Ich hab in der BASS.au3 auch mal was zum Thema BPM Measure gefunden. Schau dir mal das ganze Bass Zeugs an, ich bin mir sicher, dass du da was findest. Aber soweit ich weiß ist das mit den BPM immer so eine Sache...

  • Ok, also ich habe die Funktion von Eukalyptus ein wenig abgeändert.

    Spoiler anzeigen
    [autoit]

    Func _DecibelFloat($iLevel)
    $iLevel = Log($iLevel) / Log(10) * 20
    If $iLevel < -64 Then $iLevel = -64
    $iLevel = ($iLevel + 64) / 64
    If $iLevel > $iLevelOld+0.05 Then ; +0.1
    ToolTip($iLevel)
    EndIf
    $iLevelOld = $iLevel
    Return $iLevel
    EndFunc ;==>_DecibelFloat

    [/autoit]


    Ich glaube das ist fast das Maximale, was sich an Genauigkeit erzielen lässt, wenn man eine Musik-Datei ausliest. Viel genauer wird es wohl nie gehen. Danke für die Hilfe.

    Edit: Ich habe mal auf "gelöst" gestellt. Freue mich aber natürlich noch über Alternativen.

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D