I've been always interested in music but it was never a primary option as a career. As years passed I continued looking for ways to create music and be creative with it, but at some point is evident the difference in creative freedom that acquired knowledge in music could provide. This was the main motivation to start exploring a set of tools to reduce this knowledge gap so that I can be more creative when making music.

A gap in the market

Music theory is not as complex as most people might think. Understanding scales, progressions and intervals is all what it takes to see how music composition and chord composition is a lot about maths. The issue relies on how much this knowledge becomes muscle memory and there is no shortcuts for that, it's all about hours of practice that amateurs like me with a full-time job cannot afford.

There are multiple solutions out there that try to solve this barrier. Scaler for example is a powerful solution that brings all this music theory and makes it accessible. My main problem with these type of tools is the interactivity. Music creation is about expressiveness, and without that, it limits creativity. Other concepts like Orchid try to make the process simple and intuitive but in the quest to do it they limit the range of possibilities with simpler controls, at a very expensive price.

This lack of a suitable solution for my creative needs outlined the idea for CC1. A very accessible, expressive and versatile tool where I can be able to play any chord progression with my computer keyboard.

The core idea

The idea was simple. The left hand should be able to control the different variations of a chord while the right hand focuses on triggered chord based on a selected scale. As development started and I started playing with some early prototypes more possibilities opened as I added a quick way to change chord modes or the ability to access borrowed chords.

< img >

The key of accessibility in this case is the key assignment positioning. For example, the most common combination is chord types (7ths, 9ths, 13ths) with different voicing options, these are controls meant to be activate, while changes of mood are more optional. The key assignments makes it fluid to use the index and angular fingers to control types and voicing while the thumb controls the mode changes with the spacebar, in the same way the spacebar is meant to work in the same way when writing.

Making it useful

How quickly this UI allows to compose chords is outstanding because it provides a quick access to a large amount of combinations that can be played live. The next step was to be sure this interaction becomes valuable in the context of a music composition workflows. A few key features that were added as development progressed:

  • Different sounds to play with. Piano is standard but sounds like Wurli or Synth are handy to explore different genres compositions
  • Drums to play as background. This provides a sense of timing and context for the performance.
  • Possibility to select a genre. This selection defines the drum type but also it suggests chords to play next based on general patterns.
  • Ability to switch octaves to lower or higher.
  • Display the played notes for better visibility but also record the latest 16 chords played.
  • From the latest chords played, the ability to export these compostions, either as text to paste from the clipboard, or MIDI files to be used in any DAW.
Development process and release