Is there a way to display notes as numbers instead of traditional note letters?

Started by WraithGlade, July 20, 2015, 22:29:27

Previous topic - Next topic

WraithGlade

Hi everyone. I recently looked up trackers in more depth today and thought it seemed interesting, especially having the notes explicitly written instead of using a position system or traditional notation.

Anyway, I noticed that the notes in the tracker use traditional note names such as C-5 or F#4 and such. However, to me one of the major reasons why I'm interested is because I want to have the relations between the notes in the octave cycle more directly apparent and uniformly notated. Traditional note naming letters and sharp/flats is not very uniform. It arbitrarily binds the notes to the context of the major scale, which actually often obfuscates note relations rather than making them more apparent.

What I really want is a notation where the notes in an octave are represented strictly as simple numbers, just like the octaves are.

I want a notation like NN-O where NN is two digits for the note in the octave and O is the octave.

There are 12 notes in the octave so I would want NN to range from 00 to 11 (or maybe 01 to 12). I lean towards having the numbers from 00 to 11 because the mathematical properties make more sense and are more like how real number systems work. Starting counting at zero has useful properties and makes the octave and the note count work like a normal number system (e.g. like regular base 10 numbers sort of), where for example every time you add 1 more note increment to 11 then it causes the octave to increment and NN to reset to 00. For example: 11-4 + 3 would be the same as 00-5 + 2 which is the same as 02-5. 11-4 here would mean the 11th offset note in the 4th octave. See how the octave digit is acting like a higher significant digit just like in a regular number system?

Working with numbers like this instead of the traditional letter names makes seeing the interval relations much easier and is far less arbitrary and far more logically consistent.

Does OpenMPT currently have any way to change the representations of notes from the traditional letter note notation to pure numbers?

It would be extremely useful. If it doesn't have it then it should add the feature. The traditional note names are very arbitrary and only actually make it harder to reason about the note relationships. I'm always surprised that no DAWs ever seem to have any decent numeric representations of notes, despite how massively useful it would be.

Saga Musix

When working with the MPTM format you could use a custom tuning for custom note names, but this can slightly change effect interpretation of portamento effects, so it's not always a wise thing to do when one is used to the "normal" behaviour.
Another way would of course be to edit the pattern editor bitmap (described in this thread), but you'll have to repeat that for every new OpenMPT release.

Quite frankly I find numbers just as arbitrary as classic note names, and I'd imagine them to be a lot less readable, so I don't see much motivation to implement this beyond the two hacks that are already there. If you're so surprised that no DAWs have this, then let me tell you that you're the first person to ever bring this issue up here or in any other context I'm aware of.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

WraithGlade

Thank you for the information about the possible workaround or implementation. Perhaps using the custom tuning would be best (of those two options), assuming that it lets me change the not names in an adequate way.

QuoteQuite frankly I find numbers just as arbitrary as classic note names, and I'd imagine them to be a lot less readable, so I don't see much motivation to implement this beyond the two hacks that are already there.

You might perceive it that way since you are probably so heavily used to using the traditional notation, but nonetheless you are wrong. Numbers are objectively less arbitrary than traditional note names. The way that two notes in harmony or in an interval sound together is determined by the difference between the notes. Understanding and working with that difference is much easier when using pure numbers. Traditional note names muck up one's ability to perceive the intervals because they arbitrarily introduce offsets (+/- 1 note) with the sharps/flats which makes determining the interval between notes at a glance much more difficult.

Numbers are uniform whereas traditional note names are not. Numbers can be transposed mentally easier since it is always nothing more than just adding the new offset to them, whereas with traditional note names you have to account for the arbitrary sharps and flats. Traditional note names obscure the number of notes in the octave. Traditional note names work only for standard 12 tone music and cannot be used in the general case for music with a different number of tones per octave (e.g. 5 or 60 or whatever). The way that you work with number based notes is always uniform no matter what number of notes you have in your tuning system. Various convenient mathematical transformations are much easier to define with numbers. Entire concepts such as key signatures become significantly easier to deal with. For example, the circle of fifths can be described with just a single sentence: "Add 7 to the note repeatedly; every time you do so you are moving up the circle of fifths one place". Also, when teaching someone to work with numbers you can just tell them to count up from the note, instead of having to have them memorize the arbitrary traditional names. Numbers also encourage you to not be biased towards using the major scale all the time. The different redundant note names caused by sharps and flats (enharmonics) are eliminated in a number based system and do not exist at all. Having multiple names for the same notes just causes unnecessary cognitive load and confusion.

If you don't see motivation for it then that's your loss. It is a superior way of thinking about notes.

QuoteIf you're so surprised that no DAWs have this, then let me tell you that you're the first person to ever bring this issue up here or in any other context I'm aware of.

Me being surprised has nothing to do with whether or not the idea has appeared before or is popular or not. I am surprised because number based notes are a reasonable and more effective way of thinking, thus it is strange that no DAWs appear to have implemented it. Appeals to tradition and appeals to popularity are logical fallacies and are counterproductive to making progress on how we think about things. Decisions should be made based on first principles and objective reasoning rather than on tradition. Providing an easy option for it would improve OpenMPT.

Also, users don't know what they want until you give it to them. That's a classic principle of business and application design that happens all the time. Furthermore, only a tiny minority of users ever posts feedback to developers. By analogy, consider things like YouTube videos and books. A million people might view a video but only 100 might ever post in the comments. Similarly millions might buy a book, but only a tiny fraction will post reviews. Likewise, only a tiny fraction of users will ever give feedback or make suggestions or inform you in any way of how things could be better, hence each suggestion can easily be indicative of a far larger user base than it appears on the surface. In either case though, innovating and making more powerful system based on logical principles of what works most effectively seems like a good idea.

It would make OpenMPT better. Regardless of whether the idea is currently popular, it is still objectively true. Numbers have better properties in all respects.

manx


As you rightfully noted, numerical note names have a couple of advantages compared to the traditional (western?) note names. Heck, the common thing even falls completely apart when dealing with any other than standard major or minor scales. And when transposing scale, the traditional names really complicate things (compared to e.g. variants of movable-do-solfege-syllables (am I using the correct term here? i'm rather unfamiliar with english terms in this area)). When working with other scales, in particular ones not even based on samitones, the names completely lose their relative meaning.
The traditional names, however, also have advantages: 1. it's by far the most common way to describe western music and thus, for most people, the easiest to work with. 2. for people with absolute hearing, the note names carry a VERY strong relation to the actual sound frequency. Also note that C# and Db are only the same frequency when using equal temperament. They may actually differ with any other temperament, in which case a simple note numbering system then falls apart - completely falls apart in fact.

Trackers historically have been tied very strongly to the standard western equal temperament 12 tone scale and tuning (12TET). This assumption is somewhat deeply embedded in the OpenMPT code base. OpenMPT already supports almost any other possible tuning and scale by using custom tunings (with varying ease of use depending on how much it differs from 12TET). So, when not working with the default 12TET scale, one can already (somewhat) freely assign note names (or numbers for that matter).
However, the pattern display code still assumes a 3 character note name. The drawing code for the standard bitmap font even has the actual default note names hard-wired. Thus, until someone takes the time and completely rewrites that code path in a more flexible way, we are very much limited to that format.
I guess, touching that stuff MAY be most useful when overhauling the whole custom tuning machinery (which is, albeit VERY low priority, already on our todo list).
Please do realize that OpenMPT is developed by only 2 developers right now in our spare time. The code base is really old and requires substential amounts of refactoring maintenance to keep up and working at all. The time that remains when these necessary things are dealt with, is generally spent on features we ourselves consider most useful and want to work on. A more flexible note name display has advantages for sure. It's just that there currently (and in the near foreseeable future) are (for us) more important things to work on.

However, I actually do think we can make the default names configurable at least within some strong limits right now: 1. Limited to 3 characters per note. 2. Not fully flexible when using the standard pattern font. 3). Only plain ASCII characters. That would be a rather simple change I think. I think I'll try that once I find time for it.


Saga Musix

QuoteNumbers are uniform whereas traditional note names are not.
By "arbitrary" I didn't mean that numbers are not logical; of course they are. However, which note should be the first one? Should it be note 0 or 1? Things like that are what I consider to be "just as arbitrary" as traditional notes. Traditional notes start at A and go up to G, that's just as logical, with the nice advantage that you can easily map them to a piano (# or b = black keys).

QuoteAlso, users don't know what they want until you give it to them.
Sure, but I'd guess that most users are already tought the western note names in primary school, though, so most of them will be happy to see something they already know and can relate to.

Anyway, as manx said, there are a lot of things being hardwired. I'm not saying that it doesn't make sense to add this feature, but it's not an easy job to "just add an option". The aforementioned default pattern display fonts are e.g. optimized for space and putting two arbitrary digits next to each other in the note column won't work with these fonts out of the box. It's even problematic with the existing custom tuning functionality. Right now, replacing every occurence of traditional note names without resorting to the custom tuning feature would require the entire application to be recompiled and quite a bit of code would need to be changed. There are, quite honestly, more pressuring issues and feature requests in OpenMPT of which I know more people would benefit from than this one.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Harbinger

Quote from: WraithGlade on July 21, 2015, 09:32:23
You might perceive it that way since you are probably so heavily used to using the traditional notation, but nonetheless you are wrong. Numbers are objectively less arbitrary than traditional note names. The way that two notes in harmony or in an interval sound together is determined by the difference between the notes. Understanding and working with that difference is much easier when using pure numbers. Traditional note names muck up one's ability to perceive the intervals because they arbitrarily introduce offsets (+/- 1 note) with the sharps/flats which makes determining the interval between notes at a glance much more difficult.

You would do well not to describe someone's subjective inclinations as "wrong." Using numbers to do tracking may be less arbitrary but they would be IMHO more difficult, and I could just as easily say YOU are wrong. That would be inappropriate because we're talking about subjective routines. I'm used to using the traditional "sharps and flats" notation and it would be much harder to use numbers because I don't think of notes as numbers, but as relationships between each other. To me 60-63-67 means nothing unless I were a MIDI programmer, but C-Eb-G is how I would compose a C-minor chord. And tracking has always been about composing not programming.

Your reasoning is sound, but your characterization that numbering is the best way to use any tracking software is called "projection" -- because it's best for you, you think it would be best for everyone. THAT is inherently wrong.

With that said, you can still follow Saga's advice to create your own bitmap resource with number systems, but he was clear in the limitations -- you have to re-install with every new version you download, and it may affect portamento glides if you don't set it up right.

But at least you have just enough leeway to get done what you want done.... ;)

Saga Musix

Quote from: Harbinger on July 22, 2015, 17:09:05you have to re-install with every new version you download, and it may affect portamento glides if you don't set it up right.
To be precise, you're mixing up the custom pattern font and custom tunings here. Portamento works different internally for custom tunings, pattern fonts on the other hand do not change the playback behaviour in any way of course.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.