A composition tool to generate

musical ideas quickly & easily.




SongBlocks is an audio plugin designed to work inside of a DAW environment.

Users can create small compositions & loops inside of the plugin, which can be exported and arranged further inside the DAW.

Creating Chords


The plugin simplifies the process by treating chords as “blocks” that can be arranged via drag-and-drop.

The boxes contain triad-chords for the selected key.

When dragging in a chord, the inversion and position of the chord can be set by holding down the mouse button.

Chord Extensions


Once a chord is placed, it automatically gets selected.

In this state, the system highlights possible chord extensions, which can be added for more color.

Selection States


Hover Select

When hovering over a chord, the length can be changed by dragging the edges of the chord.

Handle Select

When the middle handle is pressed, the chord inversion & position can be set by dragging.

Chord Select

By clicking on a chord, notes can be added & deleted.

Replacing Chords


Chords can be easily replaced by dragging other chords over them.

The new chord automatically takes on the length and position of the old one.

Key Select


The key selection is designed as a coherent system, that affects the whole composition:

1. The available chords in the Chord Area change according to which key is selected.
2. The composition is transposed to fit the selected key.
3. The tonic note of the selected key is shown in the piano roll on the left.



Melody notes can be drawn in by using the mouse and double-clicking inside of a grid field, or by using the pen tool (single click).

The interval of the note in relation to the chord below is shown inside the note.


Fitting Chords


When selecting one or multiple melody notes, the system automatically highlights chords that might fit these notes.

Fitting chords are chords, that don't cause dissonant intervals with the selected melody notes.

Avoid Notes


The system helps users by marking notes that are possibly dissonant:

Out-of-key notes that are not in the selected key are highlighted with a red interval number. 

Avoid Notes, that are in the selected key, but still cause a dissonant interval with the underlying chord are highlighted with a (!). By hovering over the icon, the two notes that cause the dissonance are highlighted.

In the general settings users can select, which intervals the system should count as dissonant.


Advanced Mode


For users who want to access a wider range of chords, there’s the advanced mode:

Here, the user has access to all the triads that are not in the selected key. The type of triad (major, minor, diminished, augmented) can be set by clicking the chord box.

In this mode, chords can be dragged in with extensions already present. These can be set in the Extensions panel on the bottom left.



The sidebar on the left contains full chord progressions, that can be dragged into the composition.

The sidebar on the right contains the visibility settings where the different visual layers can be turned on & off. Additionally, the user can save multiple variations of the composition.

The user can switch between these variations and export them by dragging them into the DAW.




This project was created as my bachelor thesis at the end of my Interaction Design studies.

Project Team:

Janik Freisinger

Paul Schänzlin

Selected Works

SongBlocksProject type


OvertonesProject type

WallyProject type