
rcadiz
Members-
Posts
23 -
Joined
-
Last visited
Contact Methods
- Website URL
Profile Information
-
Gender
Male
-
Location
Chile
-
Function to merge two omn sequences with articulations
rcadiz replied to rcadiz's topic in Function Examples
Hi! Thanks for your help. However, I don't want to append two sequences, one after the other. Instead, I would like to merge them vertically, as merge-voices does. But that function, when applied to omn sequences that contain articulations, erases them. That's why I am looking for an alternative. -
update Function to change an event in an omn sequence into a rest
rcadiz replied to rcadiz's topic in Function Examples
Of course, now I understand what I was doing wrong. Thanks a lot for your help! Rodrigo Indeed, great function! Thanks so much! Rodrigo -
update Function to change an event in an omn sequence into a rest
rcadiz replied to rcadiz's topic in Function Examples
I found another case where it does not work, please see below (setf mat2 '(w. f3 p arp q g3 ff stacc+marc w. a3 p arp q c4 ff stacc+marc)) ;; Crashes ;; Error: In a call to length: t (of type boolean) is not of type sequence. (rnd-rest '(1) mat2 :omn t) -
update Function to change an event in an omn sequence into a rest
rcadiz replied to rcadiz's topic in Function Examples
This is great! Thanks! However, I am trying to understand better how to use this function. What I actually don't understand is the significance of the parameter n and why it must be an integer. If I set n to 1 it should erase only one note from the omn sequence, right? This is not what I am seeing. This is an example of what I mean. (setf mat '((5q e2 ff stacc+marc e4 mf e2 ff stacc+marc) (5q fs2 mf d4 fs2) (5q a2 mf c4 a2) (5q b2 mf a3 b2) (5q cs3 mf g3 cs3) (5q c4 mf stacc c4 stacc c4 stacc c4 stacc c4 stacc) (5q b2 mf a3 b2) (5q a2 mf c4 a2) (5q fs2 mf d4 fs2) (5q e2 ff stacc+marc e4 mf e2 ff stacc+marc) (5q f2 mf eb4 f2) (5q g2 mf cs4 g2) (5q bb2 mf bb3 bb2) (5q c3 mf gs3 c3) (5q eb3 mf fs3 eb3) (5q c3 mf gs3 c3) (5q bb2 mf bb3 bb2) (5q g2 mf cs4 g2) (5q f2 mf eb4 f2) (5q eb2 mf fs4 eb2) (5q fs2 mf d4 fs2) (5q b2 mf a3 b2) (5q cs3 mf g3 cs3) (5q a2 mf c4 a2) (5q e2 ff stacc+marc e4 mf e2 ff stacc+marc) (5q g2 mf cs4 g2) (5q c3 mf gs3 c3) (5q c4 mf stacc c4 stacc c4 stacc c4 stacc c4 stacc) (5q g2 mf cs4 g2) (5q eb2 mf fs4 eb2) (5q f2 mf eb4 f2) (5q bb2 mf bb3 bb2) (5q eb3 mf fs3 eb3) (5q bb2 mf bb3 bb2) (5q f2 mf eb4 f2) (5q fs2 mf d4 fs2) (5q b2 mf a3 b2) (5q cs3 mf g3 cs3) (5q a2 mf c4 a2) (5q e2 ff stacc+marc e4 mf e2 ff stacc+marc) (5q b2 mf a3 b2) (5q a2 mf c4 a2) (5q g2 mf cs4 g2) (5q c3 mf gs3 c3) (5q eb2 mf fs4 eb2) (5q bb2 mf bb3 bb2) (5q c4 mf stacc c4 stacc c4 stacc c4 stacc c4 stacc))) ;; Erases a lot of notes (rnd-rest '(1) mat :seed 1) ;; Even more notes (rnd-rest '(2) mat :seed 1) ;; Erases almost all notes (rnd-rest '(3) mat :seed 1) ;; Erases all but three notes (rnd-rest '(4) mat :seed 1) ;; Crashes (rnd-rest '(5) mat :seed 1) ;; Works great! (rnd-rest '(0.1) mat :seed 1) When n is 1, I get many notes erased from the sequence instead of only one. Perhaps this is because the omn expression is not flattened out? However, if that's the case this function should erase one note per each group of 5q, and that's not what I see. When n is 5 the function crashes, I guess that is because the length of each grouping has only 5 notes? Also, I can use decimals without any trouble at all and it works great, exactly what I had in mind. So, how should I interpret these results? Thanks!! -
Hi! Is there a function like merge-voices that would work for omn sequences with articulations? If I merge two sequences with merge-voices containing articulations they are lost in the merging process.
-
Hi Stephane, sorry to insist with this topic, but I could not find any reference to such a function. If I try to invoke this function I get an Undefined operator error. And there is nothing in the documentation. Could you please point me towards any example of the usage of this function? Many thanks!! Rodrigo
-
Thanks for the quick reply! I will look into the pattern-map function. But, with respect to dictum, how can I specify multiple conditions? For example a specific pitch and duration? Something like this? (:any (q c4) :apply stacc) I tried the above and does not work. Also, how could I detect repeated notes in dictum? So, for example, apply this not to any c4, but only to c4s that are repeated. Thanks! Rodrigo
-
Hello everybody, sorry if this is a basic or too general question, but I wonder what would the best strategy be to apply articulations or dynamics to specific situations of pitch and rhythm. For example, let's say I have a omn list of pitches and durations and I want to apply articulations or dynamics to specific situations, such as: repeated pitches that have the same duration, or notes that last more than a quarter note, or each note that is not the same pitch as the previous one, or to each event that is cs4 with duration of 1/4, etc. I know that I can write specific functions for each case in particular, but I wonder if there is an easier way within opusmodus. I have been trying to use dictum or def-case for these effects, but I don't think those approaches can handle these kind of situations, but maybe I am wrong. Or maybe there are some maping or pattern-searching opusmodus functions that I am not aware of that could be of some use here. Many thanks! Rodrigo
-
Ok, that explains what I was experiencing. Thanks! However, when I use arp-down with the "Save As..." method it works ok, but not with the "Export Last Score to XML... " one.