Jump to content

Search the Community

Showing results for tags 'tonality'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Welcome to Opusmodus
    • Announcements
    • Pre Sales Questions
  • Support Forum
    • Support & Troubleshooting
    • OMN Lingo
    • Function Examples
    • Score and Notation
    • Live Coding Instrument
    • Library Setup
    • MIDI Setup
    • SuperCollider
  • Question & Answer
    • Suggestions & Ideas
    • Zoom into Opusmodus
  • Sharing
    • Made In Opusmodus
    • User Extensions Source Code
  • Opusmodus Workshops & Schools
    • Composer Workshop


  • Tutorials
  • How-to in 100 sec
  • Made in Opusmodus
  • How-To
  • Zoom into Opusmodus
  • SuperCollider
  • Workflow
  • Live Coding
  • Presentation
  • Analysis
  • Composer Workshop

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL




About Me

Found 5 results

  1. I've been studying HARMONIC-PATH and TONALITY-MAP functions to determine the exact similarities and differences between the two. While I understand the purpose of those functions in principle from reading the documentation and experimenting with different ideas, I wonder if - for educational purposes - someone could briefly highlight the main explicit differences between the two. In the short example below, both functions produce very similar results, so the question may be when to use one function instead of the other. And is it possible to achieve the same result with both functions? I appreciate anyone's advice or insight into this. Thanks! (setf chords '(c4e4g4 c4f4a4 b3d4g4)) (setf voice (gen-repeat (length chords) '((c4d4 e4)))) (setf harmonic-path (harmonic-path chords voice :octave :path)) => ((c4e4 g4) (c4f4 a4) (b3d4 g4)) (setf tonality-series (tonality-series chords :map '(step) :closest 'up)) (setf tonality-map (tonality-map tonality-series voice)) => ((c4g4 e5) (c4a4 f5) (b3g4 d5))
  2. 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
  3. Here's some few examples of use of the recently updated tonality-system. (complete opmo score attached to this post.) ;; Utility function useful for using ;; bass note of chords/scales as root ;; in tonality-series. (defun get-lowest-chord-tone (chords) (do-verbose ("get-lowest-chord-tone") (integer-to-pitch (mapcar 'find-min (pitch-to-integer chords))) )) #| ;;; USAGE (setf chords '(d4f4a4 ab3d4eb4g4 f4eb3c5)) (get-lowest-chord-tone chords) |# It is better now to see the tonality as kind of PCS (pitch Class Set). If you would express them in pitch, it is easier to work on C base. Something interesting if the fact tonality can now be sorted or not. It will be reflected in the output of tonality-map. ;; Some tests (tonality-map '(d4e4f4g4a4b4) '(c4 d4 e4 f4 g4 a4 b4)) (tonality-map '(d4e4f4g4a4b4) '(c3 e4g4)) (tonality-map '(d4e4f4g4a4b4 :root d4) '(c3 e4g4)) (tonality-map '((0 2 3 5 7 9 10) :root d4) '(c3 e4g4)) (tonality-map '((0 2 3 5 7 9 10) :root d4 :closest 'down) '(c3 e4g4)) More extended test with use of bass note as root: (setf row '(c4 e4 f4 b4 a4 bb4 cs4 gs4 fs4 g4 eb4 d4)) (setf modes1 (harmonic-progression '(0 1 2 3 4 5 6 7 8 9 10 11) row :step 1 :size 8 )) (setf mtv '((s c4 d4 e4 f4 g4 a4 b4 c5))) (setf test1 (tonality-map (mclist modes1) (gen-repeat 12 mtv))) (setf path1 (tonality-series modes1 :root (get-lowest-chord-tone modes1) ;:closest '(down) )) (setf test2 (tonality-map path1 (gen-repeat 12 mtv))) (setf mtv2 '((s c4 cs4 d4 ds4 e4 f4 fs4 g4))) (setf test3 (tonality-map (mclist modes1) (gen-repeat 12 mtv2))) (setf test4 (tonality-map path1 (gen-repeat 12 mtv2))) (setf path2 (tonality-series modes1 :root (get-lowest-chord-tone modes1) ;:closest '(down) :map '(step) )) (setf test5 (tonality-map path2 (gen-repeat 12 mtv))) (setf test6 (tonality-map path2 (gen-repeat 12 mtv2))) (setf path3 (tonality-series modes1 :root (get-lowest-chord-tone modes1) ;:closest '(down) :map '(step) :sort t )) (setf test7 (tonality-map path3 (gen-repeat 12 mtv2))) (setf test8 (tonality-map path3 (gen-repeat 12 mtv))) SB. NewTonalitySystemExamples.opmo
  4. short question... is there a function in OM to map an interval-list directly on a TONALITY or a SIEVE? in a way that the intervals are like steps? ..i coded that alreday for myself, but perhaps there is an OM-solution for such things? nonsense-example: (setf intervallist '(1 1 0 -2)) (setf pitches '(c4 e4 g4 b4)) => :start 'c4 => result: '(c4 e4 g4 g4 c4) thanx andré
  5. Hello! Is there a way to do a simple conversion from integer (representing scale degree) to pitch (via a Tonality)? map-to-tonality assumes that the integer input is a chromatic pitch class. Thank you! Elliot
  • Create New...

Important Information

Terms of Use Privacy Policy