Steinberg Nuendo 4 MIDI Devices Manual
Have a look at the manual Steinberg Nuendo 4 MIDI Devices Manual online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 523 Steinberg manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
31 MIDI devices Combining subpanels of individual channels In the example above, we assembled a MIDI device panel by building only one panel for 16 identical channels. How- ever, you often may want individual channels (nodes), each coming with its own panels and parameters. A good example for this would be the TC Electronics Fi- nalizer, which can be found in the factory panel configura- tions. The Finalizer MIDI device panel. Import the device and open it by clicking on the Edit (“e”) button. You can see that it consists of various nodes with different parameters. The nodes correspond to templates (panels) of the same name. For example, click on “Fade” in the All Templates list to see only the Fade panel. The main panel was again built by dragging and dropping the subpanels into the panel area of the main node, as ex- plained above. Working with snapshots Choosing the right snapshot option When you set up a new device as described under “Defin- ing a new MIDI device” on page 10, there are two possi- bilities to set up snapshots. If the Snapshots option in the Channel Settings is se- lected, you can take a snapshot of every single channel. To verify if you can take snapshots of a single channel, select the MIDI device as output in the Inspector, choose a channel and click on the Open Device Panels button. If the snapshot list is not shown in the de- vice panel window, the Snapshot option was deactivated. If the Snapshots option in the Global Settings is se- lected, you can take snapshots for all parameters (includ- ing Sysex messages and all channel settings, but only in one snapshot). In this case, the Snapshot field is visible in the Device and Panel windows. Examples: Global Snapshots on / Channel Snapshots off – you can take snapshots of the whole device, but not of a single channel. Global Snapshots on / Channel Snapshots on – you can take snapshots of the whole device and of each channel. ÖBoth snapshots options can only be set during the first device setup, see “The Create New MIDI Device dialog” on page 11.
32 MIDI devices ÖTherefore, even if you set up e. g. ten channels at first with the Snapshots option activated in the Channel Set- tings, once you manually add new channels, the Channel Snapshots option is always deactivated for those new channels. If in doubt, select both snapshot options. Using snapshots If you activated a “Snapshots” option during the setup of a new device (see “Defining a new MIDI device” on page 10), an additional list field appears on top of the Device and Panel windows, to the right of the Read/Write buttons. Snapshots are much like presets but include the complete parameter settings. To store snapshots, click on the Plus button. To select snapshots, simply click the field to open the list of all available snapshots. To delete snapshots, click on the Minus button. A useful case for snapshots is if you have a MIDI device with internal presets that cannot be changed from the out- side. In this case, you can use snapshots to emulate the preset settings. Proceed as follows: 1.Define the parameters that are changed in the device presets within the program. 2.Build the corresponding panel in the Panel Editor and add the controls and parameters. 3.Activate the option “Test Template” so that you can set the controls to different values. 4.Set the controls according to the settings in the de- vice presets. 5.Store the snapshot for every setting with a name cor- responding to the preset in the device. It is possible to arrange the snapshots so that you get a folder structure, see “Snapshot XML files” on page 45. Building panels for VST Instruments It is also possible to build panels for internal VST instru- ments. The advantage of this is that instead of having an extra window for your VST instrument, you can custom- build panels for it and integrate them in the Inspector (see “Device panels in the program” on page 13). You can edit your panel as usual, see “About Device pan- els” on page 13. The main difference is how to open the Panel window, as you can’t simply install or import the VST instrument as a device. Instead, you have to start from the Inspector. Proceed as follows: 1.In the Project window, add a new MIDI track. 2.Select a VST instrument as output, e.g. “a-1”. If there are no VST instruments available, open the Devices menu, choose the VST Instruments option and install an instrument. 3.Now, instead of a simple click on the Open Device Panels button to open the VST panel, press [Ctrl]/[Com- mand] and click the Open Device Panels button. A “Panels” folder similar to the one described under “Showing panels in the Inspector” on page 14 opens. 4.Select “Setup”. This opens a window similar to the Device window – however, no Device structure is displayed on the left side and only buttons for panel editing are available. 5.Click the Add Panel button to add a new panel. This opens a window similar to the Panel window. However, as the VST instrument and its parameters are pre-defined, you can only edit the pan- els, but can’t add any new parameters or subnodes. 6.Now you can proceed with building a custom panel and assigning the existing parameters of the VST instru- ment as described in “Assigning parameters” on page 20. (Existing snapshots / presets for the VST instrument are also available from the pop-up list on top of the window.)
33 MIDI devices Exporting and importing device setups Clicking the Export Setup button allows you to export your complete MIDI device setup as a separate XML file. The file can then be imported using the Import Setup button. This is useful if you move to another studio, install the pro- gram on a new computer, etc. ÖExporting the setup will produce one XML file that in- cludes all of your installed devices. On how to export a single device, see “Exporting a single device” on page 43. ÖWhen you import a stored setup with the Import Setup function, a dialog will appear, listing all devices included in the stored setup. Select the device(s) you wish to import and click OK. ÖImporting will not overwrite any currently installed de- vices. If the current list contains a device with the same name as a device to be imported, a number will be added to the name of the imported device. SysEx messages SysEx (System Exclusive) messages are model-specific messages for setting various parameters of the synth en- gine. This way, it is possible to address device parameters that would not be available via normal MIDI syntax. SysEx messages are written in hexadecimal notation and have the following structure: F0 31 20 2A ... F7 with F0 signalling the start and F7 signalling the end of the SysEx message, a number of arbitrary bytes in between. The second byte is the unique manufacturer ID as defined by the MIDI Manufacturers Association, while the next bytes often indicate the device and model ID. If you want to define SysEx messages for a device, it is vi- tal that you have the manual for the hardware device, which describes its MIDI definitions. Usually, these set- tings are described on the last few pages of the manual. If the MIDI definitions are not provided in the manual for your device, please see the manufacturer’s website for the necessary documentation or contact the manufacturer.At various points it is necessary to convert hexadecimal numbers to decimals and vice versa, so you may need a translation-table or a calculator that is able to make this conversion. Under Windows, you can use the calculator found under Start/Programs/Accessories. For information on how to dump SysEx messages as input from your MIDI device, please refer to the chapter “Work- ing with System exclusive messages” in the Operation Manual. However, while the SysEx messages of your de- vice can be recorded there, they can’t be transferred to the MIDI Device window, which is designed for MIDI out- put. There is no function like “midi learn” or “read all SysEx messages” in the MIDI Device window. How to set up SysEx messages in the program There are two ways to set up SysEx messages: You can enter one SysEx message parameter per SysEx message given in the manual of your device. This might lead to a large number of parameters, e. g. 300. You can enter one SysEx message parameter per one common SysEx string by using definable values, see be- low. This will lead to less SysEx parameters and a more flexible design, but is a bit trickier to set up. For more information, see “Using definable values to set up a more flexi- ble SysEx design” on page 35. Entering SysEx messages for devices SysEx messages need to be entered as parameters in the Device window as follows: 1.Open the MIDI Device Manager. 2.Install the device JV-1080 Roland, for example. 3.Stay in the device mode, click on the root and then click on Add Parameter. The Add Parameter window opens.
34 MIDI devices 4.In the Transmission area, click on the Create SysEx button on the right of the Transmission list. The Create SysEx window opens. As you can see, you can edit each byte on its own, in hexadecimal, decimal or binary – or assign a value to it. 5.Enter a new name for the parameter, for example “Test Parameter”, and click OK to return to the Add Parameter window. In principle, this is how SysEx messages are set up. The tricky part is how to enter the correct values (see “Input data for SysEx messages” on page 34). Assigning SysEx messages to parameters The available SysEx messages can be found on the bottom of the Transmission list in the SysEx messages section. Editing SysEx messages It is not possible to edit SysEx messages once defined in the Device window of the program (only their definable values can be edited). Unused SysEx messages will automatically be deleted when leaving the program. Input data for SysEx messages Let’s have a closer look at the Create SysEx window. The Length is the length of the SysEx message in Bytes (counting each pair of numbers), for example 9: F0 23 12 6B 10 02 11 0B F7 In this case, the bytes are numbered from 0 to 8 in the ta- ble. Of those 9 bytes, the first and the last are pre-defined by the MIDI protocol – this is why in the list of values on the lower left, only Value 1 to Value 7 are available for user definition instead of the nine expected ones. The Checksum option can usually be left at “No Check- sum” except for Roland devices, where the C5 value is used as checksum. If you select this, only Value 1 to Value 6 will be left for user definition. Values that are in the list on the lower left are definable, e. g. can be used as variables. You can rename these val- ues by double-clicking on them and entering a new name. ÖThe important thing about values is that you can’t simply edit the white fields in the table, because the values are “definable” per default. This means that you can’t set them to static values unless you select a value and remove it from the list by clicking “Remove Value”. After this, you can edit the respective field in the table and enter a number. If you want to enter a SysEx message with one variable, remove all values but one and enter the fixed values in the table according to the manual of your device. After clicking OK, the remaining definable values will ap- pear in the Value column of the Add Parameter window. A word about the Value Type The Value Type can be “Normal” or “Generic”. In general, just leave it at “Normal”, which means that you are working with bytes. You will find an example for defining a double byte SysEx message in the section “Using normal values (Example)” on page 36. However, there are specific prob- lems for which you need to manipulate the bits settings. This can be done with the Value Type “Generic”. For an example on how to define two values in one byte using ge- neric values, please see the section “Using generic values (Example)” on page 36.
35 MIDI devices Definable values as variables The definable values (Var 1 and Var 2 in this example) are just that – definable as you like. This is done in the For- mula column of the Add Parameter window. You can enter parameters, mathematical fomulas with or without parameters, and static values. The allowed mathematical operations are “+” (addition) “-” (subtraction) “*” (multiplication) “()” (parentheses, for small calculations) ÖNote that the values in the Formula column have to be entered as decimals! Some examples for formula entries: “(2*para5)”, where para5 is a parameter defined in the subnode. The parameter definition can also be done after using it in the fomula, you just have to ignore the error message at this point. “(1+P)”, where P is a multiple parameter defined in the Variable area of the Add Parameter dialog. For this, check the Create Multiple Option, define a Variable Name “P” and a range from e. g. “1-10” and click OK. This way, you have a multiple parameter in your formula, which is helpful e. g. if you want to use the same basic SysEx message with variance in the parts (MIDI channels), see below. “11” as the decimal value of the “0B” function given in the manual of your device. When you enter a decimal value as formula, check the resulting hexa- decimal string above the table to make sure the entry is correct. Using definable values to set up a more flexible SysEx design Using definable values with formulas allows for a more flexible SysEx definition because you can set up one com- mon SysEx string for a whole set of SysEx messages. For this, look out for SysEx strings with minor differences in only a few bytes in your manual to define a common SysEx string. Example: F0 23 12 rr zz PT Fn XX F7 is a common SysEx string with rr and zz = address map PT = part (sometimes midi channel), 1-16 as decimals Fn = function code, e. g. filter XX = actual value x to be sent to the panel control When you now keep these five bytes as definable and set the others to static values in the Create SysEx window, you can play around with the definable values in the Add Parameter window. For example, as we learned above, it is possible to define the PT value as a formula like “(1+P)”, including a multiple parameter that allows for sending the same message to several MIDI channels at once. However, if you want to send the message only to one channel, you can simply enter a defined value for the PT value in the Formula column. Therefore, while SysEx messages can’t be edited after the first set up, definable variables allow for trial-and-error and can still be set to a defined value any time. This makes handling SysEx messages a lot easier.
36 MIDI devices Using normal values (Example) Sometimes, values higher than one byte are necessary to address something, e. g. sample numbers (Sample NR) from 0-255 (0000 xxxx to 0000 yyyy in binary). In this case, the value x effectively consists of two bytes, called XX and YY here: F0 23 12 6B PT Fn XX YY F7 These two bytes need to be set up so that they result in one value. For this, you have to change the settings for the Normal Value. Proceed as follows: 1.Define a new SysEx message for “Sample NR” with a length of 9. This leaves us with initially 7 definable values. 2.Remove all values from the list except Value 7. (Byte 6 will be set up as a kind of swap byte to 7). Rename Value 7 to “Sample NR”. Let’s take a look at the settings “Number of Bits” and “Bits per Byte” for byte 7. The default is 7 “Number of Bits” to 7 “Bits per Byte”. This results in: 0/7 for byte 7 and a binary display of 0xxx xxxx When you change the “Number of Bits” to 8, you have a superfluous bit which cannot be put into this byte. There- fore, it is “swapped” to the byte in front of it. This results in: 1/7 and a binary display of 0000 000x for byte 6 0/7 and a binary display of 0xxx xxxx for byte 7 In our example, we need the setting 0000 xxxx for both byte 6 and 7. Therefore, the correct settings are 8 for “Number of Bits” and 4 for “Bits per Byte”. This results in: 1/4 for byte 6 and a binary display of 0000 xxxx 0/4 for byte 7 and a binary display of 0000 xxxx Since we set up the bytes in the correct sequence of XX YY, the resulting sequence of values is also correct, with byte 6 for the higher numbers XX and byte 7 for the lower numbers on the right. (If you wanted to change this sequence, you would have to change the Byte Positions values.) When you return to the Add Parameters window, you can see “Sample NR” as a definable value with a range of 0- 255 (as compared to the usual 0-127). Using generic values (Example) Sometimes, a byte is used for two or more different mes- sages, e.g. 0001 1111 with the last five bits used as on/ off signal for five different, independent switches. For this, you would have to use the option “Generic” as Value Type, with which you can define the usage of spe- cific bits.
37 MIDI devices In the following example we want to define two indepen- dent values in byte 6: The first value is “LFO Type” and uses the first three bits (the very first bit of every byte is 0 per definition, except for the start and end byte of the SysEx message). The second value is “LFO Phase” and uses four bits of the byte. This has to result in a byte 6 structure of “0xxx xxxx“. Proceed as follows: 1.Create a new Sysex message of length 9. Remove all values besides 6 and 7. 2.Click on Value 6, rename it to “LFO Type” and set it to “Generic” as Value Type. So far, we have “0xxx xxxx” in the binary field, which corresponds to the “7” as Number of Bits. The Byte Offset is automatically set to “1”. 3.To move the bits to the the correct byte 6, set the Byte Offset to “6”. 4.Since we want to use only three bits, set the Number of Bits to “3”. As you can see in the binary field, so far we have edited the second half of the byte. 5.Now proceed with Value 7. Rename it to “LFO Phase”, set it to “Generic” as Value Type, reduce the Number of Bits to “4” and set the Byte Offset to “6” to shift the value to the same byte. The two values now take up the same bits in the byte, as visible from the exclamation points in the binary field. Therefore, we have to move one of the values, e.g. “LFO Type”. 6.Click on the Bit Offset and go up to “4”. Now the byte has the binary content “0xxx xxxxx” defined with two values. 7.When you click OK and return to the Add Parameters window, you can see that the variable “LFO Type” has a range of 0-7 (as available with three bits) and “LFO Phase” has a range of 0-15 (for four bits). ÖRemember that you can edit the settings of a Sysex message only in the Create Sysex window. Afterwards, you can only edit the variables, but not the static bytes.
38 MIDI devices Defining a SysEx device – a tutorial In this tutorial, we will define a new MIDI device that pro- vides access to the parameters of a Roland JV-1080 in the following steps: “Creating a new MIDI device” on page 38 “Creating subnodes” on page 38 “Creating several subnodes at once” on page 39 “Adding parameters” on page 39 “Defining SysEx messages” on page 40 “Editing the Formula” on page 41 “Editing Scale Tune 1” on page 42 “Adding parameters to another node” on page 42 Creating a new MIDI device 1.To create a new MIDI device, pull down the Devices menu, open the MIDI Device Manager and click on “Install Device”. 2.In the dialog that appears, select “Define New…” and click OK. 3.The Create New MIDI Device dialog appears. Set it up as shown in the following picture:4.Click OK. Now, the Device window will open with an empty Roland JV-1080 de- vice displayed to the left. Creating subnodes Now, you need to create subnodes (subsections) for the device. 1.Click the “Add Subnodes” button, and in the dialog that appears, enter “System” in the Name field. “System” can be found as a separate table in the MIDI definition part of the JV-1080 manual. It’s almost always a good idea to create a separate device node for each table in the MIDI definition of a device. 2.When you click OK, the new subnode is added in the Device window. This is the “root” of the device, which stands for the de- vice as a whole.
39 MIDI devices 3.Repeat the two steps above to create the subnode “System Common”, which is also a separate table in the MIDI Definition section in the JV-1080 manual and is ref- erenced by the “System” table. Creating several subnodes at once The “System” table contains 17 references to another ta- ble called “Scale Tune”. So we need to add 17 more sub- nodes, but this time, we will proceed differently: we’ll create 17 similar subnodes at once. 1.Click the “Add Subnodes” button again. In the dialog that appears, enter Scale Tune as name, check the Create Multiple checkbox, enter “Part” as Variable name and set the Variable range to 1–17. When you click OK, 17 new subnodes are created: The added subnodes all have a variable called “Part”, set to different “Values”. 2.Rename the subnode Scale Tune 17 to “Scale Tune Patch Mode” (according to the System table) by selecting the node and entering the new name in the Name field. All of these “Scale Tune” nodes behave like alias copies in many aspects (this is described later). Adding parameters 1.Now you’ll create parameters for the “Scale Tune” nodes. Click the “Add Parameters” button. The “Add Parameters” dialog appears. 2.According to the MIDI definition, the “Scale Tune” table contains 12 parameters. All of them are named “Scale Tune for XX”, where XX stands for the different notes in an oc- tave. The parameter range of these parameters is from 0 to 127 and all are set to the default value 64. Fill in the Name, Min, Max and Default fields accordingly. Next, activate the “Create Multiple” checkbox and set the Variable Range to “0-11”, which is the address range of the 12 parameters.
40 MIDI devices Defining SysEx messages Some devices can be edited by MIDI channel messages like Control Change, RPNs or NRPNs. In that case you’d only have to select the desired message by clicking in the MIDI message field next to the Create SysEx button and browse for it. But that is not true for the JV-1080. You need to define the MIDI sysex message that allows you to access these parameters, therefore: 1.Click the Create Sysex button. The Create Sysex dialog. In the MIDI definition part of the MIDI device’s manual, you should be able to find sysex message definitions. Look out for messages that allow you to set individual parameters according to the tables mentioned earlier. In case of the JV-1080, you’ll find this definition 1 or 2 pages before the tables. The message is called “Data Set1 (DT1)”, which is a message that is used by many, if not all, of Roland’s MIDI devices. The next step is to translate this definition to the Create Sysex dialog. 2.Type in “Roland JV-1080 DataSet1 7Bit” in the Name field and select “C5 Roland Checksum” from the Check- sum pop-up menu. Now the number of bytes necessary for this message have to be evaluated. Looking at the table in the JV-1080 man- ual, do not be confused by the entry “...”. It means that it is possible to transfer more than one MIDI byte (7bit) in the message in one go by sending multiple data bytes. But right now you don’t need this because about 99% of the device’s parameters are in the range of up to 128 states, which can be transmitted with one data byte. So if you count the bytes, when using only one data byte you get a count of 12. 3.Enter “12” in the Length value box. ÖIt is important to set “Length” and “Checksum” at the beginning, otherwise you may need to do the additional steps again. If you look at a sysex definition table, you’ll notice upper and lower case letters in the Status column. Upper case letters stand for static hexadecimal numbers (indicated by the suffix “H”). Lower case letters stand for variable num- bers that depend on the context. In the Create Sysex dia- log, “Values” are used for these variable numbers. For the static ones, there is no need for values, so you can enter the respective number. All SysEx messages always begin with F0H and end with F7H, with an arbitrary number of bytes in between. This cannot be changed. 4.In our example, the first byte after that is “41H”, which is static. Therefore, delete “Value 1” by selecting it and clicking on “Remove Value” and click in the position 1 field in the “Hex” row. 5.Enter “41”. You see that the number is automatically converted to decimal and binary format. You can also enter decimal or binary numbers by clicking into the appropriate rows. 6.Next is the “device ID” which is a dynamic value (de- pending on what is set as the “device ID” in the receiving JV-1080). Double-click on “Value 2” in the Values list and rename it to “DevID”.