Русский
Русский
English
Статистика
Реклама

Среда программирования

Старт в музыкальном программировании для начинающих достаточно и простого браузера

23.05.2021 10:08:18 | Автор: admin

Продолжаем нашу серию постов о музыкальном программировании. В ней мы говорим о языках, утилитах и других инструментах, превращающих функции и атрибуты в мелодичные [в зависимости от уровня автора] композиции. Сегодня рассказываем о виртуальной среде Klangmeister. Она не требует установки специализированного программного обеспечения.

Фотография: Brandon Erlinger-Ford. Источник: Unsplash.comФотография: Brandon Erlinger-Ford. Источник: Unsplash.com

Музыкальное программирование это процесс написания треков с использованием специализированного ПО, синтезаторов и секвенсоров. Есть огромное количество сервисов, позволяющих влиться в эту тему. О некоторых из них мы уже рассказывали например, OpenMusic и ORCA. С их помощью можно писать музыку в разных жанрах, однако они требуют установки и настройки на компьютере. Композитор и разработчик Крис Форд посчитал, этот факт ограничивающим творчество начинающих музыкантов и решил исправить ситуацию.

Он разработал инструмент, позволяющий творить без заморочек. Так появился Klangmeister с немецкого переводится как мастер звука работающий прямо из браузера.

Что под капотом

Для написания музыки Klangmeister предлагает использовать Clojurescript. Это реализация языка LISP с компиляцией в JavaScript. Необходимые для работы функции хранятся в библиотеке Leipzig, которую написал автор проекта. Он также подготовил достаточно подробную документацию. Для воспроизведения треков приложение использует Web Audio API.

Интерфейс позволяет компилировать программы на лету фактически писать и воспроизводить музыку в реальном времени. Ряд возможностей Крис Форд продемонстрировал на технологической конференции flatMap в Осло несколько лет назад. Например, чтобы написать мелодию, нужно составить массив, включающий продолжительность звучания и высоту тона для каждой отдельной ноты.

(phrase [3/3 3/3 2/3 1/3 3/3]        [ 72  72  72  74  76])

Klangmeister также позволяет объединять несколько мелодий в одну:

(->>  (phrase [3/3 3/3 2/3 1/3 3/3]           [ 72  72  72  74  76])  (then    (phrase [2/3 1/3 2/3 1/3 3/3]            [ 76  74  76  77  79])))

На официальном сайте есть руководство с примерами кода для реализации более сложных техник написания музыки зацикливанием треков и настройкой BPM.

В целом инструмент Klangmeister довольно прост, что является как его достоинством, так и недостатком. Он позволяет взять легкий старт в музыкальном программировании, но задействованный в работе Web Audio API плохо подходит для написания глубоких и комплексных композиций. Также автор отмечает, что Klangmeister лучше всего работает в Chrome. Функции синтеза, которые он использует, могут не поддерживаться в других браузерах (или поддерживаться плохо). Все желающие могут оценить внутренности проекта самостоятельно его исходный код выложен в репозиторий на GitHub.

Какие есть альтернативы

Одна из известных виртуальных сред для аудиосинтеза в реальном времени это SuperCollider. Мы кратко упоминали её в одном из предыдущих материалов. Она существует с 1996 года, и за это время вокруг неё сформировалось обширное сообщество поклонников. SuperCollider более сложный инструмент, чем Klangmeister и на его освоение может уйти длительное время, однако и возможности он предлагает более широкие.

С инструментом работает композитор Крис Браун (не путать с певцом и актером) из Сан-Франциско. С его помощью он написал альбом Branches. Эли Филдстил (Eli Fieldsteel), преподающий теорию музыкальной композиции в Университете Иллинойса, использует SuperCollider для анализа отдельных произведений на лекциях.

Фотография: Valentin Mller. Источник: Unsplash.comФотография: Valentin Mller. Источник: Unsplash.com

Еще одним аналогом Klangmeister, который упоминает сам Крис Форд, является платформа Extempore. Она включает в себя два языка программирования Scheme и одноименный Extempore. Объединяет их возможности компилятор на базе LLVM, позволяющий обрабатывать цифровые сигналы в реальном времени. Как это работает, автор системы рассказывал на конференции OSCON, посвященной открытому ПО.


О чем еще мы пишем в Мире Hi-Fi:


Обзоры напольной акустики на Хабре:


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru