Programmiersprache fĂĽr Audioanwendungen: SOUL erreicht Version 1.0
SOUL ist eine domänenspezifische, eingebettete Sprache, mit der Entwickler Echtzeit-Code in einer Audio-App oder einem Plug-in schreiben können.
Die C++-Entwickler Julian Storer und Cesare Ferrari stecken hinter der Programmiersprache fĂĽr Audioanwendungen, die auch als API dienen soll. Bereits seit 2016 arbeiten sie an diesem Projekt, das in Zusammenarbeit mit ROLI, einem Londoner Unternehmen fĂĽr Musikinstrumente, entwickelt wird. Der Name SOUL steht fĂĽr SOUnd Language. Nun liegt mit dem 1.0-Release eine erste stabile Version vor.
SOUL soll die Art und Weise optimieren, um hochperformanten und latenzarmen Audiocode schreiben und ausführen zu können. Die Programmiersprache setzt sich aus zwei Elementen zusammen: einer Sprache und einer Laufzeit. Die domänenspezifische Sprache (DSL) dient dem Schreiben von offenbar echtzeitfähigem Code zur digitalen Signalverarbeitung (Digital Signal Processing). Die SOUL-Laufzeitumgebung bietet eine Sammlung von Werkzeugen und Technologien, um SOUL-Code auf heterogenen CPUs und DSPs auszuführen, lokal wie auch dezentral. Als API soll sich in SOUL geschriebener Code somit auf alle möglichen Plattformen portieren lassen, Hardware inklusive.
Audiocodierung erleichtern
Die Programmiersprache soll Entwicklerinnen und Entwicklern die Audiocodierung erleichtern. Als Standardweg zum Schreiben von Audiocode wird zumeist C/C++ genutzt, was für die große Mehrheit der Entwickler laut den SOUL-Entwicklern eine große Hürde darstellt. C/C++ biete viele Fallstricke und sei gerade für Anfänger nicht leicht zu erlernen.
Darüber hinaus seien viele Audioentwickler vermehrt an DSP-Mathematik und -Algorithmen interessiert als daran, ihre C++-Kenntnisse zu erweitern. Daher sei es keine Überraschung, dass die Audioindustrie mit fehlerhafter Software überschwemmt sei – so heißt es in den FAQ zu SOUL. Probleme wie diese möchten die Macher hinter SOUL angehen. Die Programmiersprache für Audioanwendungen soll dabei keine bestehenden Sprachen ersetzen. Interessierte erhalten nähere Informationen zu SOUL beispielsweise über GitHub oder die offizielle Webseite des Projekts.
(mdo)