Unify Manual

Your complete reference to PlugInGuru's creative playground!

User Tools

Site Tools


patch-variations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
patch-variations [2021/09/03 00:14]
shane [Parameter links]
patch-variations [2021/12/09 00:58] (current)
shane [Basic Concept]
Line 1: Line 1:
 ====== Patch Variations ====== ====== Patch Variations ======
-This page describes an **advanced feature** which few Unify users will need. To use the techniques +This page describes an **advanced feature** which few Unify users will need, and which is still somewhat experimental at the time of writing. 
-described here, you should be comfortable with creating and editing [[midi-controller-files#about_plain-text_files|plain-text files]].+ 
 +To use the techniques 
 +described here, you should be comfortable with creating and editing [[midi-controller-files#about_plain-text_files|plain-text files]]. However, the first example includes a link to a //.guru// file you can download and try, even before you understand all the details. 
 + 
 +**Important Note:** when loading a patch from a library, Unify always expects to find the variations-list file in //that library's own Media folder//. This means, if you re-save a patch into a different library, you will need to copy the original variations-list file into that library's //Media// folder (and you may need to create the folder, if there isn't one already). **This is a limitation in Unify v1.6.x.** It may be fixed in a future update, but this is not guaranteed.
 ----- -----
  
-===== Concept of patch variations =====+===== Basic Concept =====
  
 //Patch variations// were introduced in Unify v1.6.0. Any patch can optionally include a reference to a plain-text "variations" file (kept in the library's //Media// folder), which is simply a list of "variation names", one per line. The newly-added [[param-paths#top-level_paths|top-level parameter]] //variation// can be linked to a macro knob, and simply selects which of the variation names is displayed in white to the right of the patch name. //Patch variations// were introduced in Unify v1.6.0. Any patch can optionally include a reference to a plain-text "variations" file (kept in the library's //Media// folder), which is simply a list of "variation names", one per line. The newly-added [[param-paths#top-level_paths|top-level parameter]] //variation// can be linked to a macro knob, and simply selects which of the variation names is displayed in white to the right of the patch name.
  
-===== Typical usage scenario =====+You select the variations file for a patch (if any) when saving the patch. As of Unify v1.6.0, the patch-save dialog includes a "Variations" section as shown below: 
 + 
 +{{::variations-0.png|}} 
 + 
 +To select (or change) the referenced variations file, click the larger of the two buttons. A standard file-open dialog will appear, allowing you to select the file you want to use. When you click //Open// to complete the operation, the button text will change to the name of the selected file. You can click the button again to change the reference to a different file. If you decide not to use any variations file at all, click the //Clear Variations// button. 
 + 
 +===== Example 1: Song sections ===== 
 +One very good use of patch variations is for patches containing one embedded-Unify INST layer for each part of a performance (e.g. Intro, Verse, Chorus), which are selectively enabled via //midiEnable// parameters linked to a macro knob. As the knob is turned, the layers are enabled one at a time, and the variation-text at the top of the GUI changes to match. 
 + 
 +{{::variations-2.png?600|}} 
 + 
 +==== Variations file ==== 
 +For this example, the variations-list file (//Intro_Verse_Chorus.txt//, found in the //Media// sub-folder of the //User Library// folder) is very simple, consisting of just three lines: 
 + 
 +<code> 
 +Intro 
 +Verse 
 +Chorus 
 +</code> 
 + 
 +==== Parameter links ==== 
 +In the example //3 Parts Song Switcher// patch, macro knob #8 has been set up with some carefully-crafted links so that as the knob is turned, the layers are enabled one at a time, and the variation-text at the top of the GUI changes accordingly. Here is what the links look like: 
 + 
 +{{::variations-3.png?300|}} {{::variations-4.png?300|}} {{::variations-5.png?300|}} {{::variations-6.png?300|}} 
 + 
 +The stairstep response-curves were not made by hand, but were generated mathematically. The download link below in the next section includes these, in the form of macro-link curve presets. 
 + 
 +==== Example downloads ==== 
 + 
 +Clicking the following link downloads a zipped [[guru-files|.guru file]] which installs a single new patch called //3 Parts Song Switcher// into your //User Library//, all set up in this way, including variations. 
 + 
 +{{ :unify_step_curves.zip |}} 
 + 
 +This //.guru// file also installs the special "stairstep" curve presets into the correct folder, so they're ready to use in your own patches. 
 + 
 +These special curves were generated using a [[https://www.python.org/|Python program]], which you can also download here: 
 + 
 +{{ ::generate-step-curves.zip |}}
  
-Patch variations are most commonly used in combination with one or more sample-maps in [[guru-sampler|Guru Sampler]], where the parameter //osc1SampleSelect// is linked to the same macro-knob as //variation//, and the names in the variations file correspond one-to-one with the available choices on the sample-select menu in //Guru Sampler//.+Both of these downloads are //.zip// files; you will have to unzip them after downloading. 
 +===== Example 2: Sample maps ===== 
 +Patch variations can also be used in combination with one or more sample-maps in [[guru-sampler|Guru Sampler]], where the parameter //osc1SampleSelect// is linked to the same macro-knob as //variation//, and the names in the variations file correspond one-to-one with the available choices on the sample-select menu in //Guru Sampler//.
 Provided the lines in the variations file correspond one-to-one with the //Guru Sampler// sample-select menu choices, and the //exact same response curves// are used in both parameter links, the variation-name displayed in large white text at the top of the Unify GUI will always indicate which sample is selected in //Guru Sampler//, so it's not necessary to have the sampler GUI open to see it. This technique was first used in the Unify library //PlugInGuru Chill GTR Phrases//. Provided the lines in the variations file correspond one-to-one with the //Guru Sampler// sample-select menu choices, and the //exact same response curves// are used in both parameter links, the variation-name displayed in large white text at the top of the Unify GUI will always indicate which sample is selected in //Guru Sampler//, so it's not necessary to have the sampler GUI open to see it. This technique was first used in the Unify library //PlugInGuru Chill GTR Phrases//.
  
Line 88: Line 131:
 //Guru Sampler// supports optional //Sample-names list files// sibling to //.gsd// or //.sfz// sample-map files (with the same file name, but extension //.txt//). These sample-names lists must correspond one-to-one with the available samples in the sample-map, plus an extra initial "all samples" entry. //Guru Sampler// supports optional //Sample-names list files// sibling to //.gsd// or //.sfz// sample-map files (with the same file name, but extension //.txt//). These sample-names lists must correspond one-to-one with the available samples in the sample-map, plus an extra initial "all samples" entry.
  
-Here is an example from the //PlugInGuru Chill GTR Phrases// library:+Here is an example from the //PlugInGuru Chill GTR Phrases// library, a file called //120 Moody Chill GTR Phrases.txt// (there are several, and their contents are identical) in the library's //Samples// folder.
  
 <code> <code>
patch-variations.1630628084.txt.gz · Last modified: 2021/09/03 00:14 by shane