Sunday, October 21, 2018

Pursuing clarity through openness, part 3: related harmonic series and harmonic structures

A single harmonic series offers quite an assortment of intervals, but they won't necessarily be conveniently positioned with respect to each other. For example maybe you want to follow a 5:3 with another 5:3 – there's no way to do that, at least not without interspersing a 6:5 interval.

On the other hand, if you add another harmonic series, aligned so that its 3rd harmonic is at the same pitch as the 5th harmonic from the first series, then you can follow the 5:3 from the first series with another 5:3 using the second series. Moreover, every member of the second series will be 5:3 of the corresponding member of the first series, including the fundamental.

Add a third series in the same relationship to the second as the second is to the first, and not only do you get the opportunity to chain three 5:3 intervals together, and a new set of 5:3 intervals between the members of the second and third series, but you also get a set of 25:9 intervals between the corresponding members of the first and third series, again including between the fundamentals.

I use 'related harmonic series' to mean series that have members with the same pitch at different harmonic numbers, and I use 'harmonic structure' to collectively refer to two or more harmonic series that are related in this sense, either directly or through a chain of such relationships. So far as I am aware, these are my own terms, and I'd welcome a pointer to any standard terminology having the same meaning. I'm not out to stake a claim to the namespace.

It might not be obvious why there's any advantage to treating sets of related harmonic series collectively, as a structure. One reason is that doing so simplifies certain operations, both conceptually and in terms of the code required to perform those operations programmatically. Another reason is that it more closely approximates the notion of a musical scale than does a list of harmonic series and their relationships.

That said, I wouldn't advocate for casting any such structure in stone. What's the point of having composable structures if you can't edit them? In my humble opinion, any software written to enable working with harmonics using such structures should place emphasis on making them easily editable.

It's worth noting that there are other ways of arranging pitches related to each other by integer ratios of frequencies, besides placing harmonic series adjacent to each other, for example the tonality diamond. My original goal was to arrange nodes representing related pitches into an editable tree structure. Unfortunately I never came up with a way of keeping such a tree structure from becoming disproportionate and messy on-screen, and I've generally found harmonic series easier to work with, both in abstract terms and for the purpose of building software around them.

Next I'll address the question of how to deal with a harmonic structure as a single unit.

Part 4: treating harmonic structures as units

Saturday, October 20, 2018

Pursuing clarity through openness, part 2: harmonics, intervals, integer ratios, and powers of primes

At its simplest, a harmonic series is just a sequence of consecutive integers, beginning with one – 1, 2, 3, 4, and so forth. In the context of sound, those integers are multiplication factors, applied to some fundamental frequency. If we use 'x' to represent that fundamental frequency, then its harmonic series is 1x (the fundamental itself), 2x, 3x, 4x, and so forth. These are also called the first harmonic (again, the fundamental itself), the second harmonic, the third harmonic, the fourth harmonic, ..., and are collectively called the members of the harmonic series defined by a particular fundamental. Different fundamentals, different harmonic series. The position of a harmonic in such a series is its harmonic number.

If someone were to ask you how you would determine the difference between two members of a harmonic series, your first instinct might be to subtract the smaller from the larger. Again using 'x' to represent the frequency of the fundamental, you might be tempted to say that the difference between the fifth harmonic (5x) and the third harmonic (3x) is 2x, and while this isn't wrong exactly (the frequency of the interference pattern between them, or 'beat frequency' would in fact be 2x), it's also not the best answer for how these two harmonics sound together, simultaneously or sequentially, as musical notes.

A better answer is that the perceived relationship or 'interval' between these two harmonics is the ratio between their harmonic numbers, in this example 5:3. The interval between any two members of a harmonic series can be expressed in this way, as a ratio of the integers which mark the positions of the specific harmonics in the series, and, in this, all harmonic series are the same, because the interval between a pair of harmonics in one series will sound very much like the interval between the same pair of harmonics in another series with a different fundamental. A 5:3 interval is a 5:3 interval, whether it's 50:30 Hz or 500:300 Hz; in each case the size of the step from one to the other sounds much the same.

I have fallen into the habit of representing these ratios in terms of the powers of prime numbers, for example representing 9:8 as (3^2):(2^3), where '^' is an exponentiation operator. For most purposes this is a matter of hunch on my part. Perhaps others can make an argument for the musical relevance of prime factors; I cannot, except in one particular use, which I'll get to in a later installment.

Next up, how harmonic series can be related and combined into structures.

Part 3: related harmonic series and harmonic structures

Friday, October 19, 2018

Pursuing clarity through openness, part 1: motivation

I expect this will prove to be the first of several, perhaps many installments.

I recently engaged in a 'tweet storm' with the initial intention of sharing an epiphany that allowed me to move forward with this project, or will if and when I have more time to give to it. Over the course of that tweet storm I realized that I'm more than a little confused about what I'm doing here, but also made some progress at addressing that confusion.

My primary purpose here is to achieve greater clarity for myself, but I also intend to lay my thinking open for others, and hope that it may take on a life of its own and no longer depend upon my completing some project.

I'm going to assume that any readers of this blog are at least familiar with the notion of harmonics, and I won't bother arguing their applicability to melody, nor their relative merits as compared with the twelve step equal tempered scale and all of the theoretical epicycles that have grown up around it.

I'll also make no attempt to represent the alternative theory of music called Just Intonation, nor the community of practice that has grown up around it. I am not a musician, but am drawn to making musical tools, and have invested thousands of hours to that end, with more than nothing to show for it.

In the next installment, I'll introduce a few basic concepts. The challenge for me will be to give them names I can live with until someone better informed about musical terminology comes along. The ideas are simple enough, but they do defy succinct description.

Part 2: harmonics, intervals, integer ratios, and powers of primes

Monday, March 26, 2018

name change

When I decided to start a second Twitter account for my music-related programming efforts, I reconsidered naming and decided to use the handle "harmonicLattice" to shift away from a focus on integer ratios and towards the idea of tonal structure based on harmonics. Integer ratios are still very much part of it, just not as blatantly so as they were in RatioKey.

Since then, I have also opened a gitHub account using the same handle. While I have yet to put anything there, my intention is to use this account to post some code as open source. (Details to be forthcoming if and when this actually happens.)

Now I have also changed the name of this blog to "Harmonic Lattice" although the URL remains unchanged, to keep from breaking any links to it which might exist out there in the wild.

That's not to say that this will be the name of any new app (if and when), but it does provide a glimpse at the direction in which I'm working in my efforts to create one.

I have made progress towards this, but a great deal of work remains to be done, and I won't hazard a guess as to when it might be ready for initial submission to the App Store.

I say initial submission, because I fully expect to not gain acceptance on the first try. Standards are higher than they were in 2010, and I've been out of the loop enough that I may have forgotten or be unaware of certain requirements.

Thursday, September 21, 2017

dream => crawl => walk

I am making some progress towards creating a replacement (yet to be named) for RatioKey. Of course, that is no guarantee it will ever be published, but I'm feeling more hopeful in that regard.

I'll post any real milestones here, but if you would like to follow this project in more detail, I've created a Twitter account just for that: @harmonicLattice. That handle contains a hint about what I'm currently working on, but only a hint.

Saturday, September 03, 2016

Version 1.1 has become an embarrassment

Rather than subject myself to the tension of wondering whether Apple would choose to remove RatioKey 1.1 from the App Store, I have chosen to remove it myself. My apologies to the handful of you who might still have found some value in it.

I can't promise that I will ever manage to publish an updated (reconceptualized) version, but it is still my intention to make the attempt, although that project may not bear the same name.