Skip 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.

length notation

Featured Replies

Does anybody has an idea how I can achieve a readable (reasonable) output in which the lengths are quantized to quarters of a 4/4 measure. At the moment I get also 10-tuplets over 1/2 and even a 15-tuplet over 3/4.

Thanks for help, Achim

(setf lengths
      (flatten
       (loop with seed = (init-seed 123)
             ;; random number of quarters
             with quarterlist = (rnd-sum-to-size
                                 96 28
                                 '(2 3 4 5 6 7 8))
             ;; tuplet denominator for 1/4
             with division = 5
             ;; tuplet denominator per 4/4 measure
             with tup = (* division 4)
             for quarters in quarterlist
             ;; random number (numerator for rest)
             for rand = (rndn 1 1 (1- division))
             ;; rest (part of a tuplet)
             for rest = (/ rand tup)
             ;; overall duration - rest
             for dur = (- (/ (* division quarters) tup) rest)
             collect (quantize (list (* -1 rest) dur)
                               '(1 2 4 5) :type :ratio))))
(progn
  (init-seed 123)
  (setf quarterlist
        (rnd-sum-to-size 96 28 '(2 3 4 5 6 7 8)))
  (setf division 5)
  (setf tup (* division 4))
  (setf quarters quarterlist)
  (setf lengths (gen-loop
                 28
                 (progn
                   (setf rand (rndn 1 1 (1- division)))
                   (setf rest (/ rand tup))
                   (setf qs (car (setf quarters (gen-rotate 1 quarters))))
                   (setf dur (- (/ (* division qs) tup) rest))
                   (list (* -1 rest) dur))))

  (quantize
   (omn-to-time-signature
    (make-omn :length lengths
              :pitch '(c4))
    '(4 4))
   '(1 2 4 5)))

Create an account or sign in to comment


Copyright © 2014-2026 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

Account

Navigation

Search

Search

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.