T
Turing
Thou shalt not loop
An dem Punkt könntest Du ja mal ansetzen und die Realisierung des Stimmenklaus verbessern.Der andere Grund warum ich gegen FM getauscht habe ist dass die Diskontinuität bei Stimmenklau einen Spike im Differentiator des DC Removers macht,
mit dem der Pickup nicht zurecht kam.
Variante a), legato-artige Umsetzung, Du behälst bei Stimmenklau einfach die momentane Phase aller Teiloszillationen (in allen Rotationsdimensionen) bei und änderst nur ab diesem Punkt die Frequenzen und Hüllkurve. Das sollte Sprünge verhindern (wenn Du auch gleitend zwischen den Hüllkurven übergehst).
Variante b), die geklaute Stimme erhält ein quick release (z.B. 6 ms).
Diesen Abschnitt kann man entweder im Voraus in einen für den Zweck geschaffenen Buffer rendern.
Oder aber man vergrößert die Zahl der Stimmen z.B. auf das Doppelte und erlaubt dann nur bei der ursprünglichen "echten" Stimmenzahl das volle Release, alle überzähligen Stimmen sind entweder off oder in einer Quick Release-Phase (und daher nach einigen Millisekunden auch off), der rechnerische Overhead für diesen Ansatz ist auch nicht sehr hoch.
Ein klick-freies Voice-Stealing kriegst Du nicht geschenkt und es würde nicht nur Dein DC-Removal-Problem lösen, sondern den Prototyp überhaupt verbessern.
Ich kann aber nicht beurteilen, wie schwer einem Faust diese Dinge macht. In einer General-Purpose-Programmiersprache sind die erwähnten Standard-Ansätze mit nicht sehr hohem Aufwand umzusetzen.
Zuletzt bearbeitet: