Wissen/Module/Selector

Hier sollen alle kleinen Minilösungen und sonstiges Nützliches hinein

Moderator: herw

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

Wissen/Module/Selector

Beitrag von helmsklamm »

Der Selector/Scanner

Die Eingänge werden abhängig von dem am Pos-Eingang anliegenden Wert abgetastet. Wenn Pos eine Integerzahl ist, erhalten Sie immer nur ein Eingangssignal, andererseits eine Mischung zweier Eingänge. Das Ausgangssignal setzt sich aus den zwei überblendeten Eingängen zusammen, deren Indexe dem Wert am Pos-Eingang am nächsten liegen.
Wenn der Wrap-Modus in den Properties aktiviert ist, arbeitet Pos als Schleife, so daß Max +1 als 0, Max +2 als 1 usw. interpretiert wird.
Der Selector/Scanner kann interessante Effekte erzeugen, wenn die Eingänge mit Signalen aus dem Multitap-Delays gespeist werden und die Abtastposition vom Ramp Oscillator gesteuert wird. Das Modul besitzt eine dynamische Eingangsport-Verwaltung. Die Anzahl der Eingänge kann mit Min Num Port Groups auf der Function-Seite der Properties definiert werden.
• Pos: Audiosteuereingang für die Auswahl des Eingangs/der Ein-
gänge, der/die gescannt werden soll(en). Pos = 0 selektiert In0, Pos = 1 selektiert In1, Pos = 0.5 erzeugt einen Mix aus In0 und In1.
Typ. Wertebereich: [ 0 ... Max ]
• In0...Max: Eingänge für die zu scannenden Audiosignale.
• Out: Audioausgang für das gescannte Signal.



soweit das NI-handbuch. ich muss hier allerdings einige kleine inkorrektheiten anmelden. der 2satz stimmt nur teilweise: wenn das modul auf den modus "selector" gesetzt ist (erreichbar über properties und bei curve "none" auswählen), arbeitet der selector wie ein relais und es ist ihm völlig gleichgültig ob float oder integer anliegt.

Bild

im bsp-bild bleibt der ausgang solange minus1, bis der knob größer/gleich 1 ist. dann wechselt der selector wie ein relais zum 2ten zustand und gibt hinten sprunghaft 5 aus. womit wir auch gleich gesehen haben, das der wertebereich ebenso im negativen liegen kann und das modul trotzdem wie erwartet arbeitet.
im "relais" modus (curve = none) können also bis zu 16 eingänge über den eingang POS "selektiert" werden, wobei werte kleiner 1 (auch negative) stets den eingang 0, werte 1 bis 1.999999 stets den eingang 1, werte 2 bis 2.99999 stets eingang 2 uswusf.

kommen wir nun zu einigen anwendungen im "scanner" modus (curve = linear oder sinus, wobei ihr für eure ersten versuche linear wählen solltet, der sinus-modus setzt wissen über diese funktion vorraus - das führt hier zu weit), die auf den ersten blick nich ganz augenscheinlich sind, aber, gewusst wie, zu eleganten lösungen führen.

1. der selector als 0-1 zu 1-0 konverter----------------------------------------

(also bei 0.9 wird 0.1 ausgegeben, bei 0.8 kommt 0.2 raus usw.): brauch man ab und zu und meiner meinung nach ist mit dem selector die eleganteste lösung überhaupt möglich. wie im bild, voila!

Bild

(ein nicht verbundender eingang verhält sich als ob er die konstante 0 empfängt, und da wir genau dieses hier brauchen, können wir sie uns also sparen.) der umgekehrte konvertierungsfall is genauso simple. dazu muss lediglich die 1-konstante an den anderen port.

2. der selector als beschneider----------------------------------------------

bei bspw. einigen filtern und modulierter resonance kann es schon mal zu box- und ohrschädlichen lautstärken kommen, wenn nicht gewährleistet ist, das die resonance in ihrem definiertem rahmen bleibt. es empfiehlt sich der einsatz eines beschneiders, der werte ober(unter)halb eines tresholds konseqeunt ausfiltert. auch die beschneidungs-funktion ist mit dem selector am elegantesten (und vor allem am einfachsten) zu erreichen.

Bild

im bsp.-bild wird der ausgangswert NIE größer als 0.2 sein und nie kleiner als 0.1 sein, selbst wenn bei pos ne 80stellige ziffer (auch negativ) anliegt.
bei pos-werten, die im usrprungssignal in einer größeren range vorliegen, müssen dieses natürlich zuerst auf 0-1 skaliert werden: bspw. bei 0-127 range vorher mit 127 dividiert, oder besser mit 127 kehrwert-multipliziert.

prinzipiell kann auch das seperator modul als beschneider fungieren, aber ich rate insbesondere "einsteigern" von diesem modul in diesem zusammenhang ab, da es einige scheinbare "unlogikkeiten" aufweist.

3. der selector als bipolar-wandler----------------------------------------------

namentlich bei modulationssignalen, die dem originalsignal hinzuaddiert werden, möchte man idR, das diese in der grundstellung 0 ausgeben und dann, je nach reglerstellung dem signal etwas hinzugeben, bzw. wegnehmen. (signal mient in diesem fall den "controller"-wert, der hinten anliegt).
bei einem knob als "modulator" is dies simple: da definiert man einfach die range von -1 bis 1 (wahlweise größer oder kleiner, je nachdem - aber immer so das in mittelstellung 0 anliegt).
nutzt man aber andere eingangsqeullen als modulator, welche nich in bipolarer ausführung vorliegen (also bspw. ihr "signal" von 0-1 ausgeben) benötigt man einen signalformer der das ursprungssignal so umrechnet, das hinten die gewünschte range anliegt.

Bild

im bsp-bild passiert folgendes: der selector skaliert das 0-1 pos-signal entsprechend den werten, die die konstanten festlegen. wenn IN = 0, liegt hinten minus 1 an, bei 0.5 kommt hinten 0 und bei 1 heisst es hinten auch 1. und natürlich sämtliche zwischenstufen: wenn IN = 0.25 kommt hinten minus 0.5, bei IN = 0.75 ist es plus 0.5 uswusf.


4. der selector als "breakpointer".-----------------------------------------

zugegeben, das is schon etwas spezieller, denn idR reicht das ctrl-shaper modul, das in den geschmacksrichtungen 1,2 oder 3 breakpoints erhältlich ist. MANCHMAL brauch man aber tatsächlich mehr breakpoints und auch diese funktion erfüllt der selector zuverlässig bei simpelsten programieraufwand.
nachfolgend ein bsp. das man so in der praxis wahrscheinlich höchst selten braucht, aber sehr geeignet zur veranschaulichung ist.

Bild

zunächst einmal, zum x5-multiplizierer: wie ganz oben gezeigt, kann der selector bis zu 16 "eingänge" verwalten und die dort anliegenden werte, per pos-regler ausgeben, entweder sprunghaft (bei curve = none) oder interpoliert (bei curve=lin/sin ). dabei "selektiert" jede nächsthöhere integerzahl am pos-eingang den jeweils nächsten eingang (bzw. vermischt den nächsten, mit vorigen). wenn unser pos-signal also in der 0-1 range vorliegt, müssen wir es logischerweise erstmal entsprechend der anzahl genutzer selctor-eingänge multiplizieren, damit wir auch tatsächlich alle eingänge adressieren können.
im bsp. besitzt der selctor 6 eingänge (0-5). warum müssen wir aber mit 5, anstelle 6 multiplizieren? nun, weil die eingänge 0 und 1 ja bereits mit dem 0-1 knob vollständig erfasst werden. (das is speziell für einsteiger vielleicht verwirrend, nehmts einfach so hin, irgendwann machts auch klick).

was passiert hier: grobgesprochen formen wir das lineare 0-1 signal des knobs bis zur reglerstellung 0.8 zu einer (sehr simplifizierten) 0-100 exponential-kurve, d.h. bis der knob ca. 0.3 erreicht, wird das signal in äusserst kleinen schrittweiten hinten ausgeben, darüber beginnen die schrittweiten sich immer rasanter zu vergrößern, bis sie mit 7meilen stiefeln davonrasen. bei 0.8 gibt es eine erneute kehrtwende und das signal wird wieder kleiner, bis hin zu -72 bei voll aufgedrehtem regler.[/b]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
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 »

interessant; bisher habe ich solche Sachen immer mit Formeln gelöst. Insbesondere die Anwendung breakpointer erscheint äußerst vielseitig anwendbar.
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

n lob vom meister freut mich natürlich rbesonders :D

sein geschwisterlein, der distributer/panner is übrigens auch nich uninteressant: falls du mal nen seperator mit 16 ausgängen brauchst: dein IN-signal ist gleichzeitig POS und "IN"; du musst nur vorne, das pos-IN erstmal koresspondierent mit den ausgängen multiplizieren , und hinten, an den outs je nach gewünschter range mit dem "normal-IN" skalieren.
ich hab das teil aber, mangels "täglicher" notwendigkeiten, noch nich endgültig "kartographiert": bspw. kann es wie ein "relais" mit "gehaltetn" werten beim umschlaten/weiterfahern agieren, muss aber nicht.

bislang waren das so try/error geschichten, aber: alles ging irgendwann!!!! (und war rückblickend auch voll logisch - was ich vom seppel noch immer nich behaupten kann, - weshalb ich auch viel lieber mit diesen beiden "brüdern" spiele :wink:) leider hab ich vor freude meistens das "revervse enging und das "für die nachwelt"" vergessen :wink: -sollt ich mir mal angewöhnen! problemlösungen in seperaten files zu saven, dauert zwar länger, spart aber jede menge zeit. :wink:
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Antworten