OMN Lingo
OMN The Language
110 topics in this forum
-
I am interested in controlling musical textures, i.e., relations between polyphonic parts. I defined a bunch of functions that use the simple polyphonic music representation used also by my function preview-score that I presented shortly (see https://opusmodus.com/forums/topic/902-polyphonic-preview/#comment-2686). Apologies that this post is a bit longer. Here is a particularly flexible function: map-parts transforms a polyphonic score. It is a variant of the standard Lisp function mapcar, where a function is applied to every part in a score, but each instrument/part can be given its own function arguments for the transformation. One argument is the respecti…
-
- 2 replies
- 1.9k views
-
-
I really like how Opusmodus allows to preview monophonic snippets (and other material, like interval sequences). No need to explicitly call some function or connect to some editor, as in other composition systems -- just use a keyboard shortcut to see and hear an intermediate result. However, what I miss is notating/auditioning intermediate results of polyphonic music with a single shortcut. So, I defined the function preview-score, based on def-score. The function expects a polyphonic score in the slightly simplified format we discussed earlier. Here is a minimal example. (preview-score '(:vln ((q b4 a4 h g4)) :vlc ((h g3 b3)))) …
- 4 replies
- 2.4k views
-
Does Opusmodus already support the notation of nested tuplets? Nested tuplets are easily expressed directly with fractions. For example, for the nested rhythm found at http://klangnewmusic.weebly.com/direct-sound/lets-talk-rhythm-part-2-nested-tuplets I can write the following. '(2/15 2/15 2/15 2/25 2/25 2/25 2/25 2/25 1/20 3/20) The playback of this rhythm works fine, but the notation is unnecessarily complex. Not even the simple time signature 2/4 is detected. Also, I could not find the length symbols for the required durations. For example, what is the symbol for the fraction 2/15? Thanks! …
-
- 2 replies
- 1.8k views
-
-
Hi, is it possible to use Klangfarbenmelodie with OMN ? It could be like that: pitch 1, midi channel 1 pitch 2, midi channel 2... Is there any easy way to do it, or maybe a function I haven't see yet ? Thanks Alain
- 22 replies
- 5.2k views
-
Dear Alain Jamot, here is a function that may help you. This function is useful for customising sound playback with multiple sound libraries or for algorithmic orchestration. The function expects an OMN expression and returns a list of multiple OMN sequences (multiple parts). It basically sorts notes from the OMN sequence into different parts, depending on the articulations of individual notes. All notes with certain articulations go in one resulting parts, and notes with other articulations in another part. Here is an example. It sorts all notes with pizz or arco articulations into one part, and notes with trem articulations into ano…
-
- 0 replies
- 1.8k views
-
-
It is highly useful to have functions that support the full OMN language, because they allow us transform rich music snippets with all parameters. On the other hand, it is easier to define functions for individual parameters. So, why not having a function that automatically adds OMN support (including nested lists) for a function transforming only a single parameter. Here is an example. Lets assume you want to roll your custom pitch transposition function. I choose this example, because everyone hopefully understands that very easily, and can then use this overall approach for their user functions. This demonstration function expects a list of pitch symbols an…
- 7 replies
- 3.1k views
-
Is there perhaps a way to specify different noteheads as articulation, or is this perhaps planned for the future? For example, diamond, triangle, cross, accent shape etc. are used in contemporary music, e.g., to indicate certain playing techniques. Just asking 😀 Thanks! Best, Torsten
-
- 2 replies
- 2.1k views
-
-
It is nice to have velocity transformation functions like velocity-variant and friends, but I would like to go further. How about being able to easily increasing or decreasing the overall volume (basically a dynamics/velocity transposition), or to smoothen dynamics differences in order to create dynamics variations in the composition process? Here are two examples. (velocity-add 0.1 '(mf> > > > > pp)) => (f> > > > > p) (velocity-smooth 0.7 '((ppp p mf ff p< < <) (fff> > f><p ff mf p ppp))) => ((ppp< < < mp< < mp< <) (f< ff> > < ff> > mp)) …
-
- 1 reply
- 1.6k views
-
-
a question: in a pattern match i would like to overwrite the existing OMN sequence. that means that for the duration of the insert the original OMN-sequence is not pushed backwards. As I see it now, the OMN-values are only inserted and do not overwrite the sequence, (and not rhythmically "compensating") ... ? would be very nice! ...or i have to code it for myself an example: ;; basic omn-seq '(e c4 -e -q q c4 -q s c4 -e. q) ;; insert '(3q c4 d4 e4 c4 d4 e4 c4 d4) ;; pattern-match on (q c4) ;; result should be '(e c4 -e -q 3q c4 d4 e4 c4 d4 e4 c4 d4 -3q q c4)
-
- 2 replies
- 1.6k views
-
-
how is it currently with the support of microtonality (omn & xml-display)? thanks for some informations andré
- 2 replies
- 1.6k views
-
Hi, The following OMN script gives the notation below. Is it possible to make the diminuendo end with niente as well, while keeping the visual appearance – the length – of the dim? Kind Regards, Erik '(q a4 0< b4 pp> -q)
-
- 1 reply
- 1.8k views
-
-
Dear Janusz, Are there some functions to merge or disassemble articulation symbols, as shown below? (merge-articulations '(leg ponte)) => leg+ponte (disassemble-articulations leg+ponte) => (leg ponte) This would be useful when algorithmically generating or processing articulations, like chordize and friends are for algorithmically working with chords. Do you perhaps have such functionality already somewhere anyway, e.g., for generating this MusicXML output? Thanks! Best, Torsten
- 3 replies
- 1.7k views
-
first question i would like to replace the dynamics of all "tasto"-sounds in an OMN-sequence, is there a function for that? for example '(e. c4 pppp tasto d4 ponte e4) -> replace only the dynamic of the TASTO result should be: '(e. c4 f tasto d4 ppp ponte e4) second question (if i want to code it for myself) ...is there always a constant dataset/stream (events) in the "background"? like : '((e. c4 pppp tasto) (e. d4 pppp ponte) (e. e4 pppp ponte))? which function shows me this, so called, EVENTS. for some coding this format is a lot more usefull then seperat lists of each parameter thanks…
- 7 replies
- 2.3k views
-
Where can I find the full specification of OMN? I've been searching and found several articles and posts but would be great to have one document. I'm especially interested in how repetitions (what exactly is included in the repetition) and tuplets behave. With tuplets, how does one write something like 6e:2q -> six eigth notes in the time of 2 quarter notes Big hug, Wim
-
- 0 replies
- 1.6k views
-
-
I would like to use some instrumental playing techniques that are not yet explicitly supported by Opusmodus, specifically extended flute techniques: whistle tones, jet whistle, low hoots and the like. Should I just wait for version 2, or is there already some trick now to have user-defined playing techniques specified? Thanks! Best, Torsten
-
- 5 replies
- 2k views
-
-
Is there a way to define transitions of playing techniques over one and multiple notes? For example, how to notate for a string instrument the following? ord. -> sul tasto Thanks! Best, Torsten
-
- 2 replies
- 1.8k views
-
-
Anyone using this or similar library to do 'Extempore-like' With Time Programming in Opusmodus? https://github.com/byulparan/scheduler Big hug
-
- 7 replies
- 2.3k views
-
-
I would like to be able to convert a major or minor triad in any inversion and any octave position of it's notes to the intervals of its root position. Can't use pitch classes for this since major and minor triads are concidered the same pitch class. Can't find the right approach. For example: '(e3 g4 c5) -> '(4 3) '(eb3 g4 c5) -> '(3 4) '(g1 e7 c8) -> '(4 3) (g1 eb7 c9) -> '(3 4) The Tonnetz functions are almost working but this is the missing link to get it working. Many thanks in advance. Wim Dijkgraaf
- 4 replies
- 1.9k views
-
Can't find the Opusmodus function to do the following: input: '(c4 e4 g4 bb4 c5) input: '(0 127) -> from - to range in midi note numbers output:'(c-1 e-1 g-1 bb-1 c0 e0 g0 bb0 c1 e1 g1 bb1 c2 e2 g2 bb2 ... c9 e9 g9) Many thanks in advance :-)
-
- 3 replies
- 1.7k views
-
-
I'm studying Common Lisp and the more I'm learning, the more curious I am about how OMN is implemented. E.g. the pitch system (melody as well as chords). Any hints, references, articles what so ever would be more than welcome :-) Big hug
-
- 4 replies
- 2k views
-
-
I'm experimenting with tonality mapping in both an atonal as in a tonal context. In a tonal context, it is common practice to have so called "chord tones" and "neighbor tones". Neighbor tones can be diatonic or chromatic. My question is how to use tonality mapping while preserving the chromatic neighbor tones and using a clean target tonality (so without cheating by including the chromatic notes in the target tonality). E.g. Source material (think a C major triad with chromatic lower neighbors) c4 ds4 e4 fs4 g4 b4 c5. I would like to be able to map this on a minor tonality with root D without cheating by including the chromatic no…
- 6 replies
- 2.5k views
-
short question. i'm looking for the function who splits 'c4d4e4 into '(c4 d4 e4)... don't find that thanks for a quick help :-) a.
-
- 2 replies
- 1.5k views
-
-
is there a FILE in opusmodus where i can write/define my own attributes (for program-changes in conTIMBRE)...? ...like a (USER-) LIBRARY? the existing attributes like "... mouthpiece-backwards mouthpiece-only play-and-sing silent-brass snap-with-a-finger-on-the-bell stop-mute-closed stop-mute-open stop-mute-wahwah-effect without-mouthpiece air-noise-f ..." are too "innacurate" (?) for me, i would need more, and very specific/personal... thanx and regards andré
-
- 0 replies
- 1.3k views
-
-
is there a function to ROTATE a complete omn-sequence? (like a sample) .... thanks for help!
- 3 replies
- 1.8k views
-
a short - and perhaps stupid - question... what's the idea for this function, useful for ...? practical purpose? thanx for a short hint!
- 3 replies
- 1.7k views