Color Horizons – Public Launch


From the General section of the About page:

Color Horizons is a microtonal-capable scale generator and synthesizer.

It is designed specifically to enable the user to instantly calculate how the notes of all modes of any scale that it can generate compare against 12 tone equal temperament, the harmonic series, and more.

The user can immediately play these scales in the browser using the QWERTY keyboard or their device’s touchscreen and then can export those scales as .scl files that can be used to retune other synthesizers.

From the Mission / Intentions section of the About page:

Color Horizons is developed by Jon Lervold.

I sincerely believe that microtonality is not just a musical niche for iconoclasts, but that in time it will someday become the next frontier of popular music.

There is an incredible wealth of musical expression that is inaccessible utilizing only 12 Tone Equal Temperament (12TET). Technology has reached a point where any musical tuning system imaginable can be tested instantly. The problem now is not necessarily the construction of microtonal-capable instruments, but the lack of proliferation of this knowledge. Whatever the reasons may be, at the moment this field remains esoteric. Many newcomers find it difficult to even know where to begin.

My goal with this application is to become an active participant in spreading knowledge of these fruitful tonal possibilities to other musicians. Color Horizons is a tool for helping explore musical realms near and far from 12TET. What tonal colors are available off in the distance? Let’s find out.

It is my deep wish that this tool can help inspire and facilitate musical creation!

In October 2021, I made the decision to change my career path with the goal of becoming a software engineer. I spent the first few months learning Python, as I had heard that it is a great beginner language. I built a number of neat projects using Python and PySimpleGUI (I plan on refactoring and posting those projects here and on my GitHub before long). In late December I asked my neighbor Jalil, who has been a JavaScript developer for many years, what tips he might have about breaking into the industry. Part of the conversation led to him showing me his favorite tool, React, which I was immediately intrigued by. It can create far more modern and beautiful user interfaces than PySimpleGUI or even Tkinter, of which PySimpleGUI a simplified version. It also allows much easier access to the apps you create, since they can be run on anything with a web browser instead of requiring a compiled executable file or the original source code and dependencies.

I spent a little time figuring out pure JavaScript. I was surprised and pleased by how much of what I had learned with Python was transferable to JavaScript, despite the syntax differences. I then began working on figuring out React. It wasn’t long before I realized how perfect React would be for bringing a vision I had had for years to life —  a microtonal scale generator and synthesizer that allows instant modal transformations and instant comparison to the harmonic series or 12 tone equal temperament.

I have spent the last 3 months working on learning React by bringing Color Horizons into reality. It has been an awesome learning experience to have the end goal in mind, break down the necessary elements, and systematically approach understanding and building each component until the finished product came together. There were many puzzles to solve along the way, and each one felt very rewarding to research, contemplate, and conquer.

Microtonal music is certainly currently a niche field, so Color Horizons is intended to be an educational resource as well. If you click the “More Info” button on the top right, and then click “Key Concepts”, there is a writeup that discusses everything necessary to understand what is going on with the website. Additionally, each scale generation method has an “info” button next to it that will show how that specific tool operates.

Color Horizons is a project that I will continue to actively develop as I learn more about microtonal music and tuning theory. Plans for later versions include non-octave scale generation methods and graphical representations of each scale and its modes.

I have a number of other tool ideas that I intend to build as my developer skills progress, and I am excited to eventually make the transition into doing development work in a professional capacity.