Live data from Hacker News

Show HN: 19 Tone Equal Temperament Piano in Web Audio

academo.org

1–10 of 25 posts

Re: Show HN: 19 Tone Equal Temperament Piano in Web Audio

#3
post #2

Is there something that makes 12 special? I am no expert in music theory, but I can imagine that it could be useful that 12 has many factors: 12 = 2x2x3. Since 19 is prime, would that be a bad choice?

I found these:

https://www.quora.com/Why-are-there-only-12-pitch-notes-C-C-...

https://www.quora.com/How-did-Western-music-settle-on-a-12-t...

Re: Show HN: 19 Tone Equal Temperament Piano in Web Audio

#4
post #2

Is there something that makes 12 special? I am no expert in music theory, but I can imagine that it could be useful that 12 has many factors: 12 = 2x2x3. Since 19 is prime, would that be a bad choice?

Related, why you can't tuna fish, or tune a piano: [Minute Physics] https://www.youtube.com/watch?v=1Hqm0dYKUx4

Re: Show HN: 19 Tone Equal Temperament Piano in Web Audio

#5
post #2

Is there something that makes 12 special? I am no expert in music theory, but I can imagine that it could be useful that 12 has many factors: 12 = 2x2x3. Since 19 is prime, would that be a bad choice?

Two reasons:

1. Harmonic intervals in 12TET are good enough to sound okay with no obvious sour notes.

2. Hand and finger size.

Factors and primes aren't the issue - it's how closely the octave divisions approximate perfect whole-number interval ratios.

12TET hits the sweet spot. The tuning is close enough for practical keyboard and fretted instruments to cover a wide pitch range but still fit human hand and finger sizes. So they're not impossibly difficult to make, tune, and learn, but you can still make complicated music on them.

Finer subdivisions like 19TET - or more - are closer still to the ratios, but you need computers and electronics to make practical instruments. Or highly skilled string players:

https://www.youtube.com/watch?v=MPHLS5mJrJk

Re: Show HN: 19 Tone Equal Temperament Piano in Web Audio

#7
post #2

Is there something that makes 12 special? I am no expert in music theory, but I can imagine that it could be useful that 12 has many factors: 12 = 2x2x3. Since 19 is prime, would that be a bad choice?

With an equal-tempered n-tone scale, two pitches that are x units apart have a frequency ratio of 2^(x/n).

"Nice-sounding" intervals have small integer frequency ratios.

It so happens that 3/2 = 1.5 is very close to 2^(7/12) = 1.498, 4/3 = 1.333 is very close to 2^(5/12) = 1.335, and 5/4 = 1.25 is very close to 2^(4/12) = 1.260. So 12 works very well as the number of pitches to divide an octave into.

The fact that 12 is highly divisible is handy for certain aspects of music composition. For example, if you have a diminished seventh chord, which consists of every third pitch, due to its symmetry you can think of it as being in any of four different keys. So it is easy to use it to pivot from one key to another. But none of that has to do with the reasons that it sounds good.

Re: Show HN: 19 Tone Equal Temperament Piano in Web Audio

#9
post #2

Is there something that makes 12 special? I am no expert in music theory, but I can imagine that it could be useful that 12 has many factors: 12 = 2x2x3. Since 19 is prime, would that be a bad choice?

There are some mathematical reasons.

In particular, the two most consonant (best-sounding) intervals are the octave and the fifth. The frequencies of the two pitches in an octave have a ratio of 2.0, and the frequencies of the two pitches in a pure fifth have a ratio of 1.5.

We would like the pitches we obtain from powers of these two ratios (stacking these intervals on top of each other) to be the same. However, since the integers are a unique factorization domain, they will never be (except for 2^0 = 1 = 1.5^0, of course). [1]

Thus, we pick powers of the two that are 'close enough' and call those the same pitch. The following Python (3) code subtracts the log-base-two of the powers of 1.5 from the integer they round to in order to find the closest ones:

  from math import log
  
  fifth = log(3/2, 2.0)
  
  print(0, 0.0)
  
  minDist = 0.08
  for i in range(1,100):
      pow = i* fifth;
      dist = abs(pow - round(pow)) 
      if dist 
This has output:

  0 0.0
  5 2.924812503605781 0.07518749639421918
  12 7.019550008653875 0.019550008653874684
  41 23.983462529567404 0.01653747043259557
  53 31.003012538221277 0.003012538221277339
From this, you can see that 12 is the closest that the powers of 2.0 and of 1.5 come being equal until 41. This is a primary reason why we use a chromatic scale with 12 notes.

(As an aside, a scale with 5 notes is also common around the world, called the pentatonic scale [2])

[1] For an explanation of this, see http://blogs.scientificamerican.com/roots-of-unity/the-sadde...

[2] https://en.wikipedia.org/wiki/Pentatonic_scale

Post reply on HN