Posts posted by AM
-
-
ok, thanx! i see my "wishes" are a little bit special - but perhaps OPUSMODUS can do that (without ties... or...)
andré
-
hi all
i would like to MERGE/FIT the following 3-layer-voices(-EXAMPLE) into a ONE-layer-voice (with complex rhythms) - is it possible in OPUSMODUS?
thanx for help!
andré
EXAMPLE:
(setf voices (merge-voices (make-omn :length (gen-length '(1 2 3 4 5 6 7 8) 1/20)
:pitch '(c4)
:velocity '(pppp ppp pp p))
(make-omn :length (gen-length '(1 2 3 4 5 6 7 8) 1/8)
:pitch '(c5)
:velocity '(pppp ppp pp p))
(make-omn :length (gen-length '(1 2 3 4 5 6 7 8) 1/12)
:pitch '(c6)
:velocity '(pppp ppp pp p))))
(def-score example
(:key-signature 'atonal
:time-signature '(4 4)
:tempo '(96)
:layout (treble-layout '3-layers))
(3-layers
:omn voices
:channel 1
:sound 'gm
:program 1)) -
-
interesting bug: have a look at the 1/20-layer (c6) -> midi sounds correct (!), notation is wrong
;;;;;;;;;;;;;;;;;;;;
(setf duration1 '(8 5 3 2 3 5 8))
(setf duration2 '(8 5 3 2 3 5 8))
(setf duration3 '(8 5 3 2 3 5 8))(setf voices (merge-voices (make-omn :length (gen-length duration1 1/20)
:pitch '(c6))
(make-omn :length (gen-length duration2 1/32)
:pitch '(b4))
(make-omn :length(gen-length duration3 1/8)
:pitch '(as2))))
(def-score voices
(:key-signature '(c maj)
:time-signature '(4 4)
:tempo '(60))
(piano
:omn voices
:channel 1
:sound 'gm
:program 0))(display-midi (compile-score 'voices) :display :quick-view)
;;;;;;;;;;;;;;;;;;;;
-
thanx, but midi don't like such VALUES :-( - so it works only for notation (or sibelius/finale)...
for the future it would be nice for my work (and perhaps interesting for other composers), when the time/rhythm-things could be more flexible - i think the biggest bounderies in opusmodus are the time/rhythm-things and it's notation (paper/pencil is the most flexible way, and i don't want to be a limited by software). if you work really "experimental" you want to map rhythm-values in a complexer way...
for me it would be great and very nice, when it would be possible to notate/play such rhy-sequences like '(1/4 1/4 1/12 1/12 3/16 1/16....) with values that are not completing 1/4. at the moment OPUSMODUS is "correcting" this... (would be nice to have irregular time-signatures or bars with no time-signature!!!)....
in my work for example: i have programmed BOTS/non-trivial-machines, who are generating values "step-by-step" and the inner-state of the non-trivial-machine always changes its datas/memory (in a rnd-way). the result is, that the rhythm-values all the times are changing (more or less like in the special-bars-examples). and because it's not possible to calculate the output of the non-trivial-machine (that's the natural constitution of them), it's not possible to "fit the rhyhm-values" into prefiexed-bar-structures. that's a problem for my work and so i have to write such strange programs who fix the complicated rhy-changes :-)
thanx for your great work!!!
andré
-
a solution: perhaps it's interesting for anyone (or as an example for OPMUSMODUS-implementation) - a simple function (programmed by a friend and myself) - not very smart but it (should) work(s) :-)
greetings
a.
(defun time-sign-changes (durations rhys &key (complex-bars 'nil)) (if (equal complex-bars 'nil) (loop for i in durations for j in rhys with sum = 0 with last-j = (first durations) when (and (/= j last-j) (/= sum 0)) collect (list (numerator sum) (denominator sum) 1) into bag and do (setq sum 0) do (setq sum (+ sum (abs (* i j)))) when (> sum 1/4) collect '(1 4 1) into bag and do (setq sum (- sum 1/4)) do (setq last-j j) finally (return (append bag (list (list (numerator sum) (denominator sum) 1))))) (loop for i in durations for j in rhys with sum = 0 with last-j = (first durations) when (and (/= j last-j) (/= sum 0)) collect (list (numerator sum) (denominator sum) 1) into bag and do (setq sum 0) do (setq sum (+ sum (abs (* i j)))) when (> sum 1/2) collect '(1 2 1) into bag and do (setq sum (- sum 1/2)) do (setq last-j j) finally (return (append bag (list (list (numerator sum) (denominator sum) 1)))))))
(setq durations '(-1 2 3 4 3 2 -5 4 3 2 4 3 1 7)) (setq rhythms '(1/32 1/32 1/32 1/32 1/20 1/20 1/20 1/20 1/20 1/12 1/12 1/12)) ;;creating the lengths (setq lengths (loop for i in durations for j in rhythms collect (* i j))) ;; creating the bar-changes -> :complex-bars 'nil or 't (setq bars (time-sign-changes durations rhythms :complex-bars 'nil))
(def-score solo (:title "example" :key-signature 'atonal :time-signature bars :tempo '90 :layout (treble-layout 'example)) (example :omn (make-omn :pitch '(c4) :length lengths) :channel 1 :volume 100 :sound 'gm))
-
-
-
when i evaluate this:
(make-omn :pitch '(c5) :length '(3/12 -1/12 4/12 -1/20 3/20 1/20) :velocity '(mf))
the result is wrong (look at (3/12 -1/12 4/12).... but i would like to notate something like valeur ajoutée
isn't it possible? thanx a.
-
-
-
little lisp-problem/question with &optionel / &key...
here are two test-programs to explore keyword and optional paramters
this test-program works
(defun test1 (liste add &key (add-on/off))(loop for i in listewhen (equal add-on/off 'on)collect (+ i add)else collect i))(test1 '(1 2 3 4 5) 100 :add-on/off 'on)this version with &optional don't work... why?(defun test2 (liste add &optional (x 10) &key (add-on/off))(loop for i in listewhen (equal add-on/off 'on)collect (+ i add x)else collect i))(test2 '(1 2 3 4 5) 100 :add-on/off 'on)> Error: While compiling test2 :
> Bad lambda list : (liste add &key add-on/off &optional (x 10)), in process Listener-1(7).thanx for helpandré -
-
-
simple question, perhaps someone could help me.
i like to replace some ordinary notes (example) with an "acciaccatura"?
example:
from...
'((e c6 q. ab5 3e g5 f5 e5 q f5 -))
to...
'((acc c6) q. ab5 3e g5 f5 e5 q f5 -) ; = replace e c6 with (acc c6)
i think, its not complicated but i didn't found the OMN-solution.
thanx for your help!!
andré
-
-
POLYTEMPO: would be great and very interesting! here is the technology to do/perform this LIVE on STAGE... http://www.smc-conference.net/smc-icmc-2014/images/proceedings/PS2-B03-PolytempoNetwork.pdf. (by philippe kocher - institute for computer music and sound technology zurich university of art).
it works simple and fantastic!!
MICROTONAL: i prefer (q c4.0456) but i would like more (or as an option) 60.0456 (via midi-note-number), so you could work/calculate directly with numbers and "pure lisp-code"....
-
-
short question...
i've programmed a score with special bars like... ......3/20 5/16 7/12 3/32 1/10....... etc.
musicXML/notation has no problem with it, but MIDI can not play it (errors)!!! it works, when i do an musicXML-export to SIBLEIUS... score/notation is okay, and no playback-problems on SIBELIUS.
but it would be nice, if i could simulate it directly on OM via MIDI (an later with the contimbre-library).
where is the problem? or is there a solution..?
thanx for help
andré
-
-
dear users and opusmodus-guys
i'm an OPUSMODUS-newby, very happy with this direct and cool LISP-programming!
now the question: i would like to create an polytempo-score
for example:
this BOTS (bot1-bot4) are playing/written in ONE score with ONE tempo - is it possible to create a score, so that every bot has his own tempo?
in extremis: bot1 = 90bpm, bot2 = 91bpm... etc... like in "ars subtilior", but not with a modification of rhythm/duration...
thanks for you support - perhaps it's very simple, i don't know...
andré
further informations to ploytempo etc... http://www.greschak.com/polytempo/ptword.htm
-------my simple score-OMN with "material" bot1 to bot4
(def-score multi-bots
(:title "multi-bots"
:key-signature 'atonal
:time-signature '(4 4)
:tempo 90
:layout (bracket-group
(treble-layout 'bot1) (treble-layout 'bot2) (treble-layout 'bot3) (treble-layout 'bot4)))
(bot1
:omn mat_bot1
:channel 1
:sound 'gm
:program 'acoustic-grand-piano)
(bot2
:omn mat_bot2
:channel 2
:sound 'gm
:program 'acoustic-grand-piano)
(bot3
:omn mat_bot3
:channel 3
:sound 'gm
:program 'acoustic-grand-piano)
(bot4
:omn mat_bot4
:channel 4
:sound 'gm
:program 'acoustic-grand-piano))
multiple-layers/voices into a single-layer/voice?
in OMN Lingo
perhaps with a non-overlapping structure of the voices?
and perhaps the tuplet-5/tuplet-3 will be shown as tuplet-15...