Academy Dashboard Forum Production Production Techniques An error in "The Circle of Fifths!"

  • This topic has 35 replies, 6 voices, and was last updated 5 years ago by face (chris) Janton.
Viewing 12 posts - 1 through 12 (of 36 total)
  • Author
  • #38235

      When you approach the circle of fifths mathematically with a twelve-pointed star, a small error arises. I am still working on the calculations and I also have to write the article, but if I am done, I will post it!

      P.S.: because there is not a right forum category for this, I will post it here.

      Michael B

        They are all 5 semi's apart.
        I'll have to wait for the article.

        FWIW: I see the F at the bottom written as E#.

        Cheers. Michael

        Guido tum Suden

          Hi Ann,

          will this be about the pythagorean comma?



            Have you ever had an idea that you thought was totally new and undiscovered in the history of humanity? Were you also disappointed when you found out that it was not new at all? It happened to me a while ago when I announced this article. It is my nature to keep my word and therefore I want to write this article about the “Pythagorean comma”. Over the past weeks/months, I talked with piano tuners, musicians, composers, even with my old cello teacher about this problem. I asked them two questions:

            1. How can you solve this?
            2. As a musician, how do you deal with this?

            The answer was “You can’t solve this” and “Don't think about it”. Well, I do not know what about you, people, but for me, these answers are not acceptable. Are they?

            Before you read any further, watch this instructional video that demonstrates the Pythagorean comma precisely.

            (I uploaded the video to my google drive. This is the sharinglink)

            Imagine for a moment that we will find a solution. Realize that this will open a completely new world of sound because with solving the Pythagorean comma, you get a slightly different, but certainly a new tone scale that implies a total new harmonic spectrum. You can create new chords that nobody has ever heard before. If you are a composer or an arranger, it is quite impossible that that idea does not excite you.

            I am 100% sure that this problem can be solved because the problem is not the instrument. The problem is in the theory of music. I do have a few brain-spins on how to solve this problem, but I cannot do this alone. I do not know much about absolute hearing, specifically from how many cents someone with an absolute hearing notices that a certain note is to sharp or to flat. What is that range, for example?

            The musical approach:
            Let us say that you start on the lowest note on the piano and you stack one octave on top of that. This means that you double the frequency, which means that the ratio of an octave is "2". There are seven octaves on the piano, so "2" to the power of "7" gives you a multiplication ratio of 128.

            Let us do the same with fifths. We have 12 fifths on the piano. Therefore, we start again on the lowest note and if we stack 12 fifths on top of the lowest piano note, we also reach the same note that when we stack seven octaves. From a musical point of view, the picture is complete and it looks like there is no problem.

            However, if we count in frequencies (the fundamentals of sound and therefore also music), a small error occurs. In order to make a fifth, you have to multiply the frequency of the fundamental tone with a ratio factor of 1,5. So if you do that 12 times, that means that you multiply it by 129,75 and this is “The Pythagorean Comma!" This is mathematical evidence that seven octaves are not the same as twelve fifths!

            Because the musical approach does not allow us to "hack the system", we have to go further with mathematics. It is somewhat difficult to write maths with a computer keyboard, I did it with pencil and paper. Yes, "The Old-School Way", but because I am "Old-School myself", I assume that this is allowed. I scanned my calculations to a .pdf file that is attached to this post (MATH - PC.pdf).

            I understand that we aren't all mathematicians, so if you do not understand a certain reckoning or you cannot read my handwriting, do not hesitate to ask. At the end of the day, if you read this topic until here, I think that you also want to get this problem solved once and for all. Correct?


            Just Lisa

              Hi Ann --
              I'm kind of new and you've hit a nerve ...
              I like math too. I also like it when things are completely logical and precise.
              In architecture school my nickname was "Golden Section Girl" -- but that way lies madness. At some point, I had to learn to fudge within the system because to work outside it costs too much or makes other people crazy. The width of a pencil line can vary and you have to round the numbers in order to communicate them.
              So, don't know because you didn't mention it: Bach? The Well Tempered Clavier? His system of equal temperament is kind of at the heart of Western Tonal Harmony.
              Yes, it's exciting to make the numbers work, but at what cost?

              FWIW, I can never get any of my guitars to feel in tune. Yes, they're set up correctly. And now with more accurate tuners in my DAW and a Polytune from TC Electronics, it's even worse!
              I used to play the violin, sounds like you play/played cello. I think as string players we naturally fudge to feel the vibrations line up -- which we can do easily. Not everyone has that 'luxury' so they become used to having things be a little out of tune all the time.
              Which is the genius of Bach.

              I'm looking forward to hearing what you come up with.
              : )

              Jonathan Marshall

                Hey everyone,

                Just thought I'd chime in from my experience writing a software DX7 and in particular calculating sine wave frequencies from MIDI note on events. Lisa has mentioned J.S. Bach and equal temperament where the scale is divided into 12 notes with equal frequency ratios. This is the basis of all western music and the reason that you can switch from one key to another on a 'modern' (post-Bach) keyboard.

                Each octave the frequency doubles - so an octave higher from A (440Hz) is A (880Hz). The frequency difference between consecutive notes on a well tempered clavier and other modern keyboards is the 12th root of 2. So on an equally tempered scale the perfect 5th interval is actually:

                (12th root of 2) to the power of 7 = 2^(7/12) = 1.4983... which is a little short of 1.5

                It's to the power of 7 because there are 7 notes between the fundamental and the 5th - in the key of C: C=0 C#=1 D=2 D#=3 E=4 F=5 F#=6 G=7. This makes the fifth a little less than perfect. However the circle of fifths does work on a modern keyboard because:

                7 octaves = 2^7 = 128.

                12 fifths = (2^(7/12)) ^ 12 = 2^(7/12*12) = 2^7 = 128.

                The problem with a fretless instrument such as violin is that the musician must pick a pitch and they will naturally play the perfect fifth as 1.5 times - which is of course what it should be.


                face (chris) Janton

                  It is good to see that this exchange is well tempered.

                  I prefer A432 on period instruments doing HIP

                  smile !

                  Just Lisa

                    Chris -- smiling back, with groaning kind of laugh.
                    I'm afraid we might have scared Ann away! Hope not. If she was inspired to create some original music, I really wanted to hear it.

                    I've been using Musescore (can't get Notion (Presonus) to work the same way) like an instrument and the playback is actually pretty decent sounding. I don't keyboard, I guitar, and if one is going to have to reconfigure one's midi input anyway, it's just faster with a point, click or a few key commands. String quartets. And sometimes I am aware the the math is too perfect by the way the notes just don't sound so great together. Or, rather, maybe I just never listened so carefully to individual notes before to notice them being out of tune. (Just a little).

                    Oh, and Chris, did you know that different orchestras around the world still tune at several different standards? In Notion, the New York Philharmonic standard of 442 is used! They don't tell you that anywhere, but if you dig around, you find it and have the ability to change it. Sheesh. Any clue as to why this might be? (The orchestras, not the software.)

                    Jonathan -- I like your perspective. But how do you deal with the math of the run on numbers in your software? (The husband is a programmer, too.) You have to round your decimal places somewhere.

                    I've had a frustrating couple of weeks with the new Studio One 4.0 release. I found a bug, apparently 'random' and inexplicable fader drops when I was trying to automate volume on a bus. It was very difficult to discover that there was a pattern to the problem. I wanted to help track it down because it is (or is related to) a problem that has been around for two years. The bus has a VCA, which means the volume at any given moment will be (result of vca and bus math). But there is a situation in which you end up with repetitive drops, no record in the "history" and no commands to 'undo'!

                    I finally had the brainspark to repeat it a number of times to see if there was a pattern...
                    the VCA was set at -6.7, the bus started at 0
                    as you can see, the math wasn't clean so, just running through an iteration or two wasn't telling me there was a pattern when the bus fader wasn't zero and I don't do math so well in my head, have to write it down.

                    Once I saw it, I did it again with the bus reset to 0, the vca fader set at -1.0 and got:

                    Set it up and repeated it many times. Needless to say, some developers are thrilled, I think. Oh, and yes, it's the same in Studio One 3.5 -- I went back and checked. It doesn't happen when the VCA fader is at 0 to begin with. Hmmm, did I check it on the positive side? I don't remember. Probably should.

                    Programmer husband was too irritable to engage with me about this over the weekend. Do you have any immediate thoughts when you see the pattern?

                    And more generally: do you know anything about the math behind faders in a DAW? Obviously, input by mouse or keyboard is expected. And if I'm scrolling and could stop anywhere, or using my mouse to drag on the volume envelope line in the arranger (which is what I was doing), during playback, that's a lot of input to keep track of. It needs to be stored to a point and then dumped -- which is where I think the problem lies. It seems as though that isn't happening under certain conditions.
                    I understand. There is no way developers can predict every single possible combination of actions a user will try before a release. But also, if I (average user) can't reliably automate a lead vocal in a mix set up in a very well documented and normal routing that many other people use, and more painfully, when it affects rendering and mixdowns (the related problem other people have had!) That's very bad.

                    I should probably stop typing now.
                    You can "TLDR" -- I'll understand that too.
                    : )

                    • This reply was modified 5 years ago by Just Lisa.
                    face (chris) Janton

                      I think you meant "circle back". Didn't I hear somewhere that Stevie Wonder had all his synths and such tuned to A442?

                      I *am* a programmer - so it looks like some weird rounding/math error 0 minus 6.7 minus 6.7, etc. Of course if you use integer math, not floating point, the results are exact, but! if I use floating point math and multiply 6.7 by some number there are points where the answer is not what we expect. On some systems it's as easy as 2.2 added 10 times (floating point) to NOT get you to 22.

                      Is it possible to automate the Studio One "Mixtool" gain and have it behave with a proper change? Maybe automate the VCA?

                      Personally I get grumpy when I try typing values into plugins (Logic usually) only to have the plugin decide to approximate what I meant.

                      And to top it all off - I tuned my tuba to a Stroboscope. Every lesson I had was done as a duet, both of us playing exactly the same music. We had very "nimble" tuning slides that we could use to get those pesky notes in tune (King 3-valve tubas). It was always about hearing the notes and hearing them in context with the other notes.

                      For me the circle is nicely described by Maestro Bernstein -

                      Maybe we could get Jacob Collier to chime in with something like the "Circle of Eleventh's" ?

                      MY definitions of "how classical music is to be performed" isn't HIP, it's 1960's New York, Boston, and Philadelphia.

                      enough already.

                      Just Lisa

                        Ooh, thank you, Chris! Automating a mixtool might be just the thing to work around for now! It is important to not automate the VCA in the current situation -- that's a huge piece of the bug problem.

                        Floating point, exactly. -2.9 when I expect -3.0? Not cool. I generally try not to look at the numbers unless I need a reality check for very small fader moves. Another reason why the bug was so maddening, I was hearing problems, but not seeing them.
                        Bernstein -- classic -- I wouldn't be here without it.
                        Collier? Too random even for me.
                        And Stevie Wonder is (undisclosed) before my time. I did grow up next door to Detroit so I can sing most of it, just never tried to analyze it.
                        Played 'concert mistress' a few times back in high school.
                        In the end, we must admit that we are all at the mercy of the oboe player.
                        : )

                        Jonathan Marshall

                          Hi Lisa and Chris,

                          The number sequence looks like it is subtracting something slightly less than 0.98 but rounding to 1 decimal place each time:

                          -1.0 = -0.98 rounded down
                          -2.0 = -1.96 rounded down
                          -2.9 = -2.94 rounded up
                          -3.9 = -3.92 rounded up
                          -4.9 = -4.90
                          -5.9 = -5.88 rounded down
                          -6.8 = -6.86 ??? oops
                          -7.8 = -7.84 rounded up
                          -8.8 = -8.82 rounded up
                          -9.8 = -9.80
                          -10.7 = -10.78 oops again

                          With tuning notes in the DX7 synth code I wrote - I pre-calculated a floating point (double) table of note frequencies for each MIDI note number (MIDI note 69 = Concert A). Excuse the C++ code:

                          void masterTune (double concert_A)
                          if (concert_A > 0.0)
                          for (int note = 0; note < 128; note ++)
                          noteToFrequency_ [note] = concert_A * pow (2.0, (float (note - 69) / 12.0));

                          Obviously there are going to be rounding errors in these calculations but they shouldn't accumulate because the pitch of each note is calculated individually and not based on the pitch of a lower note. This is just really the start of the calculations for my program - each voice has six oscillators at different ratios / detunes from the fundamental which is the frequency from the table adjusted by the pitch envelope and pitch bend + modulation controls. Then it has to calculate the output waveform ...

                          I don't know for sure but I believe that most (if not all) DAWs use floating point instead of integer for summing. It would make sense - for the DX7 I initially coded in floating point and it sounded great until I played more than one note! Recoding the waveform rendering code in integer with a few other speed-up tricks and the it can play 32 voices with nary a glitch.


                          Just Lisa

                            The universe is a funny place...
                            C++ was just becoming all the rage right before the husband and I got married. He tried to teach me. I could not make the shift to thinking about 'objects.' Strangely, it all makes sense now. In a global way.
                            "you could have been a programmer" he said to me this morning.
                            the other day he laughed as he told me I'd be taking calc 3 soon.
                            I hate math.
                            but you have confirmed what I suspected as being plausible for starters. Thanks.
                            It must be really cool to be able to use your own tool to create music. What inspired you?

                            thinking about DAW operation and how many things could go wrong.
                            at any point in time, user clicks on mouse, a bunch of data needs to be captured and stored depending on where, and needs to be manipulated while the user drags the mouse (or not). audio and video need to respond if needed to input. (Husband described this a bunch of processes happening in parallel.)
                            user lets go of mouse and everything reverts to a steady state (temporary) in which some of data needs to be stored and some needs to be dumped. and if all of those processes have floating point numbers, I can see rounding might become an issue when the display in my fader only has one decimal place. most of the time, we'd never really know or care.
                            and it's not unreasonable to think that in the case of my vca, in the one rare condition where I click on my mouse and then let go without doing anything, something should happen in the system but it isn't happening. (In this case, DON'T change that number, OR, if you change that number, you need to also add the change to the history so that user can UNDO)

                            I made a test file and a list of steps to recreate the problem as short as I could.
                            That's not easy -- it's hard to focus on one little detail.
                            I thought I might call it Harvey instead of a bug. Or Snuffy.
                            I feel kind of responsible to keep at it because until someone else sees it, no one can fix it.
                            ; )

                          Viewing 12 posts - 1 through 12 (of 36 total)
                          • You must be logged in to reply to this topic.