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.

Triad inversion to root position intervals

Featured Replies

I would like to be able to convert a major or minor triad in any inversion and any octave position of it's notes to the intervals of its root position. Can't use pitch classes for this since major and minor triads are concidered the same pitch class. Can't find the right approach.

 

For example:

'(e3 g4 c5) -> '(4 3)

'(eb3 g4 c5) -> '(3 4)

'(g1 e7 c8) -> '(4 3)

(g1 eb7 c9) -> '(3 4)

 

The Tonnetz functions are almost working but this is the missing link to get it working.

 

Many thanks in advance.

 

Wim Dijkgraaf

 

should work...

 

(defun get-root-intervals (pitches)
  (integer-to-interval 
   (sort-asc (pitch-to-integer (ambitus-octaves 'c4 1 pitches)))))

(get-root-intervals '(g1 c9 e6))
(get-root-intervals '(f3 d4 a4))

 

interested to see your work :-)

greetings

andré

  • Author

Hi AM,

 

I'll share the code this weekend. Is written in a horrible way ... I'm really a beginner with Lisp and getting the concept to work is currently more important then writing the best Lisp code possible :-)

 

But hope that sharing will decrease the learning curve a bit.

 

Big hug

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.