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.

Controlling Counterpoint Output

Featured Replies

Hi everyone,

Today I've been learning about the Counterpoint function in v2, I decided to start simple:

(setf p01 '((-e e4 stacc g4 stacc b4 stacc s e4 fs4 leg e g4 leg fs4 b3 leg)))
(setf p02 '(((leg -e b5 b5 a5 a5 eb5 q eb5 leg))))

(setf voices 
      (counterpoint (list p01 p02) '(
        ((1 -) :methods (- -) :polyphony (7 o))
        ((2 1) :methods (t-12 -) :polyphony (7 o))
        ((2 1) :methods (t-5 r) :polyphony (7  ?))
)))

(ps 'gm
    :fl (list (assemble-voices 1 voices))
    :cl (list (assemble-voices 2 voices))
    :tempo '(80)    
    :time-signature '(4 4)
    :start 1)

In this example I would really like to change the "as4" in bar 3 but I haven't been able to figure out how to do so.

I know that with the Unfold function I can process specific events, like so:

;;Transpose second bar and 3th and 7th note in bar 4
(unfold 'om '( (t12 2 ) (t-7 4 (3 7)) ) mat)

However, that doesn't seem to work within the :methods for the counterpoint function.
This then brought my attention to the build-in polyphony function, but so far it's taking a lot of time to understand how to use this function.

Thanks in advance for the help!

- Jor

Here i'm applying in bar 3 soprano part the method t-3 to event 6 and event 7:

 

(setf p01 '((-e e4 stacc g4 stacc b4 stacc s e4 fs4 leg e g4 leg fs4 b3 leg)))
(setf p02 '(((leg -e b5 b5 a5 a5 eb5 q eb5 leg))))

(setf voices 
      (counterpoint (list p01 p02) '(
        ((1 -) :methods (- -) :polyphony (7 o))
        ((2 1) :methods (t-12 -) :polyphony (7 o))
        ((2 1) :methods (((t-3 1 (6 7)) t-5) r) :polyphony (7  ?))
)))

(ps 'gm
    :fl (list (assemble-voices 1 voices))
    :cl (list (assemble-voices 2 voices))
    :tempo '(80)    
    :time-signature '(4 4)
    :start 1)

SB.

  • Author

Thanks Stephane, I see what I was doing wrong now.
I was specifying the bar number in the :method, which of course isn't necessary for the Counterpoint function.

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.