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.

fit section lengths

Featured Replies

Hi all,

I created the following material (preview with cmd-2) and would like to extend the longest voice to fit a complete measure (e.g. 4/4) by adding rests and adjust all the other to the same length by adding rests as well.
Any ideas how to achieve this?

(setf beethoven-ode
'(q e4 e4 f4 g4 g4 f4 e4 d4 c4 c4 d4 e4 q. e4 e d4 h d4))

(setf trans       
      (loop for j in (gen-transition 0 0.1 8 1)
            collect (quantum ode-mat :fraction j :quantize '(1 2 4 5))))

Thanks for your help.

Achim

  • Author

fit-to-span is working.

(setf beethoven-ode
'(q e4 e4 f4 g4 g4 f4 e4 d4 c4 c4 d4 e4 q. e4 e d4 h d4))

(setf trans       
      (loop for j in (gen-transition 0 0.1 8 1)
            collect (quantum ode-mat :fraction j :seed 123))) 

(setf trans-fit
      (loop with span-val = (max-of-seq (get-span trans))
            for i in trans
            collect (quantize 
                     (fit-to-span span-val i)
                     '(1 2 3 4 5))))

;; (get-span trans-fit) => (5 5 5 5 5 5 5 5)


Unfortunately get-max-span works only on lists as arguments.
Therefore I have to use

(max-of-seq (get-span trans))

... and it needs to be quantized at the end ...
Thanks for the hint.

14 hours ago, born said:

Unfortunately get-max-span works only on lists as arguments.

Forntunaly works this way :-)

you are looking for:

(find-max (get-span trans-fit))

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

Important Information

Terms of Use Privacy Policy

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.