Modulo in Core?

Fragen und Antworten, Beispiele

Moderator: herw

Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:...wär aber trotzdem nicht schlecht, wenns im div-modul eine properties gäbe, die festlegt ab welcher nullkommastelle automatisch gefiltert würde. wäre bestimmt effektiver als der sonst nötige modulverhau falls bipolar.
Ich meine mich zu erinnern, dass auf primary level die Division durch 0 grundsätzlich als 1 festgelegt ist (warum auch immer).
Eine Einstellung der Filterung in den Properties des Divisions-Moduls fände ich übertrieben und lässt sich doch auch durch einen Separator leicht realisieren.
NI sollte nicht zu viele Parameter in die Properties stecken, dann leidet darunter die Übersichtlichkeit und vor allem Neueinsteiger würden absolut verwirrt.

ciao herw
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

der seppel alleine bringst aber nicht, falls es, wie gesagt, bipolar sein soll.
man verfällt wohl selten dem wunsch das bspw. n ozzi irgendwas divididieren soll, falls aber, muss das signal n paar teure module durchlaufen.
aber ehrlich gesagt fällt mir grad nix ein, wo ich tatsächlich audio dividiere oder moduloe, also was solls.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:...aber ehrlich gesagt fällt mir grad nix ein, wo ich tatsächlich audio dividiere oder moduloe, also was solls.
ach jetzt verstehe ich, was Du meinst; du möchtest ein Audiosignal dividieren. Da würde ich wiklich mit Multiplikationen von Kehrwerten arbeiten; das ist viel CPU-ärmer.
Ein Modulo auf audio anzuwenden finde ich schon klanglich interessant. Du darfst nicht nur externes Audiomaterial denken. Wenn man zum Beipiels auf einen Sägezahnoszillator geschickt eine Modulo-Funktion anwendet, dann hast Du ganz schnell eine Frequenz-Erhöhung; hab ich beim Trautonium-Oszillator genau so gemacht. Die Division durch Null musste ich dabei tatsächlich vermeiden.
Im Bereich der Oszillatoren gibt es noch Vieles zu erforschen. Nur kleine interne einfache Rechenoperationen verändern die Wellenform stark. Klanglich ich das ein weites Feld. Viele der Block-Makros sind auch noch nicht optimiert. Ich verstehe die Makro-Library von NI mittlerweile nur nopch als einen Ideengeber, um aufzuzeigen, was alles möglich ist. Eigene natchrägliche Optimierungen sind interessant und nützlich. Aber man muss daran Spaß haben.

ciao herw
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

warum führt das modulo eigentlich intern ne division durch? warum keine kehrwert-multi???
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
sellotape
synthesist
Beiträge: 59
Registriert: 2. September 2007, 10:48
Wohnort: Leipzig

Beitrag von sellotape »

geil-o-mat! wenn es davon ne fertige funktionstüchtige version gibt wär ich stark an nem download interessiert :roll:
schonmal danke im voraus.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

sellotape hat geschrieben:geil-o-mat! wenn es davon ne fertige funktionstüchtige version gibt wär ich stark an nem download interessiert :roll:
schonmal danke im voraus.
ich hasse "Danke im Voraus" ;-) , da man keine Rückkopplung erfährt.
Das Modulo-Modul gibt's hier schon irgendwo - kann mal jemand suchen - ich schreibe gerade ein Handbuch.
sellotape
synthesist
Beiträge: 59
Registriert: 2. September 2007, 10:48
Wohnort: Leipzig

Beitrag von sellotape »

ach nicht so kleinlich der herr :lol:
ich hät dann schon nochma rückgekoppelt und das unlimitiert. war mir nur zu fein das nachzubauen wenn es da dann rundungsfehler gibt. und da ich nicht so das große mathegenie bin hoff ich halt lieber auf nen download und bedank mich beim erschöpfer für seine geistige arbeit.
naja wie auch immer dann such ich mal
sellotape
synthesist
Beiträge: 59
Registriert: 2. September 2007, 10:48
Wohnort: Leipzig

Beitrag von sellotape »

hab da was von dir gefunden aber die funktionieren halt nur mit ganzen zahlen und x/0=x und nicht 0. ich wollte das für mein lfo nutzen um es sync laufen zu lassen. werd das wohl doch extern auf der primary ebene lösen müssen aber das tut der sache ja kein ab.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

sellotape hat geschrieben:hab da was von dir gefunden aber die funktionieren halt nur mit ganzen zahlen und x/0=x und nicht 0. ich wollte das für mein lfo nutzen um es sync laufen zu lassen. werd das wohl doch extern auf der primary ebene lösen müssen aber das tut der sache ja kein ab.
modulo ist seiner Natur nach eine Funktion für ganze Zahlen. Wenn Du gebrochene Zahlen nehmen möchtest, dann solltest Du mit ganzzahligen Vielfachen rechnen, um eine saubere Verarbeitung zu garantieren. Bei Fließkommzahlen besteht immer die "Gefahr" der Rundungen und Fehlanzeigen (Reste nahe bei 0).
Eine Synchronisation eines LFOs geht meiner Ansicht nach einfacher mit einer Nulldurchgangsabfrage. Wenn Du ganz bestimmte Harmonische haben möchtest, so wirf einen Blick in den Subharmonischen Oszillator (NI-Library), da kann man Vieles lernen.
Ich würde das sowieso eher in core machen, da man sich sowieso irgendwann einmal in die Oszillatoren heinknien muss. Die primary LFOs sind ziemlich (grotten-) schlecht in ihrer Auflösung, da sie auf der ControlRate basieren. Eine saubere Synchronisation ist nur im Audiobereich sinnvoll. Nimm doch einfach einen ganz normalen Oszillator als LFO.

ciao herw
sellotape
synthesist
Beiträge: 59
Registriert: 2. September 2007, 10:48
Wohnort: Leipzig

Beitrag von sellotape »

ich nehm ja corecell. hab das endlich hinbekommen das primary lfo in corecell nachzubauen und zwar mit dem w parameter auch für sinus und triangel und da wollte ich nun meine berechnung für sync gleich mit implentieren. aber da ich dafür den 96a ausgang vom song pos module benötige ist es zwingend erforderlich das dass modulo auch fließkommazahlen korrekt behandelt. deswegen werd ich die sync berechnung nun doch wieder in nem primary module lösen.

btw ich find die primary lfo's auch total schlecht. kann es sein das der noch nicht einmal mit der control rate arbeitet?
und was meinst du mit nulldurchgangsabfrage?
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

sellotape hat geschrieben:ich nehm ja corecell. hab das endlich hinbekommen das primary lfo in corecell nachzubauen und zwar mit dem w parameter auch für sinus und triangel und da wollte ich nun meine berechnung für sync gleich mit implentieren. aber da ich dafür den 96a ausgang vom song pos module benötige ist es zwingend erforderlich das dass modulo auch fließkommazahlen korrekt behandelt. deswegen werd ich die sync berechnung nun doch wieder in nem primary module lösen.

btw ich find die primary lfo's auch total schlecht. kann es sein das der noch nicht einmal mit der control rate arbeitet?
und was meinst du mit nulldurchgangsabfrage?
ui da ist mir eine Antwort flöten gegangen: also nochmal

eine Synchronisation durch Audiosignale erfolgt in der Regel durch eine Abfrage nach dem Vorzeichenwechsel. Das geschieht durch ein z^-1 - Modul:
zuerst alten Speicherinhalt lesen und mit neuem vergleichen, dann neuen Wert in den Speicher schreiben. Das ist in Core hypereinfach und geschieht innerhalb eines samples.

eine Synchronistaion durch ein Clocksignal würde ich durch einen Akkumulator erreichen: man zählt die Ticks und gibt beim Erreichen des entsprechenden Sognals den Resetbefehl an den LFO.

Wie das prinzipiell erfolgt, kann man in dem NI-Modul subharmonischer Oszillator gut lernen.
sellotape
synthesist
Beiträge: 59
Registriert: 2. September 2007, 10:48
Wohnort: Leipzig

Beitrag von sellotape »

hm, ich komm jetzt garnich mehr mit. meinst du den "sub osc 4"? und akkumulator - der is doch event basierend? ich nehm eigentlich den audio ausgang von dem song-pos modul um dann die phase für den osc zu berechnen. genau so wie das ni in dem standard lfo macro gemacht hat. nur das ich halt das a/e weglass da mein lfo ja audio outs hat.
aber solangsam kommen wir hier eh vom thema ab. ich kann das lfo ja mal hier posten vieleicht gibt es ja doch irgendwann ein corecell modulo was genau so funktioniert wie das primary modulo.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

sellotape hat geschrieben:hm, ich komm jetzt garnich mehr mit. meinst du den "sub osc 4"? und akkumulator - der is doch event basierend? ich nehm eigentlich den audio ausgang von dem song-pos modul um dann die phase für den osc zu berechnen. genau so wie das ni in dem standard lfo macro gemacht hat. nur das ich halt das a/e weglass da mein lfo ja audio outs hat.
aber solangsam kommen wir hier eh vom thema ab. ich kann das lfo ja mal hier posten vieleicht gibt es ja doch irgendwann ein corecell modulo was genau so funktioniert wie das primary modulo.
das isz der Nachteil, wenn man ohne konkretes Beispiel im Dunkeln tappend erahnen möchte, auf welchen Aspekt sich eine Frage bezieht, Es gibt unterschiedliche Möglichkeiten einen Oszillator zu synchrobisieren. Drei davon habe ich angeführt: 1) Nulldurchgang, das den Wechsel des Speicherinhaltes eines Oszillators (in der Regel der Ramposzillator, also der "Motor" eines Oszillators) von + nach - abfragt, 2) Berechnung von Harmonischen und einer gemeinsamen Frequenz (wie beim subharmonischen Oszillator, der das kleinste gemeinsame Vielfache aller Frequenzen als Hauptschwingungsfrequenz nimmt und dadurch eine glatte Teilung ermöglicht und 3) das Zählen von Audioevents mit Hilfe eines Akkumulators.
Um auf eine Teilfrage einzugehen: selbsteverständlich gibt es auch einen Akkumulator für Audiosignale, ansonsten würde kein Oszillator funktionieren. Im Corebereich gibt es keinen Unterschied zwischen den Signalen event und audio (Core-Handbuch S. 96). Der einzige Unterschied besteht darin, dass Audioevents synchron zur sample-Rate verarbeitet werden und zwar ständig, während primary events unsynchronisierte Einzelereignisse sind.
Wenn ich also die Audioticks des 96a-Ausgangs mitzählen will, brauche ich logischerweise einen Akkumulator, der Audiosignale verarbeitet.
Das Aha-Erlebnis (für den Bau eines eigenen LFOs) bekommt man, wenn man im Core-Handbuch die Seiten 82-88 und dann S.119-120 verstanden hat. Vergleiche vor allem die Bilder auf S. 86 und Seite 120 (Mitte).

Um zum eigentlichen Thema zurückzukommen und wir nicht weiter um den heißen Brei rätseln: lade hier einfach Dein Beispiel hoch, dann kann man direkt eine Lösung finden.
sellotape
synthesist
Beiträge: 59
Registriert: 2. September 2007, 10:48
Wohnort: Leipzig

Beitrag von sellotape »

irgendwie reden wir echt so en bisschen wie aneinander vorbei :) der lfo ist bzw war ja schon fertig und ne lösung um das zur song-pos zu syncen hab ich auch. das einzigste problem was dabei auftritt ist dass die wellenform nach ner weile anfängt zu quantisiern was meiner meinung nach daran liegt das die zahlen für 32-bit berechnung zu groß werden und die letzte ziffer deshalb einfach ausgelassen wird. das war der beweggrund das mal mit corecell zu versuchen. ich hab dafür mal en button eingebaut der das schnell zeigt (weiter infos in der info von dem button). vieleicht findest du ja ein weg um diesen bug zu entgehen.
lfo test.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

sellotape hat geschrieben:irgendwie reden wir echt so en bisschen wie aneinander vorbei :) der lfo ist bzw war ja schon fertig und ne lösung um das zur song-pos zu syncen hab ich auch. das einzigste problem was dabei auftritt ist dass die wellenform nach ner weile anfängt zu quantisiern was meiner meinung nach daran liegt das die zahlen für 32-bit berechnung zu groß werden und die letzte ziffer deshalb einfach ausgelassen wird. das war der beweggrund das mal mit corecell zu versuchen. ich hab dafür mal en button eingebaut der das schnell zeigt (weiter infos in der info von dem button). vieleicht findest du ja ein weg um diesen bug zu entgehen.
ich musste zunächst mal die zwei Switches sichtbar machen. Ich habe das Songposition-Modul noch nie benutzt. Es braucht wohl dann einen Host, der dieses Signal liefert.
Ansonsten habe ich ohne das Songposition-Signal keinen Fehler gefunden. Das Gate-Signal startet den LFO wie gewünscht. Die Wellenform war immer feinschrittig. Muss ich das Ensemble also z.B. in Cubase starten?
Antworten