Posts by Mister Cool

    Ja, mein Vorhaben ist etwas seltsam, aber glaube mir, ich weiss, was ich da treibe :) Es handelt sich um eine Hight-Tech Audioanlage, wo die Tonalität und die räumliche Wiedergabe per DSP perfekt auf den Fahrersitzplatz getrimmt/eingemessen ist. Dazu habe ich mir sogar ein eigenes Messystem (wie die Kunstkopfmikros) aufgebaut. Da ich die Möglichkeiten, die der DSP und der Rest der Anlage bietet, ausgeschöpft habe, bleibt mir nur noch das Eingangssignal für den Innenraum des Autos (Akustik) und Sitzplatz zu optimieren.


    Hier gibt es ein paar Details dazu


    http://www.just-a-photo.com/fo…zeuge/Cayman/inframe.html


    Und das war der Vorläufer, der wegen des symetrischen Lautsprechaufbaus von der Korrekten Bühnenabbildung her noch ein Tick besser war


    http://www.just-a-photo.com/foto/Werkzeuge/W210/inframe.html


    Dort gibt es die Erklärung für die Unterschiede in der räumlichen Darstellung, je nach Einbau und DSP Setup

    Ich suche nach einer Lösung die Stereoabbildung asymmetrisch zu verbreitern, sprich die Stärke des Effekts pro Kanal links und rechts unterschiedlich stark einzusetzen.
    Ich möchte damit die ungünstige/asymmetrische Sitzposition und Lautsprechereinbauposition im Auto korrigieren und dementsprechend die Musikstücke für das Auto aufbereiten. Dabei habe ich konkret an „Verbreitung“ der linken Seite/Hälfte der Bühne gedacht, um den akustischen Versatz nach rechts (linke Seite "gestaucht", rechte Seite gestreckt) zu kompensieren -> siehe angähengtes Bild



    Ich bin ein absoluter Newbie in dem Audacity Bereich, aber ich habe mich nach den vorhandenen Plugins umgeschaut und habe etwas gefunden, das ich mir als Grundlage für sowas vorstellen könnte: ein Nyquist Plugin „Stereo Widener“ von David R.Sky


    http://old.audacityteam.org/nyquist/widener.ny


    Es ist so aufgebaut, dass man den Effekt mit 3 Parametern steuern kann:
    1. Inverted signal volume: [-48 dB - -6 dB, default -18 dB]
    2. Pan position: [0 (center) to -100 (opposite channel), default 0]
    3. Time offset: [0 - 20 ms, default 0] - applying an offset can enhance the illusion.


    Meine Idee besteht darin:
    A) im Optimal-Fall, die Parameter 1. und 2. getrennt für Kanal L und R abzufragen/einzugeben und dann die Kanäle L und R unterschiedlich zu bearbeiten
    B) als einfachere Lösung könnte ich mir auch vorstellen, dass ich die unterschiedlichen Werte als ein „Assymetriefaktor“ (salopp gesagt: z.B. linke Seite 2x stärker als die rechte) direkt in dem Code des Plugins eintrage und verrechne (den Faktor würde ich vorher durch testen ermitteln)


    Unglücklicherweise ich bin kein Plugin-Programmierer und kann es nicht selbst direkt umsetzen. Daher auch meine Frage an die „Profis“


    Was müsste an dem recht überschaubaren Code des genannten „Stereo Widener“ geändert werden, um die oben genannten Varianten A oder B zu erreichen.


    Hier ist das Code des Plugins:


    _____________________________________________
    ;nyquist plug-in
    ;version 1
    ;type process
    ;name "Stereo Widener..."
    ;action "Widening stereo audio..."
    ;info "by David R. Sky\nReleased under terms of GNU Public License\n-Pan: -100=opposite channel, 0=center"


    ;control vol "Inverted signal volume - db" int "" -18 -48 -6
    ;control p "Pan position" int "" 0 -100 0
    ;control offset "Time offset - ms" int "" 0 0 20


    #| Stereo Widener by David R. Sky, October 18, 2004
    Updated March 19, 2006
    Thanks to David Walsh and Monty of the Audacity-users list
    for discussion and explanation of how to widen stereo.


    Should work properly for both North American and European
    audacity-Nyquist -
    N American uses . for decimal
    European uses , for decimal
    so calculations are done using floating whole numbers
    (see two setf statements)


    A stereo widener creates the illusion that your speakers are
    further apart than they really are. Stereo widening results depend
    on distance of your speakers from each other, the plug-in settings,
    and your location in relation to the speakers.


    This stereo widener works by inverting both left and right channels
    of stereo audio to some degree, then panning those inverted signals
    somewhere between the center pan position and the opposite channel.
    A time offset of up to 20ms can be applied to enhance the illusion.


    Variables:


    1. Inverted signal volume
    From -48db (minimum volume) to -6db (maximum volume), default
    -18db.


    2. Pan position
    From 0 (center) to -100 (opposite channel), default 0.


    3. Time offset
    From 0 to 20ms, default 0ms.
    |#


    ; Stereo Butterfly function - used to
    ; change the width of the stereo field.
    (defun butterfly (sound width)
    (vector
    (sum (mult (aref sound 0) (sum width 1) 0.5)
    (mult (aref sound 1) (sum width -1) -0.5))
    (sum (mult (aref sound 1) (sum width 1) 0.5)
    (mult (aref sound 0) (sum width -1) -0.5))))


    ; convert arguments to floating values
    (setf offset (/ (float offset) (float 1000)))
    (setf p (/ (float p) (float 100)))



    ; applying stereo widener
    (if (arrayp s)
    (sim (cue s)
    (at-abs offset
    (cue (butterfly (mult -1 (db-to-linear vol) s) p))))


    (format nil "You must apply the stereo widener to stereo audio.")
    )



    _____________________________________________


    Ich schätze irgendwo in diesem Butterfly Function-Abschnitt müsste der „Assymetriefaktor“ eingefügt/verrechnet werden, nur wo?


    Natürlich bessere Ideen/Lösungen/Plugins, die mein Vorhaben unterstützen sind willkommen.
    Wichtig ist, dass die Lösung im Batch grössere Dateimengen verarbeiten kann.