Keyboreal is a piano-like sequencer and instrument that allows you to make music with your computer keyboard. The name comes from the Aurora Borealis, which the visuals roughly imitate.

What’s a sequencer?

An instrument for making music in the future. This one also allows you to play in the present. See Wikipedia for more information.


Mac OS X App (tested on macOS Sierra):

See Build and Install section below to build from source

Design principles

My motivation with this project was to roughly take the sequencer that's ubiquitous in digital audio software like Garageband and transform it for three- dimensional space, where notes stream past in patterns resembling the Aurora Borealis. In the process, I made a virtual piano that's actually quite enjoyable to learn to play. (Unlike the virtual keyboard in most audio software, this one goes to an octave-and-a-fifth).

I tried to emphasize the lack of formal timing in this project. While Keyboreal can function as a step-sequencer, the time component is an afterthought, a fourth dimension. The user can play the piano for fun, watching the notes fly into the background, and then impose a subsection as a loop afterwards by setting loop markers. Once a loop is established, the user can set the number of gridlines between the markers and quantize the result so each note onset coincides with a gridline.

Another aspect of the sequencer is the focus on being expressive and allowing the user to explore without that seeming dread of getting it right while recording. While the notes eventually fly off screen, seemingly out of mind, they are never lost. The entire history of the piece can be recalled by scrolling. If the user tries to play the piano while it is paused, the notes will stack up right on top of one another in an unappealing fashion. The goal here was not to allow spontaneous musical moments to escape recording.

Build and install

Prerequisites: You need to Unity to run and build Keyboreal.

Download the following zip file:

Open the expanded project in Unity and press run. This project relies on the experimental plugin Chunity and has only been verified to work on macOS Sierra with Unity free version 2017.2.0f3 Personal.


Piano controls

The piano is played with the top two alpha rows of the keyboard, stretching all the way to the "Enter" key on the right.

w e t y u o p ]
a s d f g h j k l ; '

This allows the user to play from a C to a G an octave-and-a-fifth above.

click Clicking on a piano key will also cause that note to play

Playback controls

Without any special controls, the user can play the piano as an instrument. Additional controls allow the user to manipulate time, notes, and set up a region as a repeatable loop.

space Starts / pauses playback
scrollwheel Moves the playback position
1/2 Sets the first / second loop boundaries

It does not matter which loop region you set down first. Once both loop regions are set, a grid will be displayed between the two loop boundaries, and playback will be repeated within the loop region.

0 Clears the loop boundaries

Instrument controls

/ Decreases / increases the instrument by an octave
z Switch to a sine wave oscillator
x Switch to a square wave oscillator
c Switch to a triangle wave oscillator
v Switch to a saw wave oscillator (default)

Editing controls

/ Multiply (↑) or divide (↓) the current number of gridlines by a factor of 2
Q Quantize start onsets of notes within the loop region to the grid lines
click Selects the specified note (additive), or clears the selection if nothing is click
drag Moves the specified note in time
backspace Clears the notes currently selected
Cmd (⌘) / CtrlA Select all the notes

Made by Dylan Freedman