Hallo, ich habe eine Frage zur Webseite von Elm Chan: http://elm-chan.org/works/vp/report.html Das mit dem Filtern und Echo habe ich mal realisiert, klappt echt toll. Hardware ist ein XMega64A3U mit einem SPI RAM 32KB. ADC und DAC sind on Board, alles super. Der Bursche hat echt was auf dem Kasten, ich ziehe da meinen Hut. Leider ist sein Englisch eher rudimentär, deshalb bleibt mir der Teil mit dem "Blending Buffer" für die Pitch conversion unklar. Ich lasse den Read Pointer doppelt so schnell laufen wie den Write Pointer und es klappt auch schön. Leider ist da auch der beschriebene und zu erwartende Klick im Moment wenn die Pointer sich überschneiden. Wer kann mal erklären, wie der Blending Buffer befüllt wird? Leider hakt es da bei mir. Ich wäre für eine kurze Hilfe dankbar. Gruß Thomas
Thomas S. schrieb: > Wer kann mal erklären, wie der Blending Buffer befüllt wird? Leider hakt > es da bei mir. Mit genau den alten Daten aus dem Fifo, die beim Schreiben von neuen Daten rausfallen (genauer: überschrieben werden).
Gast
#5378837
Jim M. schrieb: > Thomas S. schrieb: >> Wer kann mal erklären, wie der Blending Buffer befüllt wird? Leider hakt >> es da bei mir. > > Mit genau den alten Daten aus dem Fifo, die beim Schreiben von neuen > Daten rausfallen (genauer: überschrieben werden). Es sieht aber im Bild 6 (unterer Teil) nicht so aus, als wenn das die gleichen Daten sind. Ich vermute eher, daß da iegendwas interpoliert wird, damit eben kein Knacken (steile Flanke) erscheint. Der Begriff "blending puffer" läßt das auch vermuten, denn er soll die Daten überblenden. Aber wie, hab ich auch noch nicht geschnallt...
Gast
#5378841
"The cross fade is done during passing this range for 32 sample time." Das Überblenden wird in einem Bereich von 32 Samples gemacht. Nur wie?
Gast
#5379237
Jim M. schrieb: > Mit genau den alten Daten aus dem Fifo, die beim Schreiben von neuen > Daten rausfallen (genauer: überschrieben werden). und genau deshalb ergibt das auch kein zufriedenstellendes pitching...
Das hilft mir aber nicht weiter, die alten Daten die rausfalllen sind auch irgendwann mal zu Ende, und dann kommt der Klick eben etwas später. Irgenwie gehen die Daten da in einander über, ich wollte wissen wie der das macht.
Gast
#5379454
http://elm-chan.org/works/vp/blk_over.png Aus dem Bild geht hervor, dass die neuen Daten und die alten Daten sich um ein paar Samples überlappen. Diese Überlappungen werden zusammengeführt und eine neuer Wert "errechnet". Zu den Routinen die du dir anschauen musst gehört "xfer_data:" in VP_PITCH.ASM und das Makro "READ" in VP_DEF.INC.
Harald schrieb: > Aus dem Bild geht hervor, dass die neuen Daten und die alten Daten sich > um ein paar Samples überlappen. Diese Überlappungen werden > zusammengeführt und eine neuer Wert "errechnet". Genau: Da ist das Cross Fade. Debei wird der Fading Parameter mit dem Abstand des Lese- zum Schreibzeiger verknüpft. Je kürzer der Abstand je mehr geht der Blending Buffer in den Endwert ein, bei Lesezeiger=Schreibzeiger dann (nahezu?) 100%. Damit hat man sanft von Ringpuffer-neu auf Ringpuffer-alt übergeblendet, wenn der Lesezeiger schneller als der Schreibzeiger läuft.
Gast
#5382886
sumo schrieb: > Der Begriff "blending puffer" läßt das auch vermuten, denn er soll die > Daten überblenden. Aber wie, hab ich auch noch nicht geschnallt... Nein, hast du nie Whisky getrunken und aufs Etikett geschaut? To blend heisst vermischen, verschneiden. https://www.beowein.de/epages/Shop538.sf/de_DE/?ObjectPath=/Shops/Shop538/Products/10805 https://www.dict.cc/englisch-deutsch/to+blend.html
Gast
#5383261
blending ist hier das gleiche wie cross fade, sage ich mal
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.