modulo offset???

Fragen und Antworten, Beispiele

Moderator: herw

modulo offset???

Beitragvon helmsklamm » So 27. Feb 2011, 20:02

sry, aber ich hab grad nen totalen aussetzer:

prob: sequenza rattert brav von pos 0-63. möchte ich die seqeunz kürzen, einfach am modulo B eingang die wunschkonstante setzen und die range wird nach konstantenvorgabe sauber "geloopt". soweit so klar.

nun möchte ich aber aber einen "offset", bspw. soll der sequenza nur die positionen 7-19 spielen. damit es bei 19 wieder nullt, baruch ich also eine 18konstante am B IN. soweit so einfach,. das prob sind die 7 steps offset. häng ich einen addierer vor das modulo, beginnt alles stets bei null, hänge ich den addi dahinter, läuft es logischerweise hinten bis 26 statt 19.

ich denk, ich brauch ein start- und ein endmodulo, aber ich hab grad vollblockade: ich krieg diesen zwangsweise 0 start nicht "geoffset".


appropos: sofern ich das überblicke "modulot" nur der B , während A keine ahnung was macht - hab ich leider auch komplett vergessen:(
und wozu dient eigentlich der div-out? ausser das er nur integer ausgibt, unterscheidet er sich doch nicht vom normalen div, oder?
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
helmsklamm
synth gott
 
Beiträge: 1011
Registriert: Mi 10. Mai 2006, 17:21
Wohnort: 030

Re: modulo offset???

Beitragvon Triton » So 27. Feb 2011, 22:42

Argh, Modulo ist immer so vertrackt.

Mal probieren:

(A-19) mod 12 + 7
bzw. (A+5) mod 12 + 7 (müsst dasselbe rauskommen)

Da landet die 19 auf der 7. Hm.

Welche Zahl soll denn auf welche Zahl gehen? 0-63 gehen kreisweise rein, raus soll der Loop 7-19?

---

Der Div macht die normale Integer-Division glaub ich, mit konsequentem Abrunden.
Benutzeravatar
Triton
synthesist
 
Beiträge: 58
Registriert: So 1. Aug 2010, 18:22
Wohnort: Gießen

Re: modulo offset???

Beitragvon KlangRaum » Mo 28. Feb 2011, 06:07

Tip: Nie mit einer absoluten Start bis Endposition rechnen sondern immer mit Offset und Anzahl der Steps.... dann macht das mit dem Addieren und anschliessendem Modulo (zum wrappen) keine Probleme. Start und Ende sind dann Werte, die ganz am Ende der Berechnung fast schon wie nebenbei rauskommen.

Ich schau später mal, irgendwo hab ich ne Universalschaltung...

Gruss
Peter
Siggi Natur ? :mrgreen:
Benutzeravatar
KlangRaum
synth guru
 
Beiträge: 647
Registriert: Di 1. Aug 2006, 13:55

Re: modulo offset???

Beitragvon KlangRaum » Mo 28. Feb 2011, 23:51

Schau mal hier, vielleicht hilft Dir das weiter:

Seq_clock.jpg
Seq_clock.jpg (22.94 KiB) 3110-mal betrachtet


Ist eigentlich selbsterklärend...
Pattern Len gibt die Länge vor, Clockshift verlegt den Startpunkt nach vorne (Rotation). Vom Prinzip ist das auch leicht zu erweitern, wenn Du zb einen Ausschnit von 16 aus 64 Steps abspielen willst...

Gruss
Peter
Siggi Natur ? :mrgreen:
Benutzeravatar
KlangRaum
synth guru
 
Beiträge: 647
Registriert: Di 1. Aug 2006, 13:55

Re: modulo offset???

Beitragvon helmsklamm » Do 3. Mär 2011, 10:52

Triton hat geschrieben:
Welche Zahl soll denn auf welche Zahl gehen? 0-63 gehen kreisweise rein, raus soll der Loop 7-19?



genau so.

@klang…

ich hab mich wohl missverstädnlich ausgedrückt - ich wollte keinen zeitlichen versatz, sondern ein "value-offset". deine schalte generiert aber nur einen zeitlichen offset: Das pattern-modulo entspricht ja meiner eh vorhandenen 0-63. das shift-add ist klar, das letzte modulo nullt wieder alles, allerdings um den shiftwert zeitlich versetzt!
ich such aber nen echten werteversatz mit "wrap" beschneidung: wenn ich vorne 5 positionen zuaddiere, sollen hinten 5 positionen abgeschnitten werden.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
helmsklamm
synth gott
 
Beiträge: 1011
Registriert: Mi 10. Mai 2006, 17:21
Wohnort: 030

Re: modulo offset???

Beitragvon Rampensau » Do 3. Mär 2011, 22:49

Das Intervall ist ja [7, 19] = [0+7, 12+7]. Umfasst also 13 Schritte und ist um 7 Schritte von der 0 verschoben.

Folglich benötigst du x mod 13 und addierst direkt danach ne 7 hinzu.
Modseq_A.jpg
Modseq_A.jpg (18.96 KiB) 3070-mal betrachtet


Wenn du die Intervallgrenzen doch direkt in Anfangs- und Endschritt eingeben willst, ergibt sich das Offset aus dem Startwert. Und der Modulooperator [B] (also die Anzahl der Schritte) aus der Differenz von Anfangs- und Endschritt +1.
Wenn man jetzt den Fall abfangen will, dass sich der Startwert höher als der Endwert eingeben lässt, also dass der Zähler rückwärts läuft :D , muss man auch noch was zwischenklemmen. Ich habs mit nem Rectify-sign gelöst.
Modseq_B.jpg
Modseq_B.jpg (39.3 KiB) 3072-mal betrachtet

Modulo Seq.zip
(6.94 KiB) 177-mal heruntergeladen

Wer näher nachvollziehen will, was das Modulo macht, kann ja mal in die Core-Umsetzung reinschauen.
Zuletzt geändert von Rampensau am Do 3. Mär 2011, 23:06, insgesamt 1-mal geändert.
Benutzeravatar
Rampensau
meister
 
Beiträge: 192
Registriert: So 6. Dez 2009, 21:32

Re: modulo offset???

Beitragvon herw » Do 3. Mär 2011, 23:02

Rampensau hat geschrieben:Das Intervall ist ja [7, 19] = [0+7, 12+7]. Umfasst also 13 Schritte und ist um 7 Schritte von der 0 verschoben.

Folglich benötigst du x mod 13 und addierst direkt danach ne 7 hinzu.
Modseq_A.jpg


Wenn du die Intervallgrenzen doch direkt in Anfangs- und Endschritt eingeben willst, ergibt sich das Offset aus dem Startwert. Und der Modulooperator [B] (also die Anzahl der Schritte) aus der Differenz von Anfangs- und Endschritt +1.
Wenn man jetzt den Fall abfangen will, dass sich der Startwert höher als der Endwert eingeben lässt, also dass der Zähler rückwärts läuft :D , muss man auch noch was zwischenklemmen. Ich habs mit nem Rectify-sign gelöst.
Modseq_B.jpg

Modulo Seq.zip

Wer näher nachvollziehen will, was das Modulo macht, kann ja mal in die Core-Umsetzung reinschauen.
das ist sehr schön, dass du primary und core direkt im Vergleich darstellst, so muss es sein. So viel Core wie möglich und so wenig primary wie nötig!!
Benutzeravatar
herw
moderator
 
Beiträge: 3042
Registriert: Mo 13. Mär 2006, 19:28
Wohnort: Dortmund

Re: modulo offset???

Beitragvon Rampensau » Fr 4. Mär 2011, 18:01

@Peter:
das Modulo in der Mitte in deiner Schaltung ist redundant. Das kann man doch weglassen.
Es gilt:
Modulo.jpg
Modulo.jpg (9.72 KiB) 3034-mal betrachtet

wobei C der Rotations-Parameter ist. Unsere Schaltungen sind übrigens (abgesehen von den Step-Filtern und der Clockrate) identisch, wenn ich in meiner Schaltung die Rotation vorklemme und du in deiner Schaltung noch das Offset hinterklemmst.

"mod" wird übrigens oft als "%" geschrieben. In dem Zusammenhang wird "div" als "/" geschrieben.

Wie schon richtig beobachtet, ist "div" das Ergebnis einer ganzzahligen Division, ohne Beachtung der Nachkommastellen.
Modulo ist dann der Rest unter Beachtung der Nachkommastellen.

Bsp:

1.5 / 1 = 1
1.5 % 1 = 0.5

denn:
1 * 1 + 0.5 = 1.5

Dieser Fall ist mir unklar:

Bsp:
-5 / 2 = -3 (????)
-5 % 2 = 1

denn:
-3 * 2 +1 = -5

Der Windows-Taschenrechner lässt negative Reste (?) zu, also sieht da die Rechnung anders aus:

Bsp:
-5 / 2 = -2
-5 % 2 = -1 (????)

denn:
-2 * 2 +(-1) = -5

1. Kann ein Rest ja nicht negativ sein, oder?
2. Wenn man auf die Art zB Dezimalzahlen in Binärdarstellung konvertiert, ist der zweite Weg (Windows-Rechner) nicht zulässig.
3. Das Ergebnis der Div-Operation ist im ersten Weg einfach nur unbefriedigend und nicht wirklich intuitiv.
4. Rechnet der Windows Rechner falsch?

herw hat geschrieben:das ist sehr schön, dass du primary und core direkt im Vergleich darstellst, so muss es sein. So viel Core wie möglich und so wenig primary wie nötig!!
Core ist ja auch super! Allein schon wegen der QuickBusse.

Grüße
Benjamin
Benutzeravatar
Rampensau
meister
 
Beiträge: 192
Registriert: So 6. Dez 2009, 21:32

Re: modulo offset???

Beitragvon helmsklamm » Sa 5. Mär 2011, 02:00

hey benji

vielen dank. die schalte iss ja herrlich simpel. kA was ich hier fürn ausfall hatte. danke.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
helmsklamm
synth gott
 
Beiträge: 1011
Registriert: Mi 10. Mai 2006, 17:21
Wohnort: 030


Zurück zu MODULE UND MAKROS (primary level)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron