Idee für Audio- Plugin



  • Das Rauschen füllt das ganze Spektrum, auch wenn gezielt einzelne Frequenzen besonders hervorgehoben werden. Ich glaube nicht, das das toll ist. Vielleicht sollte das Rauschen bevor es zugemischt wird durch Paralle geschaltete Bandpass-Filter, die die selben Frequenzen verwenden, wie die Glockenfilter. Andernfalls ist es eben rauschen, das durch einen Euilizer geschickt wurde

    sehe ich anders - wenn man als input white oder pink noise nimmt und dann entsprechend ein fft-filter drauf legt, dass über 5 oktaven oder so nur den ton A durchlässt und den rest des spektrums unterdrückt ( = spektral-koeffizienten 0 setzen ), kann man schon ganz ordentliche effekte erzielen, wenn man dahinter zb noch ein VCA und VCR hängt.

    viel interessanter ist natürlich das tonale filtern einer audio-datei. sowas gibt es bereits als offline-editing. klingt schon genial.

    RockNix ///



  • Hallo Rocknix,

    genau!!

    Wenn der Filter steil genug ist kann man aus dem Rauschen laut Foureier fast sogar
    den Sinuston extrahieren.
    fft machts möglich
    wäre auch meiner Meinung die beste Filter- Variante 🙂

    OS



  • sehe ich anders - wenn man als input white oder pink noise nimmt und dann entsprechend ein fft-filter drauf legt, dass über 5 oktaven oder so nur den ton A durchlässt und den rest des spektrums unterdrückt ( = spektral-koeffizienten 0 setzen ), kann man schon ganz ordentliche effekte erzielen, wenn man dahinter zb noch ein VCA und VCR hängt.

    viel interessanter ist natürlich das tonale filtern einer audio-datei. sowas gibt es bereits als offline-editing. klingt schon genial.

    Meinst du mit FFT-Filter einen FIR Filter? Die bastelt man für gewöhnlich mit Hilfe der umgekerten FFT.

    Wir reden doch über Glockenfilter. Und die lassen das Signal unmal komplett passieren, nur das ein bestimmter bereich um ihre Center-Frequenz angehoben oder abgesenkt wird, abhängig von ihrer Bandbreite. Solche Filter findest du in allen parametrischen EQs. Falls du bei EQ irgendwie an einen grafischen EQ gedacht hattest, der das Signal mittels Bandpassfilter aufteilt und jedes Band einzeln lauter oder leiser macht, dann verstehe ich zumindest halbwegs, was du meinst.

    Wenn der Filter steil genug ist kann man aus dem Rauschen laut Foureier fast sogar
    den Sinuston extrahieren.
    fft machts möglich

    Für so extrem Steile FIR-Filter bräuchte man extrem lange Pulsresponses (wie lautet hierfür eigentlich der deutsche Begriff, falls das jemand weiß?). Teheoretisch unendlich Lange.

    Aber wer verwende schon FIR-Filter. Die sind langsam und haben immer diesen digitalen Charakter. IIR-Filter hingegen verhalten sich quais wie Analoge Filter (quasi die selbe Phasenverschiebung) und lassen sich Blitzschnell berechnn.
    Nur für Mastering EQs verwendet man FIR-Filter, weil da phasenlineare Filter von Vorteil sind.

    wäre auch meiner Meinung die beste Filter- Variante

    Gibts dafür 'nen Grund?



  • Hi Helium
    um meinen Teil zu beantworten:

    Ich habe diesen FFT- Filter in dem Prog.
    Samplitude kennen gelernt und ist, wie du schon bemerktest nicht in echtzeit, sehr leistungs fähig.
    Über einen grafischen editor kann man sehr hohe güten und extreme dämpfungen einsellen.
    Ist als eine art von bandpass gedacht um störsignale zu eliminieren,
    man kann aber auch umgekehrt arbeiten.
    Soweit ich hörte gibt es aber auch FFT- Filter die in echtzeit arbeiten
    und die Uni- Ulm schreibt, das dir FIR- Filter ohne laufzeitverzerrungen auskommen
    http://wwwex.physik.uni-ulm.de/lehre/PhysikalischeElektronik/Phys_Elektr/node62.html

    aber da wage ich mich auf ein gebiet.... ist mir zu hoch

    viel spass OS



  • Du beziehst dich auf das hier:

    Die Gruppenlaufzeit ist für alle FIR-Filter mit symmetrischen Koeffizienten frequernzunabhängig. Symmetrische FIR Filter eingesetzt in Audiogeräten erzeugen keine Laufzeitverzerrungen! Ausser in Ausnahmefällen verwendet man nur FIR-Filter mit linearer Phase.

    Das ist doch das, was ich gesagt habe, nur falsch von dir verstanden. FIR-Filter (vorrausgesetzt sie sind symetrisch) sind phasenlinear, verzögern folglich verschiedene Frequenzen nicht unterschiedlich, sondern alle gleichermaßen. Das heißt das signal wird einfach komplett um ne Milisekunde oder so verzögert, statt dass manche Frequenzen etwas mehr und manche etwas weniger verzögert werden. Analgoe Filter so wie digitale IIR-Filter haben aber dieses Verhalten.

    Und zu deinem "FFT"-Filter. Das ist so: du mals quasi deinen gewünschten Frequenzgang, berechntest die umgekehrte Fourie-Transformation und erhälst die Pulseresponse eines FIR-Filters.

    Trotzdem. Sagen wir du verendest 1024 Frequenzen, dann erhälst du eine Pulsrespons mit einer Länge von 2048. Das heißt ich muss mir die letzten 2048 eingegangenen Samples merken und Brauche zur berechnung des Filters 2048 Multiplikationen und 2048 Additionen. IIR-Filter komme da mit wesentlich weniger aus. die letzen zwei eingans und die letzten drei ausgangswerte sind in der Regel genug. dem entsprechend hast du auch nur eine Hand voll Additionen und Multiplikationen.



  • OkOkOk...
    schön erklärt.. ich vergesse immer dass es im hintergrund recht kompliziert zu geht.
    Und wenn ich von 1024 frequenzen nur eine will dann muss ich den anderen 1023
    sagen das sie nicht gebraucht werden...richtig so ??
    bildlich gedacht
    wie dem auch sei
    wir wollen die sache nicht komplizierter machen als sie werden könnte
    ich denke mal die effizienteste lösung ist auch die beste
    OS



  • Meinst du mit FFT-Filter einen FIR Filter? Die bastelt man für gewöhnlich mit Hilfe der umgekerten FFT.

    Wir reden doch über Glockenfilter. Und die lassen das Signal unmal komplett passieren, nur das ein bestimmter bereich um ihre Center-Frequenz angehoben oder abgesenkt wird, abhängig von ihrer Bandbreite. Solche Filter findest du in allen parametrischen EQs

    hmm, nö, im grunde braucht man nur eine transformation in den frequenzbereich mittels FFT mit genügend punkten bzw. koeffizienten, durch gezielte manipulation der entsprechenden koeffizienten im f-bereich "muted" man die nicht erwünschten frequenzen ( geht natürlich nicht unendlich steil, ist klar )und transformiert das ganze mittels IFFT in den zeitbereich zurück - fertig ist.

    Für so extrem Steile FIR-Filter bräuchte man extrem lange Pulsresponses (wie lautet hierfür eigentlich der deutsche Begriff, falls das jemand weiß?). Teheoretisch unendlich Lange.

    nicht unbedingt, siehe ansatz oben. der deutsche begriff ist übrigens "impulsantwort"



  • hmm, nö, im grunde braucht man nur eine transformation in den frequenzbereich mittels FFT mit genügend punkten bzw. koeffizienten, durch gezielte manipulation der entsprechenden koeffizienten im f-bereich "muted" man die nicht erwünschten frequenzen ( geht natürlich nicht unendlich steil, ist klar )und transformiert das ganze mittels IFFT in den zeitbereich zurück - fertig ist.

    Wenn du das komplette Signal auf einmal bearbeiten würdest (vorausgesetzt es hat eine länge, die einer Potenz von zwei entspricht, sonst funzt die FFT nicht und man muss zur normalen Fourie-Transformation greifen) dann ginge das. Wenn du immer Blockweise arbeitest körst du deutlich das arbeiten auf einzelnen Blöcken. Das heißt man muss überlappende Bereiche verwenden. Richtig gut (so das mans nicht mehr merkt) wirds ab einer vierfachen Überlappung). Und das ist viel langsamer, als sich einmal die Impulsantwort berechnen zu lassen und dann als FIR-Filter zu verwenden.



  • Wenn du immer Blockweise arbeitest körst du deutlich das arbeiten auf einzelnen Blöcken. Das heißt man muss überlappende Bereiche verwenden

    ich sagte bereits, wo ist das problem, dafür gibts schliesslich einen haufen von "window-functions" ...



  • Das einzige Problem, das ich habe ist: Mehr Aufwand bei schlechterer Performance. Filter sind ganz sicher keine sinnvolle Anwendung für's hin und herrechnen zwischen Time und Frequency Domain.

    Willst du das ding jetz schreiben? Dann sag bitte bescheit.



  • Hi Leute,
    ich hab mich mal n´bischen ausgeklinkt
    da ich in solch´speziellen Sachen, die Filter betreffend nicht mit halten kann
    😮
    Nichts desto trotz sollte die Geschichte doch vorwärts gehen.
    Mir ist es nämlich (fast)egal welcher Filter zum Einsatz kommt,
    wie ich oben schon erwähnte, ist das Ergebnis wichtig und wenn es noch nicht klingt kann man ja noch immer Alternativen ausprobieren.
    Also wie sieht´s aus
    should we do the share or not?!
    OS



  • /me hat noch mal ein wenig mit der offline-sw rumgespielt. es macht auf jeden fall wenig sinn, die ansteuerung für die oktaven getrennt zu machen. will damit sagen, wenn über MIDI zb ein A kommt, sollten alle oktaven im filter "aufgemacht" werden, nicht nur die spezielle, dann kommen bei einem wave-input wirklich interessante sachen heraus. nur eine einzige oktave zu öffnen kommt bei entsprechender steilheit des filters schon beinahe einem sinus-oszillator gleich - den könnte man auch einfacher basteln 😉

    wer wäre denn überhaupt noch dabei ? helium ? und ... ?

    so far ...



  • Jetzt kann ich wieder mitreden...
    genau, wäre zu überlegen ob eine zu steile güte wirklich sinnvoll wäre, als effekt ja aber dauernd?
    Wichtiger wäre sich über die verstärkung bzw. dämpfung gedanken zu machen.
    so ähnlich wie beim vocoder.
    ein keyboard mit einer oktave wobei pro taste...sagen wir mal 6 filter angesprochen werden z.b. 110,220,440,880,1760,3520 Hz ?
    die aber getrennt geregelt werden ?
    das ergebe 6x12 = 72 potis für den boost/cut zu aufwendig?
    viele, so wie ich finden es klasse so viel eingriffs möglichkeiten wie nur geht zu haben.
    ein name für das plugin wäre schon da.
    zu ehren des universalgenies, der sich mit seinen resonanzkukeln als erster
    gedanken in diese richtung gemacht hat und der anstoss für die idee war
    "helmholtz" seit malström geht alles (soll keine rechtfertigung sein) 😃



  • /me hat noch mal ein wenig mit der offline-sw rumgespielt. es macht auf jeden fall wenig sinn, die ansteuerung für die oktaven getrennt zu machen. will damit sagen, wenn über MIDI zb ein A kommt, sollten alle oktaven im filter "aufgemacht" werden, nicht nur die spezielle, dann kommen bei einem wave-input wirklich interessante sachen heraus. nur eine einzige oktave zu öffnen kommt bei entsprechender steilheit des filters schon beinahe einem sinus-oszillator gleich - den könnte man auch einfacher basteln

    Also entweder habe ich etwas grundlegend Falsch verstanden (dan klät mich bitte auf) oder RockNix.

    Ich habe verstnadnen, dass man mit Glockenfiltern (auch Bellfilter oder Peaking-Filter genannt) die (per Midi) gespielten Frequenzen anhebt.

    Bei RockNix beschreibung komme ich aber immer zu dem schluss, dass er Bandpassfilter verwenden will, die nur die gespielten Frequenzen passieren lassen.

    Wenn das jetzt nicht endlich mal geklärt wird, also gesagt wird, ob Bandpass oder Bell, oder Rocknix sagt ich hätte ihn flasch verstanden und er meine auch Bellfilter, dann steige ich aus.



  • Oh..Oh..
    Da besteht Handlungsbedarf!
    Ich finde es schwer über solch´eine Plattform zu einem Ziel zu kommen, (trotz aller Smilies)wenn Keiner seine Absichten klar formuliert und das geht an Rocknix und Helium
    Ihr schiebt euch gegenseitig Argumente für den einen bald den anderen Filter um die Ohren und fragt dann das Universum "wer macht mit?"
    Ich als Initiator dieser Idee fühle mich verpflichtet Euch zu sagen EINIGT EUCH!!
    Ich fand´es super als Diskussionen aufkamen wie man son´Ding bauen kann
    und wie man ran´geht an die Sache aber es sollte kein Gelehrtenstreit werden
    das hab ich nun nicht beabsichtigt!
    Rocknix hat wohl nichts gegen Teamarbeit...Oder?
    Helium fehlt noch die Aussage wer bzw. ob noch jemand mit macht...Oder?
    Ich für mein Teil möchte das das Plug ´ne tolle Sache wird und finde es klasse Menschen gefunden zu haben die sich ernsthaft (sonst wäre diese Mail nicht nötig) mit meiner Idee auseinandersetzen!
    Also Leute tut uns Allen den Gefallen und sagt mal konkret an wo es hin gehen soll.
    Ich bin dabei:

    An Helium
    1. Ja über MIDI
    2. von mir aus auch Peak- Filter (und das ist nicht abwertend gemeint)
    3. die Idee von Rocknix, Filter zusammen zu schalten per Tastendruck wäre ne Überlegung wert funktioniert auch mit Peak- Filter (jeden falls elektrisch)
    4.soviele andere Fragen sind noch nicht geklährt z.B. Rauschgenerator, Mixmatrix uvm. die sich allein aus der programmierung ergeben.

    An Rocknix
    1. Bist du jetzt eigendlich dabei oder der Zubedenkengeber vor Herren 😉
    2. Wie wäre es mit Aufgabenteilung?
    3. du hast ja wohl schon ein bischen rumgebastelt, dann lass doch mal den Helium daran teilhaben? zu viel verlangt?

    An Beide
    Ich habe leider keine Ahnung welcher Filtertyp programmtechnisch der Bessere ist, sonst würde ich es hiermit bestimmen.
    Aber hilfreich könnte sein, wenn Ihr auf Effitienz achtet.
    Das Plug soll klein sein und in Echtzeit arbeiten, aber auch dramatische (überzeugende) Effekte erzeugen.
    Hilfreich könnte auch die Grundidee sein.
    Als ich mich für meine Diplomarbeit vorbereitete, stieß ich auf den Physiker
    Von Helmholtz.
    Der experimentierte mit Resonanzkugeln aus Glas.
    Ein Ende ins Ohr das Andere zur Schallquelle,
    je nach Durchmesser der Kugel wurden Resonanztöne erzeugt,d.h.
    aus dem Frequenzgemisch hervorgehoben.
    Bei meiner Idee sollten an diesen Kugeln keine Ohren sondern Mikrofone,
    die üder eine Tastatur geschaltet werden.
    Sehr unpraktikabel, da Quellsignal und Ausgabesignal im selben Raum (feedback)
    Dann.... der Funke!! DAS SIND DOCH NICHTS ANDERES ALS FILTER!!
    Über eine Tastatur geschaltete Filter das war´s und zu allem überfluss auch noch chromatisch gestimmt .. Wie ein richtiges Instrument.
    Und warum elektrisch Bauen, wenn man das auch programmieren kann!!

    So Leute ich will von euch jetzt was hören und nicht über den alten Tante Melittas Filterstreit zusammen brechen.
    OS



  • Bei RockNix beschreibung komme ich aber immer zu dem schluss, dass er Bandpassfilter verwenden will, die nur die gespielten Frequenzen passieren lassen.

    genau das meinte ich. bei einem wave-file input klingt das genial. wenn du dann zb nur das A aufmachst, hast du eine je nach eingangsmaterial rythmische sequenz auf dem ton A. das ist doch der trick dabei. jedes x-beliebige eingangsmaterial kann auf die benötigte "stimmung" gefiltert werden.

    die aber getrennt geregelt werden ?
    das ergebe 6x12 = 72 potis für den boost/cut zu aufwendig?

    konnte ich auch bereits mit der offline-sw testen. macht kaum einen unterschied, ob man die eine oktave noch ein wenig "boosted" oder nicht. hier kommt dann wohl die psychoakkustik ins spiel, von wegen signaltrennung bei mehreren oktaven.

    Aber hilfreich könnte sein, wenn Ihr auf Effitienz achtet.

    bei 2GHz PIV - ist ja schon quasi standard - ist die filterwahl nach performancekriterien wohl überflüssig. nehmen wir den, der am schnellsten programmiert/implementiert ist. es wird ja wohl keiner auf die idee kommen alles "off the scratch" zu schreiben. wozu gibt es 1000e von filter/fft-libs ? 😉

    also ich würde folgendes vorschlagen:

    -das dingen erstmal als stand-alone-exe schreiben
    -input = wave-file / hw-audio-in
    -control = midi-in
    -plug-in interface für den filter-algo ( da kann man schnell mehrere testen )

    und wenn alles läuft und wir mit dem sound zufrieden sind, in eine VST-plugin überführen.



  • ach so, ja, und wer macht was ? ich würde mich ggf. bereit erklären, das framework zu basteln - sprich das hw/wave/midi-zeugs. vielleicht hat helium lust, die filter algos zu basteln ?



  • Danke, Rocknix für deine Antwort,
    denn deinen Aus führungen entnehme ich das du mit dabei bist
    und es klingt gut was du vorschlägst.
    Du hast das Ding wie es werden soll geblickt 😃
    Was ist nun mit Helium......?
    OS



  • Also ich bin zur Zusammenarbeit bereit.

    bei 2GHz PIV - ist ja schon quasi standard - ist die filterwahl nach performancekriterien wohl überflüssig. nehmen wir den, der am schnellsten programmiert/implementiert ist. es wird ja wohl keiner auf die idee kommen alles "off the scratch" zu schreiben. wozu gibt es 1000e von filter/fft-libs?

    Du musst bedenken, dass 96000 oder gar 192000 Samples pro Sekunde verarbeitet werden und nicht nur dieses eine, sondern sehr viele Plugins parallel laufen. In meinen Stücken laufen locker 30 bis 50 Plugins gleichzeitig. Dann zählt die Geschwindikgeit doch wieder.

    Aber bei reinenen Filtern kriegen wir das schon hin. Ich hab sowohl einen Pwaking-Filter mit variablem Gain, Bandbreite und Centerfrequenz, als auch einen 2-Pol Bandpass-Filter mit einstellbarer Bandbreite und Centerfrequenz. Beides IIR-filter, die schneller kaum sein könnten.

    Ich hab da noch ein paar grundlegende Frage:
    - Hast du schonmal VST-Plugins programmiert oder dich nur allgemein mit DSP beschäftigt. (Das nur soll nicht abwertend sein.)
    - Besitzt du zufällig einen Mac (ich hab nämlich keinen, kennen aber zur not jemanden, der das Plugin portieren könnte)
    - Welche VST-kompatiblen Hosts besitzt du (wegen des Betatestens). Ich hab nur wenige: Cubase SX, Wavelab und einen freien Test-Host.
    - Wie führen wir die Betatests durch: Public Beta, ausgewählter Kreis von Freiwilligen, oder gar nichts öffentliches.



  • deinen Aus führungen entnehme ich das du mit dabei bist

    sagen wir mal so, es reizt mich schon, da die idee wirklich gut ist und das ganze auch überschaubar ist.

    aber - ich habe einen fulltime-job, will damit sagen, ich kann nicht 10 stunden am tag investieren. andererseits habe ich viele dieser module schon mal geschrieben - waveIO, midiIO - von daher können wir das ganz easy angehen.

    so far ...


Anmelden zum Antworten