Jak napisać muzykę, używając OOP

Rozmawiamy o historii narzędzia programowego OpenMusic (OM), omawiamy cechy jego budowy, opowiadamy o pierwszych użytkownikach. Oprócz tego przedstawiamy analogi.

Jak napisać muzykę, używając OOP
Zdjęcie James Baldwin / Unsplash

Czym jest OpenMusic

To jest obiektowo-orientowane wizualne środowisko programowania do syntezy dźwięku cyfrowego. Narzędzie opiera się na dialekcie języka LISP — Common Lisp. Warto zauważyć, że OpenMusic można wykorzystać jako uniwersalny graficzny interfejs dla tego języka programowania.

Narzędzie zostało opracowane w latach 90. przez inżynierów z francuskiego Instytutu Badań i Koordynacji Akustyki i Muzyki (IRCAM). Łącznie zaprezentowano siedem wersji OpenMusic — ostatnią wydano w 2013 roku. Wówczas inżynier z IRCAM Jean Bresson (Jean Bresson) przepisał narzędzie od podstaw, opierając się na oryginalnym kodzie szóstej wersji (OM6). Dziś OM7 jest dystrybuowane na licencji GPLv3 — jego źródła można znaleźć na GitHubie.

Jak to działa

Programy w OpenMusic tworzone są poprzez manipulowanie obiektami graficznymi zamiast pisania kodu. W rezultacie powstaje coś w rodzaju schematu blokowego, który nazywa się "patch"). Podobnie jak w modułowych syntezatorach, w których do łączeń używane były kable patchowe.

Oto przykład programu OpenMusic, zaczerpnięty z repozytorium na GitHubie:

Jak napisać muzykę, używając OOP

W OpenMusic znajdują się obiekty dwóch typów: podstawowe i partyturowe (Score Object). Pierwsze stanowią różne operacje matematyczne do pracy z macierzami, kolumnami i formami tekstowymi.

Obiekty partyturowe są niezbędne do pracy z dźwiękiem. Można je również podzielić na dwie grupy:

Obiekty partyturowe są kontrolowane za pomocą funkcji partyturowych, które na przykład łączą kilka komponentów w jeden w celu stworzenia dźwięku polifonicznego. Dodatkowe funkcje można znaleźć w bibliotekach dołączanych — pełna ich lista jest dostępna na oficjalnej stronie.

Przykład melodii wygenerowanej przez OpenMusic można posłuchać w tym wideo:

Odtwarzaj wideo

Aby zapoznać się z narzędziem i jego możliwościami, zalecamy zapoznanie się z dokumentacją. Podręcznik dla OM7 jest nadal w opracowaniu. Ale można zobaczyć podręcznik dla OM6 — trzeba przejść pod ten link i w oknie po lewej rozwinąć punkt Podręcznik użytkownika.

Kto korzysta

Zgodnie z zamysłem twórców, OpenMusic można wykorzystać do tworzenia i edytowania ścieżek audio, generowania modeli matematycznych utworów oraz analizy nagranych fragmentów muzycznych. Inżynierowie z ITCAM zastosowali to narzędzie w kilku badaniach naukowych. Na przykład, do utworzenia systemu sztucznej inteligencji, który rozpoznaje muzyczne gesty w nagraniach audio.

Z OpenMusic korzystają również profesjonaliści — używają tego narzędzia do badania spektrów harmonicznych. Przykładem może być szwajcarski kompozytor Mikaël Jarrel, zdobywca nagrody Beethovena. Jego prace w wykonaniu Hongkońskiej Orkiestry Symfonicznej można posłuchać tutaj.

Warto również wspomnieć o Tristanie Muray.Jest jednym z największych kompozytorów, pracujących w dziedzinie muzyki spektralnej.Na przykład, na YouTube znajdują się jego prace Gondwana i Le partage des eaux, stworzone przy użyciu OpenMusic.

Odtwarzaj wideo

Angielski kompozytor i pedagog Brian Ferneyhough używał OpenMusic do pracy z rytmem. Dziś jego muzyka znajduje się w repertuarze największych współczesnych zespołów i wykonawców — Kwartetu Arditti i Pierre-Yves Artaud..

Odpowiedniki

Istnieje kilka systemów podobnych do OpenMusic. Najbardziej znanym z nich będzie prawdopodobnie komercyjny instrument Max/MSP.Został on opracowany przez Millera Puckette'a pod koniec lat 80., kiedy pracował w IRCAM. System pozwala na syntezę dźwięku cyfrowego i wideo w czasie rzeczywistym.

Na poniższym filmie przedstawiona jest instalacja na jednym z budynków w włoskim mieście Cagliari. Kolory ekranów zmieniają się w zależności od hałasu przejeżdżających samochodów. Instalacja jest zarządzana za pomocą połączenia Max/MSP i Arduino.


Warto zauważyć, że Max/MSP ma również odpowiednik z otwartym źródłem. Nazywa się Pure Data, a jego twórcą również był Miller Puckette.

Warto również wyróżnić wizualny system ChucK, który został wymyślony przez Perry'ego Cooka z kolegami z Uniwersytetu Princeton w 2003 roku. Obsługuje równoległe wykonywanie kilku wątków, a ponadto w programie można wprowadzać zmiany bezpośrednio podczas wykonania. Jest dystrybuowany na licencji GNU GPL.

Na tym lista narzędzi do syntezy muzyki cyfrowej się nie kończy. Jest jeszcze Kyma i Overtone, który umożliwia programowanie miksów bezpośrednio na scenie. O nich postaramy się opowiedzieć następnym razem.

Dodatkowe czytanie — z naszego „Świata Hi-Fi” i kanału Telegram:

Jak napisać muzykę, używając OOP Jak PC podbił przemysł medialny dzięki udanemu oprogramowaniu
Jak napisać muzykę, używając OOP Gdzie znaleźć próbki dźwiękowe do swoich projektów: zbiór z dziewięciu zasobów
Jak napisać muzykę, używając OOP Muzyka do Twoich projektów: 12 tematycznych zasobów z utworami na licencji CC
Jak napisać muzykę, używając OOP Innovation SSI-2001: historia jednej z najrzadszych kart dźwiękowych dla IBM PC
Jak napisać muzykę, używając OOP Historia technologii audio: syntezatory i samplery
Jak napisać muzykę, używając OOP Entuzjasta odtworzył kartę dźwiękową Sound Blaster 1.0
Jak napisać muzykę, używając OOP Jak zmieniały się formaty muzyczne w ciągu ostatnich 100 lat
Jak napisać muzykę, używając OOP Jak firma IT walczyła o prawo do sprzedaży muzyki

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster