Jump to content
View in the app

A better way to browse. Learn more.

Opusmodus

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JulioHerrlein

Members
  • Joined

  • Last visited

Posts posted by JulioHerrlein

  1. Dear Janusz,

     

    This is the closest I get. I suppose it isn't related to Time-point.

    I'll try to explain.

    1) There is a general list of pitches from a certain source (a row, for example)

    2) From this list, we use the rhythm list as a skip list of pitches, picking the notes from a sequence.

    3) The sequence of note picks is related to the lenght of note divided by the small quantized value, for example, the 16th note.

    4) So, the lenght sequence

    (1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16  3/16))

    Will result in a pick skip note sequence like (8, 1, 7, 2, 6, 3, 5, 4, 4, 5, 3)

    5) The pick-skip note acts like

     

    8 - means pick the first and skip 7 from the first list of pitches

    1 - means pick the first and skip 0 from the first list of pitches

    7 - means pick the first and skip 6 from the first list of pitches

    and so on...

     

    This will result in a sublist of first list of pitches, based on the skipped notes, taken every nth notes.

    according to the sequence.

     

    5) The missed step is that I want to chordize this sublist to an desired HARMONIC partition, like

     for example 2 trichords, 1 dyad, 3 single notes and a tetrachord, using something like this:

     

    (chordize (gen-divide '(3 3 2 1 1 1 4) 'pitches sublist))

     

    Here is the closer I get.

     

    Best,

    Julio

     

    (setf lengths  '(1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16  3/16))
    (setf pitches '(g5 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 fs4 a4 g4 gs4 a4 fs4 e4 b4 g4 gs4 fs4 a4 gs4 g4 f4 bb4 a4 fs4 e4 b4 fs4 a4 g4 gs4 e4 b4 a4 fs4 b4 e4 d4 cs5 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 f4 bb4 gs4 g4))


    (def-score time
               (
                :key-signature 'chromatic
                :time-signature time-sig
                :tempo 112
                :layout (clarinet-layout 'clarinet)
                )

    (clarinet
     :length lengths
     :pitch (loop for i in (append (list 0) (cumulative-sums (loop for k in lengths
                                                                            collect (/ k 1/16))))
                           collect (nth i pitches))
     :channel 1
     :sound 'gm
     :program 'piano
     ))

  2. Hello, All

     

    I'm trying to work out André's solution examples to make partitions out of tone rows or infinity series

     

    (setf lengths  '(1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16  3/16))
    (setf pitches '(g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 fs4 a4 g4 gs4 a4 fs4 e4 b4 g4 gs4 fs4 a4 gs4 g4 f4 bb4 a4 fs4 e4 b4 fs4 a4 g4 gs4 e4 b4 a4 fs4 b4 e4 d4 cs5 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 f4 bb4 gs4 g4))

    ;;; get the pitches
     
    (setf pitsublist (loop for i in (append (list 0) (cumulative-sums (loop for k in lengths collect (/ k 1/16)))) collect (nth i pitches))

     

    ; All ok but what I need next is to take the nth order sublist generated in André's solution to chordize it in partitions ala Babbitt.

     

    chordize (gen-divide '(2 1 3) '(pitsublist) chordize-list (gen-divide '(2 1 3) '(pitsublist))))

     

    Any hint ?

    Thanks a lot !

  3. Dear All,

     

    I´m looking for some way of retrieving musical information from sets of notes.

    Some problems, for example:

     

    1) This is the first and more needed now:

    Given some UNORDERED amount of pitches, how retrive the prime

     form and/or Forte Number.

    2) How to do this from an existing midi file or XML ? Is t possible to

     retrive the forte number of every "n" notes of the pitch collection (melody or chord)?

    3) Can you circunscribe some notes for analysis in a large file ?
     

    Thanks, everyone !

     

    Best,

    Julio

  4. Hello, Friends !

     

    I'm using the code below to generate combinations of rhythm in 12/8 time signature.

    I'd like to have my XML with correct beaming of the notes, related to the most common

     interpretation of a 12/8 time signature, i. e., beaming every 3 8th notes.

    Instead, I'm getting it more beamed like a 6/4 time signature:

     

    image.png.6fc8554d763712b94a688c70c8359c39.png

    Is there some form of force the right beaming?

     

    All the best !

    Please help this doctorate student !

    Julio

     

    (setf some-pitches (integer-to-pitch (gen-integer-step 7 145 '(0))))
    (setf some-lengths (span some-pitches '(e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e -e - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - - = = = = = = = = = - - - - = = = = = = = = = -)))
    ;(setf some-division '(12))
    ;(setf length-div (gen-divide some-division some-lengths))
    (setf time-sig '(12 8))
    (def-score time
               (
                :key-signature 'chromatic
                :time-signature time-sig
                :tempo 112
                :layout (clarinet-layout 'clarinet)
                )

    (clarinet
     :length length-div
     :pitch some-pitches
     :channel 1
     :sound 'gm
     :program 'clarinet
     ))

  5. Thanks a lot, Stephane ! This is great ! And thank you for

     showing me more functions.

    However, there some issues: how to control to get a 12/8 instead of a 6/4?

    Or: how to get always a time signature with x/8 ? Or always

    with a X/4, or mix them ?

    In the example you provide, a 12 generates a 6/4 instead of a 12/8.

    I changed the code a little:

     

    (setf some-pitches (integer-to-pitch (gen-integer-step 7 480 '(0))))

    ;>>> here, because I want to stay in the same note g4
    (setf lengths (span some-pitches '(q q e q q q e)))

    ;>>> here, because I want this specific rhythm, not random sample
    (setf some-division '(21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3))

    ;here, there's that problem of 6/4 versus 12/8 and one more problem occurred because OM stop changing the timesignature after the  number 14 (xml attached) I don't know why.
    (setf length-div (gen-divide some-division some-lengths))
    (setf time-sig (get-time-signature length-div))
    (def-score time
               (
                :key-signature 'chromatic
                :time-signature time-sig
                :tempo 112
                :layout (clarinet-layout 'clarinet)
                )

    (clarinet
     :length lengths
     :pitch some-pitches
     :channel 1
     :sound 'gm
     :program 'clarinet
     ))

     

    Best !!

    Julio

    test_timesigchange21to3.xml

  6. This is even more simple:

     

    (setf pitches '((g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 HERE COMES THE Pitch List :type :pitch)))
    (setf lengths (span pitches '(e -e -e -e HERE COMES THE Rhythm pattern list - same size or less than the pitches)))
    (def-score Stage-1
               (:key-signature 'chromatic
                :time-signature '(4 4) '(1 8)  >>>>>>>> Here is the problem: How to span the content through different Time Signatures using the same rhythm list and pitches ?
                :tempo 80
                :layout (treble-layout 'piano-rh))
     (piano-rh
       :length lengths
       :pitch pitches
       :channel 1
       :sound 'gm
       :program 'clarinet)
    )

  7. Hello, friends !

    I'm trying to make some rhythm patterns and I'd like to use the same pattern

     changing just the time signature order/or sequence.

    For example, assuming an 8th note as the number 1.

    2 2 1 2 2 2 1 (african bembé rhythm) as a pattern.

    This pattern could match in a 12/8 time signature or also

     in a 3/4 time signature. This is ok, no problem.

    But what if I like to span it as a 10/8 + 2/8 or 9/8 + 3/8

     or 7/8 + 5/8 or in a sequence like 3/8 + 2/8 + 4/8 + 3/8 always

     repeating the time signature sequences until have al the notes

     spanned ?

     

    Thanks for help !

    Best !

    Julio

     

    This works for me with ONE time signature only. I need the same

     stuff with a SEQUENCE of time signatures.

     

    (setf padrao '((0 1 2 3)))
    (setf pitches '((g4 g4 g4 g4  HERE COME THE PITCH LIST,  padrao :type :pitch)))
    (setf lengths (span pitches '(e e -e e HERE COMES THE Rhythm pattern list - same size or less than the pitches)))
    (setf text (span pitches padrao))
    
    (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
       :channel 1
       :sound 'gm
       :program 'clarinet)
    )

     

  8. Dear Friends,

     

    Is there some tutorial covering the basic rhythm notation

     coding, showing how to write the basic code for

     tuplets, beaming, ties, etc ?

     

    For example, here in Lilypond there are a very detailed manual on rhythm coding.

    http://lilypond.org/doc/v2.18/Documentation/notation/writing-rhythms

     

    Is there something similar in Opusmodus ?

    I´m working in a kind translation of Puredata to Opusmodus, so I need the syntax.

     

    Thanks,

    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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.