Harmonicon

Mo, 8. November 2021, Ralf Hersel

Jeder weiss, was ein Integrated Development Environment (IDE) und eine Digital Audio Workstation (DAW) ist. Was geschieht, wenn man die beiden Werkzeugtypen kombiniert, zeigt die unter der MIT-Lizenz stehende Anwendung Harmonicon.

Harmonicon ist eine experimentelle DAW für das Komponieren von Musik als Code. Das Werkzeug fokussiert auf die Komposition und nicht auf die Live-Performance und betont die Musiktheorie im Songwriting-Prozess. Die wesentlichen Funktionen der Anwendung sind:

  • Von Menschen lesbare Kompositionssprache auf der Basis von JavaScript
  • Browser-basierte IDE mit Visual Studio Code-Technologie
  • Instrumente, Tracks und Effekte
  • Eingebaute Synthesizer und Instrumentenbibliothek
  • Tastensignaturen und Echtzeit-Tonhöhenverschiebung
  • Unterstützt Web Audio API, Tone.js, Tonal, Monaco und NextJS.

Ein musikalisches 'Hello World' in Harmonicon sieht folgendermassen aus:

// Create a new session named "Hello World"
session('Hello World', ({ session }) => {

  // Import a monophonic synthesizer
  session.use('instrument.mono-synth');

  // Create a track
  session.track('mono-synth', ({ track }) => {

     // At measure 0, play a quarter note at pitch C4
     track.at(0).play(quarter.note('C4'));

  });

  // Send the "synth" instrument to the "synth" track
  session.send.instrument('mono-synth').to.track('mono-synth');

  // Send the "synth" track to the main output
  session.send.track('mono-synth').to.main();

});

Den Code kopiert man in den Editor von Harmonicon.studio und klickt auf 'Play', um ihn abzuspielen. Die Anwendung kann sowohl im Webbrowser, als auch als lokale Anwendung genutzt werden. Eine Erläuterung der weiteren Konzepte findet sich in der Dokumentation des noch experimentellen Projektes.

Quellen:

https://harmonicon.studio/

https://github.com/JamesRyanATX/harmonicon