Open the web-app and play!
– currently you need Google Chrome (or Chromium);
– an input MIDI keyboard is highly recommended (even just a master-keyboard).

What is this?

The Harmonicarium is a platform that allow the user/musician to play the Harmonic Series and change its fundamental tone in real-time. Just like the overtone singers do with the 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.


It’s based on the Pure Data prototype patch “Harmonync“, developed between 2013 and 2016.

To better understand, you can read the project overview on the home site.

Harmonicarium’s source code repository is available on GitHub.


  • Musical performances and playing music.
  • Music composition for…
    • overtone singers and choirs;
    • “overtone instruments” (i.e. natural brasses/horns – or the sax altissimo technique; the Đàn bầu that use the string flageolets phenomenon);
    • microtonal musicians.
  • Polyrhythm composition and research.
  • Research about the musical theory.
  • Musicotherapy and sound therapy.
  • Creative additive sound synthesis.
  • Scientific probes; realtime tone/signal generation for…

System requirements

Harmonicarium is written in JavaScript (used ES6 features) and uses the Web MIDI and Web AUDIO API.
Currently it has been tested on Google Chrome v61+ under macOS (v10.11+), Windows (v10) and Android (v5+) but it could run on other browsers supporting the Web MIDI and AUDIO API.

At the moment you need Google Chrome or Chromium. The software has been developed on a high performance workstation environment and currently no optimization has been made in order to minimize the computational load.

Partially untested on mobile devices. On embedded Android devices I have experienced slow data processing (delay in output audio response). This means that on low performance system you could may experience slowdowns. The Qwerty Hancock keyboard seems to support multitouch events.

Quick Start

This program is a web-app. This means that it uses the HTML5 technology and you need a browser to use it. As I said at this moment you need Chrome.

  1. If you don’t have Google Chrome on your system, download here and install it.
  2. Run the app’s URL in the browser. You can:


  • On Android/iOS mobile devices the “local version” of the app could not work “directly”.
  • To use Harmonicarium locally with Android, there is a little workaround. Android does not allow you to open html files with Chrome, so you have to browse through files using Chrome in order to reach the index.html file. Unzip the .zip in the internal memory (on some phone does not work if it is on the SD) and write file:///sdcard in the Chrome’s address bar. Now go to look for the app’s folder by navigating through the files and start index.html directly from Chrome.
  • Of course, if you run the app locally, do not rename or move any other file inside the main folder. You can rename and move only the main folder.

How to use it?

Visit for the Tutorials. There is no comprehensive guide at this moment, it is currently being drafted. A video-guide and a step-by-step tutorial will be released as soon as possible. For any questions, do not hesitate to contact Walter Mantovani at[at]gmail[dot]com.

Now (January 3, 2018) the site has a basic documentation. You can also visit the old project site:

A first public document about the DHC

The document “A first look at THE HARMONYNC: A Dynamic Harmonics Calculator – Draft of Specifications and User Guide” is available here and has the following DOI: 10.978.88940077/01

Contribute… or fork!

Currently there are two main issues:

  1. The current UI sucks. Help is needed to create an intuitive, responsive and touch-events-compliant UI.
  2. A DHC should be modular (imagine a chain of DHCs… –_–). So it is necessary to reduce the global objects/functions and put some order. Move the functions into the respective methods of few main objects. In this way the DHC engine could become a library.

Having done these things, there are other two main milestones to reach:

  1. Add some tools for the visualization of sound: oscilloscope, lissajous curve, spectrum, spectrogram and a “tonal spiral”.
  2. Implement polyrhythms generation (nothing but harmonics in the infrasound domain).

If you have any suggestions, you can write directly to the email in the license note or use the Issues” section of the GitHub repository. And if you are a coder, ever help is welcome!

See also the contact page on the project site.


Harmonicarium – a Dynamic Harmonics Calculator
Copyright (C) 2017-2018 by Walter Mantovani

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see [at] gmail [dot] com.

This content has been updated on January 31, 2018 at 5:48 am