Transitions/Morphing tutorials

#1 : creating a simple transition with a formantic profile

Here, we'll design a transition between two ch-fof objects, each one containing 5 formants.

  • Create two ch-fof objects, each one containing 5 formants, which are concatenated over time, and use "gen-inter-fofs" to create a transition between them :

  • Choose the parameters of the transition :

the duration the formantic profile (a fmt-profile object, cf. Om-Chant Manual). optionnal : you may choose the sample rate (a number of samples or an actual rate)

  • Create a list of the three elements (the two ch-fof objects and the output of "gen-inter-fofs") and feed it to a synthesize module. You have to reduce the duration of the first fof to leave some room for the transition. Add a ch-f0 module, and run the process :

Remarks : you can create use "gen-inter-fofs" without specifying a transition duration, by using overlapped or distant fof events (cf. Om-Chant Manual).

Download the tutorial patch here.

#2 : use "ch-transitions" to create transitions in a ch-fof stream

Here, we'll use the "ch-transition" function to put a transition between each couple of successive ch-fof objects within a stream.

  • Create a stream of concatenated ch-fof objects, and connect it to a "ch-transitions" module, which will be connected to a custom "transition patch" (which must be set on "lambda evalutation" mode) :

  • Open the custom transition patch, and design it's behavior using "gen-inter-fof". It will create a transition between each successive fof event. You have to reduce the duration of the first fof to leave some room for the transition :

  • Add a ch-f0 module, and run the process :

Download the tutorial patch here.

#2b : create various transitions within a stream

You can also use lists of durations or formantic profiles to create variations between the transitions :

  • Load the previous patch (#2).
  • Open the custom transition module, and add two inputs : the first one will receive a list of durations, the second one a list of symbols. Create a "dictionary patch", and connect the modules together :

  • Open the dictionary patch, like the one in the tutorial patch.. This patch will provide a list of (symbol/formantic profile) couples, which will be used by "find-fmt-profile" to find the profile that matches a given symbol.

  • Go back to the patch, and connect the custom transition module the duration and the formantic profile symbols lists. Thus, the first transition will have a duration of 0.3 sec, the second one a duration of 0.1 sec. Also, the two formantic profiles used to create the transitions will be different.

Download the tutorial patch here.

#3 : morph two vowels

  • Create two overlapping ch-fof objects (with different formantic parameters), and connect them to a "fof-morph" function :

  • Specify the parameters of fof-morph : one or a list of two bpfs (which is the morphing profile, or morphing trajectory). Here, we'll use only one :

  • Add a f0 event, a synthesize function and run the process :

Download the tutorial patch here.

#3b : morph three vowels using the 3D morphing feature

If you overlap three fof events and feed them to a "fof-morph" module, the first morphing profile will be used to morph the first and the second ones (first morphing), and the second bpf to morph the first morphing to the third fof :

Download the tutorial patch here.

#4 : write a vocal phrase in the maquette environment

Check out the tutorial patch, and see how the f0 and fof events are implemented in the "maquettes" environment.

  • You can create several f0 events modules, to create constant fondamental frequencies, or effects like vibrato and jitter (the central frequency is determined by the y-axis position of the modules) :

  • You can also create fof event modules …

  • … and of course, transition and moprhing ones :

  • Strech and move the modules to fix their temporal attibutes (onset, duration). The dimensions and positions of the transition and morphing modules are fixed.

  • To run the maquette, open the maquette internal eval patch and connect the "boxvalues" output to a synthesize module, and a sound object :

Remarks : There are many functions to help you build f0 and fof modules : "maq-f0-curve", "maq-f0-vib", "maq-f0-jit", "maq-f0", "maq-fof"… You can also use the height of the module to fix some parameters : for example, in the tutorial patch, you can use it to control the amplitude of the vibrato and jitter effects of the f0 modules. You can also create advanced effects, by connecting morphing modules to another morphing module, or a morphing module to a transition one, etc…

Download the tutorial patch here.


foulon/om-chant-tutorials.txt · Dernière modification: 2013/02/13 12:25 par Dokuwiki Admin