Hello, Juce is excellent so far, wanted to alert you to a dicrepancy in the AudioSynthesiser demo


#1

Hello, this is my first post. I want to start by saying my initial tests playing around with creating projects has been very positive, Juce has a lot of thought behind it. It works very well.

Because this is my first post I don’t know my way around, so please don’t be too harsh if I’m putting this post in the wrong place, it’s the neatest thing to right I can see from where I am.

I wanted to make a quick point: There a programmer error in the audio synthesis demo. The octaves on the piano key legends are wrong. They are all written as an octave lower than they really are. So C4 should read C5. A4 is 440Hz.

Not a bit problem of course but if you’re actually testing pitch accuracy or syncing with other instruments using that app, it’s out and you might spend a moment wondering what piece of equipment is wrong and in which direction.

Thanks.


#2

AFAIK there is no universally recognized MIDI octave naming convention.


#3

See also this old forum thread on the topic.

Short story is that back in the day, Roland and Yamaha disagreed on C3 vs C4 and there’s been no consensus since.


#4

This post was flagged by the community and is temporarily hidden.


#5

The main point to take from that wikipedia entry is:


#6

I disagree.

The main point is standardisation.

The remark it isn’t universally accepted is vacuous: There is absolutely no universally accepted standard for music or instrumentation. So it means little.

Equal temperament isn’t universally accepted. Good luck tuning your instruments to a different system before you start to play.

How do you think concerts tune up?


#7

That’s an outrageous comment. It’s certainly very well accepted in most of the western world.


#8

Here I better stop this now, it would be too easy to wind you up. When I quoted “not universally accepted” I was using the quote to refer to the naming of the octaves, especially for MIDI manufacturer. Not so clear maybe, my bad… let’s leave it at that…


#9

Yes, as is the tuning of middle C.


#10

@Vascillious pro-tip: no one cares what you want to call A440 in your program.

You’ll never convince the JUCE team to change their naming convention either, so just code it how you want it called in your app, and deal with the fallout yourself when your customers say “hey, this C3 is actually C4 on my midi keyboard” and “hey, this C4 is actually C3 on my midi keyboard”.
Pick battles you can actually win.


#11

Thanks for pointing that out. Like others said before, it is easy enough to use a naming, that works for your users expectations.
Even if we agreed, that this naming is against a standard, it would need a strong technical reason to change it now, since all software, that rely on current behaviour would suddenly behave differently and appear broken.
If this was something, that stops you from achieving something reasonable, we would for sure change that while trying to limit the impact to existing software. But since there is an easy workaround, we can’t justify breaking existing projects.
It is way less personal and definitely not to argue that we are right. It is about making JUCE as useful as possible for all users.

Also on a positive note: you can model a Bösendorfer Imperial without needing negative octaves :wink: . ah no, the other way round…

Edit: just adding the reference to the docs, how to change the displayed text: MidiKeyboardComponent::setOctaveForMiddleC()


#12

“It would need a strong technical reason to change it”.

It’s frankly hard to imagine how much of a stronger argument you could possibly expect:

“The current international pitch standard, using A4 as exactly 440 Hz, had been informally adopted by the music industry as far back as 1926, and A440 became the official international pitch standard in 1955”

Concert pitch has A4 at 440Hz.

Tuning A4 to 440 is the ISO-16 internationally recognised pitch standard.

A4 = 440Hz is standard practice. Settled by the international standards organisation. It’s pretty hard to imagine what higher authority you could reasonably hope for.

It’s standard concert pitch.

Pitch reference:


#13

You are just quoting a Wikipedia article where the author has decided to use some octave naming convention.

The actual ISO standard doesn’t give the note a name like that, at least in the short introduction text (I could not read the whole document because that would need to be paid for) :

Specifies the frequency for the note A in the treble stave and shall be 440 Hz.

Maybe you want to buy the standard document and see what it says : https://www.iso.org/standard/3601.html


#14

Most software simply adds an Octave Offset preference which the user can set…

Rail