Allgemeine Erläuterung | Basic Explanation |
Sprungfreie
Parameteränderung
Auf Grund der bei pocketDial verwendeten Endlos-Drehgeber (Encoder)
kann eine sprungfreie Änderung von Parametern erfolgen, sofern einige
Voraussetzungen erfüllt sind. In diesem Fall sendet Pocket Dial absolute MIDI Controller-Daten. Bei einem Klangwechsel des angesteuerten Gerätes (z.B. Software-Synthesizer) taucht das Problem auf, dass nun Parametersprünge die Folge sind. Beispiel: Der Wert für die Filterfrequenz beim "alten" Sound war 95, der Filterwert für den "neuen" Sound ist 23. Dreht man nun an dem betreffenden Regler für die Filterfrequenz, so springt der Wert von 23 auf 94 oder 96 (je nachdem ob der Regler nach links oder rechts gedreht wird). Dieses Problem kann dadurch gelöst werden, dass das angesteuerte Gerät (z.B. der Software-Synthesizer) bei einem Klangwechsel die neuen Controller-Werte über MIDI OUT ausgibt. Pocket Dial empfängt diese Werte und verwendet sie als neue Startwerte, wodurch keine Sprünge mehr auftreten. Beispiel: Der Wert für die Filterfrequenz beim "alten" Sound war 95, der Filterwert für den "neuen" Sound ist 23. Beim Soundwechsel gibt das angesteuerte Gerät den neuen Wert 23 über MIDI OUT aus und pocketDial verwendet diesen Wert als neuen Startwert für den betreffenden Regler. Dreht man nun an dem betreffenden Regler für die Filterfrequenz, so springt der Wert von 23 auf 24 oder 22 (je nachdem ob der Regler nach links oder rechts gedreht wird), d.h. es tritt kein Sprung in dem betreffenden Parameter auf. Voraussetzung für diese Art der Steuerung ist also, dass das angesteuerte Gerät bei einem Wechsel die neuen Controller-Startwerte über MIDI ausgibt. pocketDial empfängt diese Controller Befehle über MIDI IN und vergleicht, ob für einen der 4*16 Regler die Controller Nummer übereinstimmt. Ist dies der Fall, so wird der neue Controller-Datenwert für den betreffenden Regler von pocketDial übernommen. pocketDial und das zu steuernde Gerät müssen also in beide Richtung über MIDI miteinander verbunden werden: MIDI OUT Pocket Dial -> MIDI IN des zusteuernden Gerätes MIDI OUT des zusteuernden Gerätes -> MIDI IN Pocket Dial Auch eine 14 Bit-Steuerung ist auf dieser Basis realisierbar, wobei
die pocketDial überprüft, ob ein 14 Bit-Controller-Paar
vorhanden ist und dann einen Überlauf vom niederwertigen Byte (LSB)
automatisch in das höherwertige Byte (MSB) einbaut und auch sendet bzw.
natürlich auch umgekehrt einen Unterlauf. Also z.B. Controller 1 (MSB Modulation) à Regler 1 und dann Controller 33 (LSB Modulation) à Regler 9. Beispielhaft hierfür sind die Presets 81~ 84. Man benötigt aber dafür auf jeden Fall zwei Regler, einen für den Coarse-Value (MSB) und einen für den Fine-Value (LSB). Weiterhin steht diese Funktion auch nur für die offiziell definierten insgesamt 32 verschiedenen 14-Bit Controllerpaare, also Controller 0-31 (MSB) und Controller 32-63 (LSB) zur Verfügung, die anderen sind ja Schaltcontroller bzw. reine 8 Bit Controller.
pocketDial sendet Inkrement/Dekrement bzw. relative Daten In diesem Fall "kennt" Pocket Dial den absoluten Wert des betreffenden Parameters nicht, sondern sendet nur die Informationen Parameter erhöhen (abgekürzt inc) oder Parameter erniedrigen (abgekürzt dec).
|
Jump-free
parameter change
Thanks to the endless rotary encoders used in pocket Dial jump-free changes of parameters become true provided that some requirements are met. To realize jump-free changes there are 2 fundamental solutions:
Pocket Dial transmits absolute data In this case Pocket Dial transmits absolute MIDI Control change data. After a program change of the device controlled by Pocket Dial (e.g. a SoftSynth) parameter jumps will occur. Example: The value for filter frequency was 95 for the "old" sound and is 23 for the "new" sound. If one operates the control for this parameter there will be a jump to 94 or 96 depending if the control was operated up or down. This problem can be solved if the device controlled by Pocket Dial outputs the new values (i.e. MIDI controllers) for all parameters after a sound change. Pocket Dial receives these values and uses them as new starting values thus causing no longer parameter jumps. Example: The value for filter frequency was 95 for the "old" sound and is 23 for the "new" sound. After the sound change the device controlled by Pocket Dial outputs the new value 23 for this parameter. Pocket Dial receives this new value and uses it as the new start value for the corresponding knob. If one operates the control for this parameter Pocket Dial will transmit 24 or 22 depending if the control was operated up or down. This means that there is no parameter jump as the data transition is 23 -> 24 or 23 -> 22. But it is essential for this type of control that the device controlled by Pocket Dial transmits the new MIDI controller data after a sound change. Pocket Dial will receive these data and check out if one of the controller numbers assigned to the 16 encoders matches with one of these controller numbers. If this applies the controller data value will be used as the new starting data for this controller. Pocket Dial and the device controlled by Pocket Dial have to be connected via MIDI in both directions:
Actually Pocket Dial does not only check the 16 controller of the current bank but even the controllers of the remaining 3 banks. Thus actually 64 controls (16 in each bank) are updated. Even 14 bit controller update is possible. In this case the Pocket Dial checks if a 14 bit controllers pair exists, i.e. if the two controllers of a 14 bit controller pair are assigned to two knobs of Pocket Dial. If this applies a possible overrun or underrun of the least sigificant byte (LSB, i.e. controller 40 in the example) is considered for the calculation of the most significant byte (MSB, i.e. controller 8 in the example). It is essential that the MSB and the LSB controllers are arranged one below the other. Example: controller 1 (i.e. MSB Modulation) ® knob 1 controller 33 (i.e. LSB Modulation) ® knob 9 The factory presets 81 ~ 84 contain some examples for 14 bit controllers. In any case 2 knobs are used: one for the coarse value (MSB) and one for the fine value (LSB). In the MIDI standard the controllers 0~31 and 32~63 are defined as 14 bit controller pairs (with 0~31 = 32 MSBs and 32~63 = 32 LSBs). Pocket Dial transmits Increment / Decrement Data In this case Pocket Dial does not "know" the absolute value of the parameter but transmits only the information data increment (abbreviation: inc) or data decrement (abbreviation: dec).
Controller Increment: BnH 60H xxH Controller Decrement: BnH 61H xxH with n = MIDI channel (0...F) and xx = MIDI Controller No (00...77H, 78H...7FH is reserved for Channel Mode Messages). H means hexadezimal values.
The factory presets 89 ~ 96 contain all possible 128 inc/dec messages of this type in groups of 16. The factory presets 97~101 use this type of controllers too but with modified order for the program Crusher-X (refer to chapter www.crusher-x.de).
B0 63 7F B0 62 15 B0 60 XX In this example the first three bytes are the MSB controller of the NRPN. The data for this message is 7F (often used with AWE Soundblaster devices). The second three bytes are the LSB controller of the NRPN. The data for this message is 15 ( = cutoff frequency for AWE devices). The last three bytes are the controller message for data increment. XX is the increment value (e.g. 04 for a data increase of 4, i.e. adding 4 to the current value). The XX value is sent in the signed bit mode (see next paragraph). The factory presets 105 and 106 contain examples for this message type. The presets 105 und 106 control the same parameters as the presets 17 and 18 resp. 23. But these presets use absolute data. So far (as of fall 2001) no device is able to recognize this message type. But from our point of view this type of parameter control would include a lot of advantages. We think that the reason is that so far no lo-cost controllers like Pocket Dial have been available and we hope that the manufacturers will take into consideration this very flexible relative controlling idea in the future.
|
Hinweis: Die Angaben in nachfolgender Tabelle entsprechen unserem aktuellen Wissensstand und wurden durch uns oder freie Mitarbeiter nach besten Wissen erstellt bzw. überprüft oder beruhen auf den Informationen, die den jeweiligen Geräten oder Programmen (Voll-Versionen oder Demo-Versionen) beiliegen oder auf den entsprechenden Firmen - Webseiten im Internet veröffentlich wurden. Bei der Fülle der Parameter bzw. Randbedingungen z.B. unterschiedlichen Software Versionen kann aber keine 100% Garantie für die Richtigkeit bzw. Funktionsfähigkeit aller Aussagen übernommen werden. Sollten Ihnen als Benutzer oder als Hersteller / Distributor hiervon abweichende oder ergänzende Informationen vorliegen, so teilen Sie uns dies bitte mit. software@doepfer.de Auch nehmen wir gerne neue Produkte in diese Tabelle auf. Kontaktieren Sie bitte auch hierzu software@doepfer.de Diese Tabelle wird laufend erweitert und ergänzt. letzte Änderung: 03. September 2001 |
Remark: The list have been made using the available information of the programs (full version / demo version) and devices made byf us or some freelances or the manufacturers and the information pulplished on their web sites.. Due to the fullness of data and differences between software versions we cannot guarantee that all facts are faultless. If you, as an user of the prodcut or the manufacturer / distributor, find any error or if you have any suggestion for improvement don't hesitate to contact us (e.g. you could send an email to software@doepfer.de). Also, if you, as an manufacturer / distributor of a new product compatible with a pocket device, want to be on this list, please contact software@doepfer.de last change September 3, 2001 |
Programm/Gerät | Version | Möglichkeit der Steuerung über absolute Midi Befehle | hierfür geeignete Werks- Presets |
Rückmeldefähig | Bemerkung | Möglichkeit der Steuerung mit relativen MIDI Befehlen | hierfür fertige Presets | Bemerkung
|
program/device | version | possibility of controlling with absolute MIDI values | suited presets for absolute values in | feedback possible | Remark | possibility of controlling with relative MIDI values | suited presets for relative values | Remark |