OMN Lingo
OMN The Language
109 topics in this forum
-
Hello, I'm working with the code below, which works fine through the creation of Melody1 variable. However, when I create the "test" variable with make-omn with the pitches, lengths and dynamics, the pitches are no longer present. I also notice that the lengths are appearing in OMN form and fractional/ratio form when the test variable is evaluated. Any ideas what's happening? Thanks ;; Use a scale that blends consonance and dissonance (hexatonic blues scale for example) (setf scale '(c4 d4 eb4 e4 f4 g4 a4 ab4 b4 bb4)) ;; Create quirky, fragmented melodic patterns (setf premelody1 (gen-repeat 3 (gen-rnd-omn 3 16 1 3 scale 's nil))) (setf premelody2…
- 2 replies
- 462 views
- 1 follower
-
Dear community Where is the error? I try this setup and want to send the program changes, but it doesn't work. What is wrong? I don't see it 😄 thanks for some help - andré the setup... (progn (add-program-attributes '(ads) '(ord) '(msp) '(st) '(bartok) '(wk) '(lt) '(gett) '(pizz) '(lbup) '(lbdown) '(lb1) '(lb2) '(lb3) '(lb4) '(kdecke) '(kzarge) '(harm1) '(harm2) '(harm3) '(harm4) '(harm5)) (add-text-attributes '(ads "ads") '(ord "ord") '(msp "msp") '(st "st") '(wk "wk") '(lt "lt") '(bartok…
-
- 2 replies
- 311 views
- 1 follower
-
-
Hi all, I'm a beginner and was wondering, if someone could give me a head start on a project of mine. Imagine the following: As a source material I have 20 bars of music. As a target I have a structure of 200 empty bars with changing time signatures. Now I'd like to fill the 200 bars with snippets from the source material, i.e. copy from the source to the target, bar by bar in a specified (nonrandom) pattern, starting at each bar of the source material from the beginning, for the duration of the target bar (which is changing because of the changing time signatures). I hope my description makes sense. Any help is greatly apprec…
- 1 reply
- 905 views
-
How do I create a rhythm that accelerates or slows down between defined rhythmic values? For example: A constant rhythm of repeated 1/136 notes should gradually slow down until it reaches 1/88. This should really be achieved with note values, not with tempo changes.
- 3 replies
- 712 views
- 1 follower
-
Hello everyone, I am working on a piece with midi sampling in my DAW (Cubase) and want to generate the midi data with Opusmodus. Currently I am trying to get a seamless as possible rhythmic accelerando from 1 note/second to 10 notes/second over the course of 20 seconds. I guess I'll have to express it in note values for midi export, so 1/4 to 1/40 in 5 bars of tempo 60? All attempts so far have resulted in audible rhythmic steps, so how can I achieve this as seamless as possible with minimal rhythmic shifts?
-
- 1 reply
- 514 views
- 1 follower
-
-
Which of these are ( aren't) supported input forms for Opusmodus-functions and should be supported by selfmade functions: a: (s e5 q a3 s d4 e d2) b: ((s e5 q a3 ) (s d4 e d2)) c (s e5 q a3 (s d4 e d2)) d: ((s e5 q a3 s d4 e d2)) e: (((s e5 q a3 ) (s d4 e d2))) f: ((e5 a3) (s d4 e d2)) g: ((e5 a3) (s t q) (s d4 e d2)) h: (((s e5 q a3 ) (s d4 e d2)) ((s e5 q a3 ) (s d4 e d2)))
- 1 reply
- 490 views
-
How can I create a random set of lengths that follows a defined trend, for example: Create a rhythm over 4 bars that starts with only q and e. then accelerating up to bar 3 where it reaches lengths down to t and then decellerating back again until the end of bar 4.
- 1 reply
- 628 views
-
Hey everyone, I am wondering how, in general, I can achieve some kind of "meta"-process over a number of repeated random tasks. Example: Create 20 notes deriving from c4 with rnd-variance, starting at variance 0.1 and ending at 2. -> Starting point: (gen-loop 20 (rnd-variance 60 0.1) ) -> Last processed instance should be (rnd-variance 60 2)
- 2 replies
- 706 views
- 1 follower
-
Greetings, I've been working my way through the "Fundamentals of Composition with Opusmodus" book since my copy arrived on Monday. It's been a great help adjusting my brain from OpenMusic to Opusmodus. I'm currently working through section "2.4.2.5 Rhythm 5." In the code on page 92, there are a series of 8 lines that use "omn-dictum" to change all the pitches for each of the previously-generated rhythms to the correct general-midi pitches for the non-pitched percussion sounds (bass drum, bongos, congas, etc.). For example: (setf bass-drum (omn-dictum '(:all b1) rhythm1)) (setf low-wood-block (omn-dictum '(:all f5) rhythm2)) I found release n…
- 5 replies
- 1.5k views
- 2 followers
-
dear all i would like to send some specific data via OSC to MAX... i can send "something" to max (defparameter max '(127.0.0.1 7500)) ;; that works SEND data to MAX and i would like to send the following seq to MAX by OSC /player "12" 1.0 1.0 1.0 but how to do it / format it in OMPO? ;; data should be "113" 1 1. 25000 => but how to "format"? -> see the MAX form ;; ??? (send-osc-data (create-osc-thread "player" max) data) /player is sended but not the rest of teh sequence here is a screenshot from MAX, it worked with an external library (in CCL) but i would like to do …
- 5 replies
- 1.7k views
- 1 follower
-
I try to work myself through the docs of counterpoint and I encountered this: (setf voices (counterpoint (list p1 p2) '(((1 2 1 2) :methods (r - (ri dl5) (r dl2)))))) (ps 'gm :fl (list (1~ voices)) :cl (list (2~ voices)) :hn (list (3~ voices)) :vc (list (4~ voices)) ) I searched the whole documentation. There is also no mention in the book. Could it be included in the counterpoint document if it is specific to counterpoint ? Can this function be used in other contexts, too?
- 3 replies
- 707 views
- 1 follower
-
dear all i want to code a simple function for sending midi-cc in an "all-in-one"-function (to external devices like filterbank or microcosm) it works more or less.... but there are two bugs i can't fix. the function: (defun filterbank (&key cc value-range (time-range '(1 127)) (port 7) (channel 16)) (let ((values (loop for i in (rnd-sample 100 (gen-integer (first value-range) (second value-range))) for j in (gen-length (gen-integer (first time-range) (second time-range)) 1/128) collect (list i j)))) (live-coding-midi (compile-score (def-score cc-seq (:tit…
- 6 replies
- 831 views
- 1 follower
-
With length-modify it seems that I can either modify notes or rests or random. length-modify.pdf: type 'r (rest) or 'n (note) or '? (at random), if not specified random type is used. Wouldn't :type 'all also be useful? I could use it for what I am doing now. Now I realized it by calling :type 'n and :type 'r one after the other. Is there another function that would modify all (rest and notes)?
- 10 replies
- 1.1k views
- 2 followers
-
Is there a function with which I can change randomly a defined number of lengths in a list to rests? Thanks, Achim
- 6 replies
- 793 views
- 2 followers
-
Hi, I have this list of lists (will have much more sublists) : '((s -s s== -s -s== s== -s s -s s -s s -s==) (s== -s s -s s== -s s -s== s== -s s -s s -s==) (s -s== s -s s -s s== -s s -s==)) I want to append e.g. a 'q to the end of each list. Is there a function I could use? How would you do this?
- 4 replies
- 730 views
-
Hi! I’m new to Opusmodus but I think it is one of the most amazing software programs I’ve ever used. It just blowed my mind with the possibilities it has. Although I still don’t know how to do anything but simple things, I would like to ask you if there’s a way to remotely execute lines of code via MIDI or OSC messages. That would be an incredible feature! Thanks a lot and forgive me if I start to open new topics with weird questions! ivan
- 3 replies
- 847 views
- 1 follower
-
Is there a simple way to repeat a list until it is the length of another list? Basically do the same thing that make-omn does but for other parameters. For example if I have a list of numbers '(4 3 2) and pitches '(a4 b4 c4 d4 e4), I would like to repeat the numbers until there are exactly the same number of elements in each list. Thanks!
-
- 8 replies
- 1.2k views
- 2 followers
-
-
Hi, Is it possible to create compound rhythms like this with ql? (q_3q 3q 3q_q.) Thanks!
- 2 replies
- 960 views
- 1 follower
-
I´m studying the Dictum function. For example, this: (setf omn4 '((e b4 fs5 e3 a5) (e e5 b5 c4) (e g5 a4 eb3 d4) (e c6 b5 a4) (e c5 eb5 gs4) (e b4 f5 f5 fs5 gs5 a5) (e cs4 g4 c6) (e gs5))) (dictum '((:butlast leg :bar (1 3 6)) (:apply stacc :bar (2 4 5)) (:any e :apply q :bar (1 3 6)) (:first p :bar 1) (:apply < :bar 1 :event 2) (:apply ff :bar 4) (:apply > :bar 5) (:apply < :bar 7..8) (:apply fff :bar 8) (:last fermata :bar 8)) omn4) ;give me this as result ((…
- 5 replies
- 1.1k views
-
Hi All, I apologize in advance if off topic or already resolved somwhere (I have not found anything). I am using this notation: (setf cell8 '(-q w e6 ppp<>ppp trem+nh-d -q)) to obtain a single whole note with diamond head, inside two quarter rests. However I obtain a wrong result and I don't know how to obtain final quarter rest in the place of another diamond note; here is the wrong result: Thank you in advance, ciao Fabio
- 2 replies
- 2k views
- 1 follower
-
Hi, What I want is the first pict: What I get, when I use this: (setf rhy '(e e 3q = = tie e e)) is seen in the second pict, what am I missing? Ok, I found the solution, writing 3q 3q 3q instead of 3q = = But then I stumbeled over the next problem, how can I use span with such tied rhymths? What I want is this: what I get with span is this: (setf line '(( c4 d4 e4 f4)( g4 a4))) (setf rhy '(e e tie 3q 3q 3q tie e e tie 3q tie 3q 3q)) (setf pit (span rhy line)) (make-omn :length rhy :pitch pit)
-
- 5 replies
- 1.4k views
- 1 follower
-
-
Hello! It is possible for Opusmodus users to view and edit existing functions in the OMN Library? Thank you! David
-
- 1 reply
- 1.2k views
- 1 follower
-
-
Hello, Friends I´d like to ask if there is some support in MusicXML for Stemlet notation (as in the example below) and if it can be accomplished in the OMN Lingo. I like this kind of writing for rhythmic stuff (the downbeat is more clear, IMHO). All the best, Julio
- 4 replies
- 20.5k views
-
hi all little question: i would like to SORT an (single-event)-list by pitch... and be able to keep the event-data "in the set" (=> the attribute-cents should be bound to pitch!) ((e e4 mf) (e a4 mf) (e d5 mf) (e g5 mf) (e b5 mf) (e d6 mf) (e b4 mf 2c) (e e5 mf 2c) (e a5 mf 2c) (e d6 mf 2c) (e fs6 mf 2c) (e a6 mf 2c) (e e5 mf) (e a5 mf) (e d6 mf) (e g6 mf) (e b6 mf) (e d7 mf) (e gs5 mf -14c) (e cs6 mf -14c) (e fs6 mf -14c) (e b6 mf -14c) (e eb7 mf -14c) (e fs7 mf -14c) (e b5 mf 2c) (e e6 mf 2c) (e a6 mf 2c) (e d7 mf 2c) (e fs7 mf 2c) (e a7 mf 2c) (e d6 mf -31c) (e g6 mf -31c) (e c7 mf -31c) (e f7 mf -31c) (e a7 mf -31c) (e c8 mf -31c)…
- 25 replies
- 23.3k views
-
Hi, Why does the first example work and the second don't, what am I missing? Thanks! (setf eins '((q d4 e4 fs4 gs4) (q d4 e4 fs4 gs4) (q d4 e4 fs4 gs4))) (unfold 'om '((pause 2)) eins) => ((q d4 e4 fs4 gs4) (-w) (q d4 e4 fs4 gs4)) (unfold 'om '((pause 2 2)) eins) => ((q d4 e4 fs4 gs4) (q d4 mf e4 fs4 gs4) (q d4 e4 fs4 gs4))
-
- 13 replies
- 4k views
- 1 follower
-