Harmonync and Harmonicarium were born as a study and research tools for musicians and overtone singers. But as well as artistic purposes, they may also be useful for scientific purposes.

A Dynamic Harmonic Calculator is a platform that produces a fundamental-variable, user-controlled, Harmonic Series-based tone-scale. The platform allows the user to play the tones of the Harmonic Series of whatever fundamental tone or pitch. It should be able to re-tune MIDI instruments and, eventually, Controlled Voltage devices.

Hereinafter, “Dynamic Harmonics Calculator” will be abbreviated DHC.

In other words, a DHC is an algorithm that allows the user, or the musician, to play the tones of a Harmonic Series and to change its fundamental tone in real-time; just like the overtone singers do with the so-called “polyphonic overtone singing” technique.

The idea is to play a fundamental-variable Harmonic Series on electronic and electro-acoustical instruments, retuned via MIDI and in real-time.

So, I started the Harmonync and Harmonicarium Projects to implement a DHC.

The concept of the Dynamic Harmonics Calculator is a Public Domain idea.

This program is free software and it is distributed under the Affero General Public License v.3 (or AGPLv3).

At a glance

Here is a brief explanation of the functioning of the Harmonicarium and, in general, of a DHC.

You can set a global root frequency, called “Fundamental Mother“. From this root you can derive and set a palette of intervals, called “Fundamental Tones“. From these Fundamental Tones you can derive a set of “Harmonic Tones“. As soon as you press a key assigned to a Fundamental Tone, the Harmonic Tones are instantly recomputed, and you can play the harmonics of the last pressed Fundamental Tone.

We may represent the functioning of the Harmonicarium, with the default settings, in this way:

Project notes

Harmonicarium is a web-app. It is developed in HTML5 and vanilla JavaScript, using some ES6 new features.

The program is currently usable as a reference tool for overtone singers/instrumentalist and composers.

I know that a browser-based web-app is not very reliable in terms of hi-end audio production/processing, but the current implementation is meant to give everyone the chance to use the program with ease.

I chose to not use any external JavaScript library at the moment and keep vanilla the code because I prefer to avoid relying on third-party frameworks if not strictly necessary.

The only two external tools, the on-screen keyboard and the VU meter, are modular and replaceable if needed in the future.

When this app will be more complete and stable, we can think the re-implementation of a DHC in other programming languages that are better suited to the creation of embedded systems with higher efficiency, accuracy, and stability.