vocal autotune/harmoniser für Clavia G2

Dieses Thema im Forum "Modular" wurde erstellt von Tim Kleinert, 14. Mai 2008.

  1. hi, falls es interessiert, habe auf dem Clavia G2 einen auf dem keyboard polyphon spielbaren vocal autotune/harmoniser mit Formantkorrektur/-kontrolle entwickelt.
    Zu finden hier:
    http://www.electro-music.com/forum/topic-26247.html

    es ist ein "work in progress", gewisse dinge kann ich vielleicht noch verbessern, aber es funzt schon ganz ordentlich.

    (Anm.: Doppelpost-Alarm :oops: -hab' das zuerst fälschlicherweise im "Klangfragen"-Subforum gepostet. Kann man dort gerne löschen, thx.)
     
  2. Moogulator

    Moogulator Admin

    Interessantes Projekt! Das wäre sogar mal nen Blogstoff wert.
     
  3. Oh, danke.

    Ja, im Moment ärgere ich mich immer noch mit einer Verbesserung der Tonhöhenerkennung rum. Mein Design filtert Signal mittels eines adaptiven LPF auf eine unizyklische Wellenform herunter und misst dann die zero crossings. "Adaptiv" bedeutet dass das Signal am Ausgang des LPF mit einem Envelope Follower ausgemessen wird, welcher rückkoppelnd dann die Frequenz ebendieses Filters invertiert steuert. Ist eine Erfindung von mir, aber sie funktioniert erstaunlich gut :lol:, und man kann es durch Justage des Filters, des Mod-Ranges und des Env-Followers gut feintunen. Das Problem ist nur, dass durch das Filtern die zero-crossings phasenverschoben werden, sodass man diese nicht mehr zum Antriggern des wavecycle-basierten Pitchshifters verwenden kann, sondern hierfür nochmals eine zweite Abtastung vornehmen muss. Not good enough.

    Bin also auf der Suche nach einer Schaltung, die auch mehrzyklische Wellenformen (d.h. mehr als 1 zero crossing pro Grundschwingung) als solche erkennt, und auch so immun als möglich ist gegenüber Störsignalanteilen. Habe mich hierzu in die Thematik eingelesen und auf patentstorm.us ein paar Patente angesehen. Ist ein interessantes Gebiet, geht zurück bis in die Anfänge der Nachrichtentechnik (Stichwort PLL), kann man eine Menge lernen.

    Die mit Abstand beste Methode in der time domain ist zweifellos die Autokorrelation (das Audiosignal wird von verzögerten Kopien seiner selbst subtrahiert, die Auslöschungsmaxima bestimmen die Periode). Nur sehe ich keinen Weg, diese auf dem G2 zu implementieren, da alle Verzögerungen (in Samples) mit einer Schleife auf einmal abgearbeitet werden müssten (was eh auch relativ rechenintensiv ist). (Mein Experiment mit einer PLL-Delayline scheiterte kläglich :lol:.) Schade. Eine andere Technik, "zero crossing max gradient detection" (A.Szalay), d.h. die Anstiegsgeschwindigkeiten der Wellenform bei den Nulldurchgängen auszuwerten, hat nicht gehalten was sie versprach. Tja, und nun... warte ich auf Inspiration. :lol:

    2b continued.
     
  4. Anonymous

    Anonymous Guest

    Liest sich sehr beeindruckend, ich probiere das bei Gelegenheit mal aus. Danke für das "Sharing" :)
     
  5. Falls Du einen G2 hast kannst Du Dir via obigem Link mal das Autotune-Patch ansehen/anhören. In dessen FX-Sektion, in der 2. Kolumne, steckt der beschriebene Pitch-Detector. Ist aber leider nicht beschriftet (eine Untugend von mir :oops:), aber Du erkennst es am LPF mit nachgeschaltetem Env-Follower.
     
  6. Anonymous

    Anonymous Guest

    ja, sehr beeindruckend !
     
  7. lacroix

    lacroix Tach

    Awesome. Kommt wie gerufen. Superb.

    Lacroix
     
  8. lacroix

    lacroix Tach

    Streich wäre und ersetze es mit ist. Trifft den Kern besser.
     

Diese Seite empfehlen