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.

Featured Replies

Hi,

 

When I run the following code I get a terrible latency between the voices. Do I miss something or is it a bug?

 

Thanks!

 

(setf pattern (gen-repeat 50 '(s e4 fs4 b4 cs5 d5 fs4 e4 cs5 b4 fs4 d5 cs5)))
(setf tempo (mclist (gen-integer 10 70) (gen-repeat 100 1)))

(def-score score1
           (
            :key-signature 'chromatic
            :time-signature '(1 4)                             
            :tempo tempo
            )
  
  (inst1 :omn pattern
         :sound 'gm
         :channel 1
         :program 0
         :pan 127))

(def-score score2
           (
            :key-signature 'chromatic
            :time-signature '(1 4)                             
            :tempo tempo
            )
  
  (inst1 :omn pattern
         :sound 'gm
         :channel 2
         :program 12
         :pan 1))



(progn
  (score-player 'score1)
  (score-player 'score2))

 

Possibly something to do with your midi setup.

The SCORE-PLAYER is no an official OM function, it was written for Andre with all the limitations - pure hack 🙂

 

i am very thankful for the HACK. lisp is not a language for real-time things, but for me it suits the approximate simulation perfectly!! thanx janusz!! 🙂

 

but: you can try out how it is not to evaluate everything at once, step by step, maybe then there will be less LATENCY?

  • Author

Thanks for the super quick answer!

So you don't have latency?

I've tried it both with Vienna Ensemble and GM-MIDI Player- same result

 

@Andre: Can you explain what do you mean by evaluating step by step, please?

Did you tried the example that I posted?

 

 

step by step => every code-line for itself cmd-E!

i have also some LATENCY with conTimbre-player... but that's LISP in realtime

 

 

the score player wasn't even intended to play things in parallel (i made a HACK from a HACK :-)). for precise POLYTEMPO things it is best to work via OSC and an external PLAYER (that's how I do it). I only need it in OPMO for sketching

  • Author

 

That evaluating one after the other def-score did the trick, thank you very much!

I like these Conlon Nancarrow possibilities a lot  🙂

if you are interested, i could show you some SOFTWARE to calculate really special tempo curves, in a very handy way. just write me a PM....

Create an account or sign in to comment


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.