Jump to content

JulioHerrlein

Members
  • Joined

  • Last visited

Everything posted by JulioHerrlein

  1. Thanks, Stephane !😀😀😀😀
  2. Dear All, I´m doing some melodic permutations and I have a question about replace-map: Here are four elements permutations, generated by: (permute '(1 2 3 4)) (setf permut4 '((1 2 3 4) (1 2 4 3) (1 3 2 4) (1 3 4 2) (1 4 2 3) (1 4 3 2) (2 1 3 4) (2 1 4 3) (2 3 1 4) (2 3 4 1) (2 4 1 3) (2 4 3 1) (3 1 2 4) (3 1 4 2) (3 2 1 4) (3 2 4 1) (3 4 1 2) (3 4 2 1) (4 1 2 3) (4 1 3 2) (4 2 1 3) (4 2 3 1) (4 3 1 2) (4 3 2 1))) Here are the pitch material to be permutated: (setf permutcontent '((1 cs4) (2 d4) (3 e4) (4 g4))) I used the REPLACE MAP FUNCTION, like this: (replace-map permutcontent permut4) THE RESULT: ((c4 d4 e4 g4) (c4 d4 g4 e4) (c4 e4 d4 g4) (c4 e4 g4 d4) (c4 g4 d4 e4) (c4 g4 e4 d4) (d4 c4 e4 g4) (d4 c4 g4 e4) (d4 e4 c4 g4) (d4 e4 g4 c4) (d4 g4 c4 e4) (d4 g4 e4 c4) (e4 c4 d4 g4) (e4 c4 g4 d4) (e4 d4 c4 g4) (e4 d4 g4 c4) (e4 g4 c4 d4) (e4 g4 d4 c4) (g4 c4 d4 e4) (g4 c4 e4 d4) (g4 d4 c4 e4) (g4 d4 e4 c4) (g4 e4 c4 d4) (g4 e4 d4 c4)) THE QUESTION: What if I want to replace one item (like a pitch) for a list of melodic pitches ? How to proceed ? For example: Instead of substitute a C4 for the number 1, I want to substitute a list of notes, like (cs4 ds4) (setf permutcontent '((1 cs4 ds4) (2 d4) (3 e4) (4 g4))) When I set this, a get only the cs4 permeated... Best, Julio I got it ! All the material must have the same number of elements, like (setf permutcontent '((1 (c4 cs4)) (2 (b4 ds4)) (3 (c5 f4)) (4 (cs5 ds4)))) Resulting in: ((c4 cs4) (b4 ds4) (c5 f4) (cs5 ds4)) ((c4 cs4) (b4 ds4) (cs5 ds4) (c5 f4)) ((c4 cs4) (c5 f4) (b4 ds4) (cs5 ds4)) ((c4 cs4) (c5 f4) (cs5 ds4) (b4 ds4)) ((c4 cs4) (cs5 ds4) (b4 ds4) (c5 f4)) ((c4 cs4) (cs5 ds4) (c5 f4) (b4 ds4)) ((b4 ds4) (c4 cs4) (c5 f4) (cs5 ds4)) ((b4 ds4) (c4 cs4) (cs5 ds4) (c5 f4)) ((b4 ds4) (c5 f4) (c4 cs4) (cs5 ds4)) ((b4 ds4) (c5 f4) (cs5 ds4) (c4 cs4)) ((b4 ds4) (cs5 ds4) (c4 cs4) (c5 f4)) ((b4 ds4) (cs5 ds4) (c5 f4) (c4 cs4)) ((c5 f4) (c4 cs4) (b4 ds4) (cs5 ds4)) ((c5 f4) (c4 cs4) (cs5 ds4) (b4 ds4)) ((c5 f4) (b4 ds4) (c4 cs4) (cs5 ds4)) ((c5 f4) (b4 ds4) (cs5 ds4) (c4 cs4)) ((c5 f4) (cs5 ds4) (c4 cs4) (b4 ds4)) ((c5 f4) (cs5 ds4) (b4 ds4) (c4 cs4)) ((cs5 ds4) (c4 cs4) (b4 ds4) (c5 f4)) ((cs5 ds4) (c4 cs4) (c5 f4) (b4 ds4)) ((cs5 ds4) (b4 ds4) (c4 cs4) (c5 f4)) ((cs5 ds4) (b4 ds4) (c5 f4) (c4 cs4)) ((cs5 ds4) (c5 f4) (c4 cs4) (b4 ds4)) ((cs5 ds4) (c5 f4) (b4 ds4) (c4 cs4))) But would be nice to MIX different number of elements...
  3. I Love pieces with Scores !! Thank you and congrats for the music, Stephane ! Sounds great ! Best, Julio
  4. Very Cool ! opmo code/score avaiable ? Best, Julio
  5. JulioHerrlein replied to opmo's post in a topic in Made In Opusmodus
    Cool ! I'm curious !! Best, Julio
  6. When it will be released ? Best, Julio
  7. wow !!! Thanks !! Best, Julio
  8. Thank you, Janusz ! I'm using this with the new closest-path function. Best, Julio
  9. Dear Friends, When evaluating this (cmd+1) '(h (g3f4b4db5) (c4 maj7)) as snippet, I get this: Why is that c4 alone there in the beginning of snippet ? Best, Julio
  10. Dear André, It's all solved with :start option ! You can decide a "model" voicing for the voice-leading ! Very cool ! Best, Julio Thank you, Janusz !
  11. Dear Friends, Very basic question: I use some old VSL sample .gig files with gplayer. I really like this libraries and the way it sounds. The combination patches alternate sounds via keyswitches in the lower range of keyboard (or the upper range in some instruments). Something like: C normal sound C# pizz D marcato etc Can I use this keyswitches in the OMN lingo, without having to send the midi note itself to activate the keyswitch, something like: (marcato e c4 d4 s legato fs4 g4 cs5 eb5 ) Opusmodus will send the keyswitches as a hidden midi note in the expression ? All the best, Julio
  12. Dear Janusz, When I evaluate this expression: (closest-path '(b3eb5g3 cs6e7gs3 b4f5g6 f7e5c2 d4f7e4 gs7e2a8)) I get this: I was expecting this: Maybe a good idea would be something like a octave compress option. Best, Julio
  13. Yes, it also occurred to me to change the name. If this is really an sucessful algorythm for the closest-path, I would suggest to change the old function to another name. Thank you, Janusz ! Best, Julio
  14. Dear Janusz, In my version of Opusmodus, I get this: But maybe it's important to have all compressed within one octave, like this: (g3b3eb4 gs3cs4e4 b3g3f4 c4f3e4 d4e4f3 e4gs3a3) What do you think? Best, Julio
  15. Dear Friends, Avner, I noticed exactly the same behaviour. I feel a contradiction in having two results for something called "the closest path", because "the closest path", in my interpretation, means only one solution: the one in which the sum of the semitones of all voice-leading moves are the less. It's logically impossible to have "the closest path" with two solutions. You cannot have the cake and eat it too... If the function alternate between two solutions, maybe could be the case that two solutions would sum the same amount of semitonal moves, but the example above do not seems to be that case. After I realized it, I tried to find a way to assure a more accurate expression to represent that one "closest" solution. Janusz, what do you think ? All the best !! I love Opusmodus !! Thank you ! Best, Julio
  16. When I try to open an XML file generated in Opusmodus snippet in Musescore 3, I get a message (File Corrupted). I have to open it in Finale and then export as XML. After that I can open it in Musescore. I do´t know why... But I decided to report it to you. Best, Julio
  17. Dear All, There is a way of exporting the graphic Circle rhythm plots, like an easy shortcut, as we have with the snippets (to XML or MIDI) ? Thanks ! Best, Julio
  18. Thanks, Janusz! I'm going to check it out ! Best
  19. Dear Friends, Here 's a way to produce chords from 12 tone rows (Schoenberg opus 25 row): (setf op25arnie '(e4 f4 g4 cs4 fs4 ds4 gs4 d4 b4 c4 a4 as4)) (respell (gen-chord2 20 '(3 3 3 1) op25arnie)) Hope it helps a little. Best, Julio Also check this ! And the Nigel Morgan Parametric Composition book, of course ! More specific, to keep track of the row: (setf op29webernLib (expand-libraries '(library vienna webern r19))) (setf rowint (pitch-to-integer op29webernLib)) (setf pitches (gen-repeat 10 op29webernLib)) (setf lengths (span pitches (gen-repeat 10 '(s s s s -s s e -s s s -s e e -q q)))) (setf text (span pitches rowint)) (def-score Stage-1 (:key-signature 'chromatic :time-signature '(4 4) :tempo 80 :layout (treble-layout 'piano-rh)) (piano-rh :length lengths :pitch pitches :text text ;:velocity dynamics :channel 1 :sound 'gm :program 'acoustic-grand-piano) ) Best, Julio
  20. Dear Janusz, EXACT !!! Looks great !! Nice touch adding the row operations inside it (p, i , r and ri). Is it too hard to code ? Best, Julio
  21. Let's take one example: Take a set of 12 melodic patterns, like this: (setf jazzpit (substitute-map '( (s c4 d4 e4 g4) (s c4 d4 g4 e4) (s g4 e4 c4 d4) (s c4 d4 f4 g4) (s c4 d4 g4 f4) (s g4 f4 c4 d4) (s c4 d4 g4 f4) (s g4 gb4 f4 g4) (s g4 gb4 f4 a4) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5)) '(0 1 2 3 4 5 6 7 8 9 10 11) '(0 1 2 3 4 5 6 7 8 9 10 11))) In this way, when I evaluate the substitute map, a got exactly the justaposition of the 12 four note patters one after another, like this: If I want to have all the patterns connected by (for example) one semitone, I can MANUALLY arrange all the transpositions in a way that the connection by semitone is achieved, like this: (pitch-transpose '(0 6 2 3 11 8 9 6 5 11 10 11) jazzpit) But I have calculate this transpositions MANUALLY, one by one, figuring out, depending on the order of the patterns, wich transposition will give me the connection by semitone. Evaluating the expression above I get this: There are EXACTLY the same patterns of the example before transposed to connect to each other by semitone. THIS IS THE POINT: I can achieve it just because I know BEFOREHAND the order of the patterns. If the process of ordering the patterns is done randomly, how can I figure out the transpositions ?? I'll explain: Let's look to another example: Let's say I have exactly the same 12 patterns but with the order choosen randomly by a rnd-unique function, like this: (setf jazzpit (substitute-map '( (s c4 d4 e4 g4) (s c4 d4 g4 e4) (s g4 e4 c4 d4) (s c4 d4 f4 g4) (s c4 d4 g4 f4) (s g4 f4 c4 d4) (s c4 d4 g4 f4) (s g4 gb4 f4 g4) (s g4 gb4 f4 a4) (s d4 f4 g4 a4) (s a4 g4 f4 d4) (s d4 f4 g4 c5)) '(0 1 2 3 4 5 6 7 8 9 10 11) (rnd-unique 12 '(0 1 2 3 4 5 6 7 8 9 10 11)))) Now, each time I run this expression, I will get a different order of the same 12 patterns, like this: FIRST RUN: SECOND RUN ETC... In each case, the order of transpositions to make a connection between each four-note patterns by semitone could not been calculated manually because I don't know beforehand what will be the result of the expression. I would need a kind of buffer function that informs me what would be the first and last note of each pattern after the rnd-unique, so with this information, I could find a formula to map this information with the transposition sequence, in order to connect every pattern with a semitone between the its last and first note. I don't know how to antecipate the result of a random process, or to have it inside a loop of decicion making process inside Opusmodus. Please, let me know if I was clear in the explanation. Best, Julio

Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy