Jump to content

JulioHerrlein

Members
  • Content count

    128
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by JulioHerrlein

  1. JulioHerrlein

    Opusmodus 1.2.23374

    Really Cool and musical function !
  2. JulioHerrlein

    mapping integer?

    More praises and likes to you, guys !! Best ! Julio
  3. JulioHerrlein

    mapping integer?

    I love your loops, André ! Best, Julio
  4. JulioHerrlein

    mapping integer?

    tonality-map ? (setf seq1 '(c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 as4 b4)) (tonality-map '(major) seq1) => (c4 c4 d4 d4 e4 f4 f4 g4 a4 a4 a4 b4)
  5. JulioHerrlein

    QuickTips - Classical Piano accompaniment

    Wow! Stephane! This is so cool! Thanks a lot for sharing this. A Great study in harmony, composition and creativity! Best Julio added 1 minute later In Opusmodus, the music rules!
  6. JulioHerrlein

    QuickTips - Classical Piano accompaniment

    The library of chord progressions is very interesting. Is this something you build by yourself, Stephane ? Some of your favorite voicings and voice-leadings ? Best, Julio
  7. JulioHerrlein

    QuickTips - Classical Piano accompaniment

    Always amazing, Stephane !
  8. JulioHerrlein

    Chord Inversions & Arpeggios

    Thanks, Stephane !
  9. JulioHerrlein

    Chord Inversions & Arpeggios

    For example: This syntax (expand-chord '(c4 69)) will give you a C(6,9) chord. Evaluate the expression via CMD+1 to get the snippet in notation. added 5 minutes later Maybe Janusz can help me here: When I evaluate this: (chord-inversion 1 (expand-chord '(c4 69))) I get this e4g4a4d5c6 However, when I try to get the snippet, via CMD+1, I get an error: > Error: The value e4g4a4d5c6 is not of the expected type list. > While executing: parse-chord-form-from-stream, in process Listener-1(6). > Type cmd-. to abort, cmd-\ for a list of available restarts. > Type :? for other options.
  10. JulioHerrlein

    Changing MIDI channels with articulations

    Me too !!! Thanks !
  11. I'm thinking about the formal conditions of the diatonic transposition. It may seem trivial, but actually is much more difficult than it appears. I think that modelling tonality and diatonic stuff is far more difficult than the 12-tone operations. One of the things I think is that in diatonic transposition you need to inform more to the machine, a kind of axis point or map, because the transposition of each degree is going to be different. In the case of the diatonic set, the MyHill property assures that each diatonic distance will be in exactly 2 sizes. Seconds: major and minor; Thirds: major and minor; Fourths: perfect and augmented; Fifths: perfect and diminished and so on... The Morris pitch spaces are also part of the problem... Do you have any hint in relation to this intuitions to share ? Maybe the way that OM make this operations ? Best, Julio
  12. JulioHerrlein

    Modulo 12 Function ?

    Great idea, Torsten Very pedagogic example too. Thanks a lot. Im studying a lot of diatonic set Theory now, so I'm interested on mod 12 and mod 7 operations. The problem with the diatonic stuff is that is, in the lingo of Robert Morris, a pitch space with a irregular but periodic division. Best Julio
  13. JulioHerrlein

    Modulo 12 Function ?

    Dear Friends, I'm struggling to find a modulo 12 function Something like this: (mod12 '(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 24 48)) returns >> (0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 0 0) Any Hint ? Best, Julio
  14. Thank you, Torsten. You are digging a lot into the realm of modelling tonality. I think that this is really something more interesting than brownian motions, stochastic stuff, because there are many constraints in the tonality and also idiomatisms. Models like the xenakian one are amazing but the are in the realm of math. I'd like to find something more idiomatic. Best, Julio
  15. Dear Friends, I'm happy to announce that my doctoral dissertation in music composition will have many Opusmodus examples ! I'd like to know how the best way to export plots, and midi piano roll (assistants) for using as examples in Microsoft Word, PDF applications, vectorial graphic software (like Corel), etc I was just snapshoting the screen with built in mac snapshot function (CMN + CTRL + SHIFT + 4) but wondering if there are some method for saving the output. Best, Julio
  16. Thanks a lot, Stephane ! It's a kind of mapping. Best ! Julio
  17. Dear All, HAPPY 2018 !! With the new PCS organization in Opusmodus is possible to implement a concept of my book, called Combinatorial Voiceleading of Hexachords. From a Hexachord Set, is possible to find 10 different ways to combine the notes in the for of voice-leading sets. Each hexachord is divided in (3 + 3) way. This expression: (setf hexavl (mclist (chordize-list (integer-to-pitch (remove-duplicates (sort-asc (gen-divide 3 (flatten (permute (pcs '6-32))))) :test #'equal))))) Will result in this combination of the 6-32 hexachord, similar to the idea in the book. In the book, the material is organized in 70 pages of melodic and harmonic exercises. Here is a litte sample: CH_HERRLEIN.pdf The entire book: https://www.melbay.com/Products/Default.aspx?bookid=30042BCDEB Best ! Julio Herrlein
  18. JulioHerrlein

    Permute Function Question

    Thanks, Janusz !
  19. JulioHerrlein

    Permute Function Question

    I need a function to filter the Permutations. For example: (gen-divide 2 (flatten (permute (pcs '4-1)))) Will result in: ((0 1) (2 3) (0 1) (3 2) (0 2) (1 3) (0 2) (3 1) (0 3) (1 2) (0 3) (2 1) (1 0) (2 3) (1 0) (3 2) (1 2) (0 3) (1 2) (3 0) (1 3) (0 2) (1 3) (2 0) (2 0) (1 3) (2 0) (3 1) (2 1) (0 3) (2 1) (3 0) (2 3) (0 1) (2 3) (1 0) (3 0) (1 2) (3 0) (2 1) (3 1) (0 2) (3 1) (2 0) (3 2) (0 1) (3 2) (1 0)) But I don't mind with the order, since I'll make chords out of it, so ((0 1) (2 3) or (0 1) (3 2) or (1 0) (2 3) will result in the same chord. How to filter the list onto a list where the order does not matter ? Best, Julio
  20. JulioHerrlein

    Permute Function Question

    Possible workaround: (remove-duplicates (sort-asc (combination 3 (pcs '6-1))) :test #'equal)
  21. Parsimonious Voice Leading (again): attempts to provide an algorithm ;;In a previous post I deleted, I was trying to find a good way to ensure the minimal parsimonious Voice-Leading (VL) between a sequence of chords. ;;In this post I will try to explain my second attempt. ;Let's take a look at a sequence of chords, spreaded out almost in a random way, with no VL (setf chordstovl2 '(b3eb5g3 cs6e7gs3 b4f5g6 f7e5c2 d4f7e4 gs7e2a8) ;lLet's specify and evaluate a variable for the number of voices used: (setf voices 3) ;Let's try to think the best way to connect this pitches with minimal movement. I will apply the following expression to ensure a better and less ambiguous result when applying the Chord-Closest-Path Function ;;;Evaluate voices before (setf voices 3) ;;;Then (setf chordized (mclist (chordize-list (gen-divide voices (setf vlfinal (integer-to-pitch (modus (interval-to-pitch (replace-map '((-11 1) (-10 2) (-9 3) (-8 4) (-7 5) (7 -5) (8 -4) (9 -3)(10 -2)(11 -1)) (integer-to-interval (modus (pitch-to-midi (setf chordmelo (pitch-melodize chordstovl2)))))) :start (car chordmelo))))))))) ;;; Please note the use of the replace-map function ensuring that no movement will be greater than a tritone away. This means that a movement like "C to G" (7 semitones) will be convertet in a G to C (5 semitones). This ensure a modulo 12 (octave constraint) reduction of all the material and also a constraint in terms of the size of the movements that will not exceed 6 semitones. ;;;Finally, I will apply the Chord-Closest-Path Function (chord-closest-path (car chordized) (chordize-list (gen-divide voices vlfinal))) Hope it help some VL efforts. Best, Julio Herrlein
  22. Janusz suggested a different way for the expression: (setf voices 3) (setf chordstovl2 '(b3eb5g3 cs6e7gs3 b4f5g6 f7e5c2 d4f7e4 gs7e2a8)) (setf chordmelo (pitch-melodize chordstovl2)) (setf intervals (integer-to-interval (modus (pitch-to-midi chordmelo)))) (setf map (replace-map '((-11 1) (-10 2) (-9 3) (-8 4) (-7 5) (7 -5) (8 -4) (9 -3) (10 -2) (11 -1)) intervals)) (setf vlfinal (integer-to-pitch (modus (interval-to-pitch map :start (car chordmelo))))) (setf chordized (mclist (chordize-list (gen-divide voices vlfinal)))) (chord-closest-path (car chordized) chordized)
  23. JulioHerrlein

    Modulo 12 Function ?

    Great !!! New Year Version!! BEst ! Julio
  24. JulioHerrlein

    Modulo 12 Function ?

    Thanks, Didier ! I'm looking forward for the new Opusmodus version. It willl be better for dealing with sets. Best ! Happy New Year ! Julio
×