BassFx Parameter

  • Hey @ all,

    in einem älteren Thread (Link) gibt es ein Beispiel (Example.zip), wie man mit der Bass-Sammlung Reverb, Echo und Chorus erzeugen kann. Da steht bei Echo z.B. als Parameter "1|0.3|0.3|0.4|". Ich verstehe nicht für was welcher Wert steht. ?(

    Hier die Example.au3:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <Bass.au3>
    #include <BassFXConstants.au3>
    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $ChorusHandle, $EchoHandle, $ReverbHandle

    [/autoit] [autoit][/autoit] [autoit]

    _BASS_STARTUP()

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("BassFX Test", 320, 140)
    $Meter = GUICtrlCreateProgress(10, 10, 300, 20)
    $Chorus = GUICtrlCreateCheckbox("BASS_FX_BFX_CHORUS", 10, 40)
    $Echo = GUICtrlCreateCheckbox("BASS_FX_BFX_ECHO2", 10, 70)
    $Reverb = GUICtrlCreateCheckbox("BASS_FX_DX8_REVERB (requires DirectX 8 or above)", 10, 100)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    _BASS_Init(0, -1, 44100, 0, "")
    $MusicHandle = _BASS_StreamCreateFile(False, @ScriptDir & "\example.mp3", 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 1)
    $song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(20)
    $current = _BASS_ChannelGetPosition($MusicHandle, $BASS_POS_BYTE)
    If $current = 0 Then _BASS_ChannelPlay($MusicHandle, 1)
    $percent = Round(($current / $song_length) * 100, 0)
    GUICtrlSetData($Meter, $percent)
    If $current >= $song_length Then _BASS_ChannelSetPosition($MusicHandle, 1, $BASS_POS_BYTE)

    [/autoit] [autoit][/autoit] [autoit]

    $msg = GUIGetMsg()
    Select
    Case $msg = $Chorus
    If GUICtrlRead($Chorus) = $GUI_CHECKED Then
    $ChorusHandle = _BASS_ChannelSetFX($MusicHandle, $BASS_FX_BFX_CHORUS, 5)
    $param = _BASS_FXGetParameters($ChorusHandle)
    _BASS_FXSetParameters($ChorusHandle, "0.5|0.4|0.5|1|10|5|" & $BASS_BFX_CHANALL)
    Else
    _BASS_ChannelRemoveFX($MusicHandle, $ChorusHandle)
    EndIf
    Case $msg = $Echo
    If GUICtrlRead($Echo) = $GUI_CHECKED Then
    $EchoHandle = _BASS_ChannelSetFX($MusicHandle, $BASS_FX_BFX_ECHO2, 6)
    _BASS_FXSetParameters($EchoHandle, "1|0.3|0.3|0.4|" & $BASS_BFX_CHANALL)
    Else
    _BASS_ChannelRemoveFX($MusicHandle, $EchoHandle)
    EndIf
    Case $msg = $Reverb
    If GUICtrlRead($Reverb) = $GUI_CHECKED Then
    $ReverbHandle = _BASS_ChannelSetFX($MusicHandle, $BASS_FX_DX8_REVERB, 7)
    _BASS_FXSetParameters($ReverbHandle, "0|-6|2000|0.001")
    Else
    _BASS_ChannelRemoveFX($MusicHandle, $ReverbHandle)
    EndIf
    Case $msg = -3
    ExitLoop
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    _BASS_Free()

    [/autoit]


    Würde mich freuen, wenn mir einer erklären könnte, wie man auf die Parameter von Reverb, Echo und Chorus kommt,

    mfG
    Developer30

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

    Einmal editiert, zuletzt von Developer30 (31. Oktober 2010 um 12:57)

  • Hi

    Bei dem Beispiel funktioniert bei mir nur der letzte Effekt - es dürfte sich noch um ein Beispiel der vorletzten Bass Version handeln
    Hab das mal kurz aktualisiert:autoit.de/wcf/attachment/11640/

    Der 3 Effekt ist ein DirectX Effekt (erkennbar an der Konstante $BASS_FX_DX8_REVERB)
    Die Parameter dazu findest du in der Bass.chm unter BASS_ChannelSetFX

    Die ersten beiden sind Effekte aus der bass_fx.dll ($BASS_FX_BFX_CHORUS)
    Parameter hierzu stehen in bass_fx.chm

    mfgE

  • Wo findet man Bass.chm und Bass_FX.chm? Ich hab die Dateien nicht, und in Google finde ich auch kein Downloadlink.

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • danke :)

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."