Ceci est une ancienne révision du document !


OpenMusic training workshop @CIRMMT

May 29th - June 1st, 2012
10am-4pm
CIRMMT, Centre for Interdisciplinary Research in Music Media and Technology, Montréal, QC, Canada.

http://www.cirmmt.mcgill.ca/activities/workshops/training/om/

You will find in this page links and information related about our workshop sessions.

Downloads and installation

In order to install the latest OM version (6.5.1), go to the OM download page in the OM website and follow instructions.

Mac users only: If this is your first installation, you will need to install MidiShare. MidiShare is the library used by OM to manage MIDI data and rendering. For technical reason it can not be included with OM pack and needs separate install. Depending on your OS configuration, Midishare 1.93 or 1.92 may be tested (we shall do it during the first workshop session). Links band instructions are also on the OM downloads page.

Note: Some problems have been reported by users of OM 6.5.1 after MacOS Lion upgrade. Annoying crashes may happen at dragging objects, requiring complete restart (and possible data loss). I am currently working on it, and integrated changes in a beta release (MacOS, Intel only) which you can temporarily find here during the workshop. Do not hesitate to report any problem.

Getting help and support

If you want to explore OM by yourself, you may find help at these different places.

  • The online user manual (also accessible in OM from the Help menu) is a relatively complete documentation about all features and programming concepts of the OM environment. (Noet that this manual does not include external libraries).
  • The function and class reference is accessible in OM from the Help menu and provides a basic documentation of all referenced objects and functions. Type 'd' in an OM patch to access directly the reference page corresponding to a selected box.
  • In patch and other OM editors, the Editor command keys in the help menu (also accessible with 'H' keyboard shortcut), can be a useful reminder of the principal actions and shortcuts.

Subscribe the the OM mailing list to get support, advices and share your experience and problems with the OM user community and developers.

Hints / Panic

  • When a box can not draw anymore because of a wrong input and a message errors appears every time you click or redisplay: hide the "miniview", by selecting the window and typing upper case 'M' (show/hide all front window miniviews). Delete the box and create a new one, just to be sure..
  • When you're in trouble with the system Terminal: Try to type :top to return to the top level and get the control back on the OM user interface. Do not forget to save your work. Consider a fresh restart.
  • When an evaluation seems never to end (Listener printing "Running" forever): Try to abort the process (Listener window, menu Lisp/Abort or CMD+'A').

[ day 1 (05/29): introduction ]

  • Computer-aided composition: basic ideas and objectives of the workshop
  • Getting ready: Installation, sound tests, etc.
  • Basics of the environment: the main OM windows and concepts: workspace, packages, documents, preferences…
  • Patching basics: creating and evaluating a visual program
  • Introduction to basic OM objects: chord, chord-seq, voice, BPF
  • Score and BPF editors
  • Evaluation modes: lock, eval once, …
  • Using the basic OM functions to create musical data (om-random, om-scale, om-sample, om+, om-round, x→dx/dx→x, etc.)

Some patches we've created during this session

Basic visual program and the use of note, chord, chord-seq, poly objects

Download the patch: patch-1.omp.zip
Creating a scale and displaying and hearing microtones

Download the patch: microtones.omp.zip

See Ircam "Forum Research" downloads to get the MicroPlayer application (MacOS only)
Using (rescaleing, resampling…) BPFs (break point functions)

Download the patch: bpf-to-chord-seq.omp.zip
Voices and rhythm trees

Download the patch: voice.omp.zip

More about rhythm trees HERE.
voice/chord-seq conversions, quantification

Download the patch: quantification.omp.zip

[ day 2 (05/30): (more) advanced ]

  • Importing / exporting patches
  • Pictures (background picture, picture boxes)
  • Forumnet login and installing user libraries
  • Overview of Pixels: example of a specialized library for picture management
  • Abstractions: local (red) / global (blue)
  • The lambda mode and higher order functions
  • Iterations: mapcar
  • Iterations: omloop
  • Score import & save
  • File input / output in OM
  • MidiFile and Sound objects introductions

Some more patches...

Definition of a simple abstraction

… used and applied iteratively with MAPCAR or OMLOOP iterators.

Download the patch: iteration.omp.zip
Interpolations
… and how to access list elements, display in BPFs, use BPF-Libs, extend to chord interpolation.

Download the patch: interpolation.omp.zip
Other use of the 'lambda' patches : personalize the 'tests' in find, remove, etc.

Download the patch: remove-duplicates.omp.zip
First exercise: generating all combinations of intervals.

Download the patch: ex-intervals.omp.zip
Another exercise: grouping successive pitches in a list.

Download the patch: ex-group-list.omp.zip

[ day 3 (05/30): sound models / signal-symbolic relations ]

Sound analysis in AudioSculpt

  • File import/export
  • Command line tools installation in OM
  • Sound analysis import and the SDIF format
  • The Ircam sound analysis/processing libraries: OM-pm2, OM-SuperVP
  • Analysis data processing and conversion
  • Sound treatments and processing

Links

Example sound files (put the files in your in-files folder as set in the preferences, or anywhere on your computer).
Example SDIF files (put the files in your in-files folder as set in the preferences, or anywhere on your computer).

SDIF doc, types, etc.

Documentation about SuperVP and PM2 analysis in AudioSculpt (in French).

⇒ Download Pm2 and SuperVP in IRCAM Forumnet "Reasearch pack downloads" (special acces for workshop participants, valid until June 30th).
⇒ Download AudioSculpt in IRCAM Forumnet "Studio pack downloads" (Forum subscribers only).
⇒ Get Spear (by M. Klingbeil) as an alternative software and GUI for phase vocoder analysis.

Patches and topics covered

The SDIF format and the use of SDIF data in OM (SDIFFile).
Instanciate SDIFFile objects, understand and inspect the contents, read and extract the data with GetSDIFData, SDIF→BPF, etc.



The SDIF format:

Download the patch: sdiffile.omp.zip

Read more on the SDIF format and use in OM in the online user manual.
Sound analysis in OM.
Use SuperVP and pm2, to perform sound analyses and create SDIF files in OM.

Download the patch: analyses-in-om.omp.zip
Partial tracking and 'chord-seq' analyses.
How to read, convert and process the partial tracking files created by pm2, AudioSculpt or Spear.

Download the patch: partial-tracking.omp.zip
Overview of the sound processing tools in OM-SuperVP.

Example of the 'remove-pitch example', of a process of analysis and treatment of a sound performed in OM.

Download the extended example patch: sound-transposition.omp.zip

[See the tutorial patches of the OM-SupervP library for more examples and sound treatments – workspace window, then menu Help/Import tutorial patches/Libraries/OM-SupervP]
Batch processing.

.. embedding the previous patch in an iteration (mapcar) and iterative run with a list of mirror pitches.

Download the patch: sound-iteration.omp.zip
when Lisp becomes easier than OM… (an introduction to the use of 'Lisp' boxes).

⇒ The exercise of the day:

how to select pitches from different lists following a pattern.

Download the patch: ex-patterns.omp.zip

[ day 4 (06/01): sound synthesis - spatialization ]

  • The OM sound tools
  • Csound: quick intro and installation
  • Sound synthesis with Csound in OM
  • OMChroma
  • More OM objects: BPC, 3DC, 3D-trajectory…
  • Control of sound spatialization processes with OM-Spat
  • OSC (OpenSoundControl) [networked / inter-application communication via UDP messages]

Patches and topics covered

OSC (OpenSoundControl) and UDP networking

How to send/receive messages to/from other applications or other computers

Download the patch: osc.omp.zip
A Max/MSP communication example

In the patch we also show how to use variables to collect data sent by other applications to OM. For this purpose we used a Lisp function and the Lisp variable definition and access tools (SETF, etc. – see more on the Lisp specification).

Another solution would have been to use OM global variable in OM. See more in the OM user manual.


Download the Max5 patch: send-receive.maxpat.zip

Audio Tools

Sound montage, mixing and processing.

Record sound into an sound box.
Sound processing boxes: sound-seq, sound-cut, sound-save

Download the patch: audio.omp.zip
An example of audio iteration.

In this second patch we embedded the audio functions in an iterative patch (omloop) which selects a random position in the file and cuts a small extract (sound-cut), repeats this process a number of times, and appends the extracts into a single sound (sound-seq). In order to implement this loop, we used the accum box instead of the collect, so as not to collect the extracts into a list, but defined our own "collection" procedure using sound-seq.

Download the patch: audio-loop.omp.zip

Csound synthesis

Csound website. [download page].

Csound introduction and install…
Read more about Csound HERE.
csound-intro.pdf
Csound in OM / OM2Csound

See the OM2Csound tutorial patches (workspace window, menu Help/Import tutorial patch/Libraries/OM2Csound) to see how to run and edit Csound code in OM (tutorial patch 01) and generate Csound code in OM patches (tutorial patch 02) and connect to the OM score objects (tutorial patch 4).

OMChroma

OMChroma is a library for the high-level control of sound synthesis in OM. It can be used to control Csound synthesis and Chant synthesis. OMChroma is structured around a principal data structure similar to a bi-dimensional matrix (a subclass of the OM object class-array). During this workshop session we went through the very basics of OMChroma and saw how to use these matrices to control Csound synthesis processes.

The OMChroma library provides a set of synthesis classes (or 'types' of objects), each corresponding to a particular Csound instrument (see OMChroma embedded reference for an overview of the classes – right-click + Documentation on the library icon, or typing 'd' on the different OMChroma objects from your OM patch).

The general synthesis function synthesize will allow to generate an adequate Csound score from the OM matrix, and perform the synthesis.

Csound website. [download page].

csound-matrix.pdf

Download the patches: omchroma.zip

OMChroma classes are initialized with default parameters: just connect to synthesize to run and render one single component.

The first patch uses ADD-1, the basic 'additive synthesis' class.

Use the 'optional' inputs to show and modify the different parameters.
If you change the number of components (numcols), you will be able to set lists of values for each synthesis parameters, and start designing more complex sounds with the same matrix.

e-dels (for 'entry delays') and durs (durations) allow you to control the internal time structure of the sound.
After ADD-1, the second patch shows two other synthesis examples: the classes 'FM-1' and 'PLUCK-1'.
The action-time input allows to set a global offset to the matrix (or 'synthesis event'). By connecting a list of matrices to synthesize, you can therefore create larger-scale time structures with synthesis events (possibly using different classes / synthesis techniques).

Spatialization and OMSpat

⇒ Download the Spat renderer and OM-Spat-AddOns (Mac only) in IRCAM Forumnet "Reasearch pack downloads" (special access for workshop participants, valid until June 30th).

New objects for the manipulation of curves and trajectories: BPC, 3DC, 3D-trajectory.
Examples of algorithmic generation of trajectories.

The coordinate-system conversion functions in Basic Tools/Geometry can be very useful.
Rotation of a 3DC and application in an iterative process (mapcar).

The BPC-lib and 3DC-lib objects allow to collect lists of BPCs or 3DCs.

Download the patch: bpc-and-trajectories.omp.zip
OM-Spat and the spat-matrix object allow to represent spatial scenes. As for sound synthesis matrices, here every component represents one source and its different spatial parameters.

The spatial scene can be saved as an SDIF file, or rendered to a multichannel audio file with the Spat renderer.

Download the patch: om-spat.omp.zip
Load the SDIF file in the Spat-SDIF-Player application (MacOS only) to control its contents streaming via OSC/SpatDIF messages.

[more on the SpatDIF format]
The OSC/SpatDIF messages can be received for instance in SpatDIF-Viewer (simple 3D display) or in latest Spat 4 versions for Max/MSP via udpreceive the spatdif-to-spat object (remember that only one application at a time can bind the UDP pro at a time, and set the send/receive ports accordingly in the different applications).

OMPrisma is an other library for sound spatialization based on Csound and the OMChroma framework. It allows other interesting and powerful applications, such as performing spatial sound synthesis by merging synthesis and spatial parameters in a common control and rendering processes.

read-more about OMPrisma

 


bresson/cirmmt-workshop.1340113421.txt.gz · Dernière modification: 2012/06/19 15:43 par jean-admin