Чистые данные

редактировать
Чистые данные
Чистые данные с большим количеством открытых патчей (проект netpd) Чистые данные с множеством открытых патчей (проект netpd)
Автор (ы) Миллер Puckette
Стабильный выпуск 0.50-2 / 6 октября 2019 г.; 12 месяцев назад (2019-10-06)
Репозиторий Измените это на Викиданные
Тип Язык визуального программирования
Лицензия Модифицированная BSD
Веб-сайтpuredata.info
Чистые данные
Парадигма Поток данных
Разработан Миллер С. Пакетт
Впервые появился1996
Стабильный выпуск 0.50-2 / 6 октября 2019 г.; 12 месяцев назад (2019-10-06)
OS Кросс-платформенная
Лицензия Модифицированная BSD
Веб-сайтpuredata.info
Под влиянием
Patcher

Pure Data (Pd) - это язык визуального программирования, разработанный Миллер Пакетт в 1990-х годах для создания интерактивной компьютерной музыки и мультимедиа работает. В то время как Пакетт является основным автором программы, Pd - это проект с открытым исходным кодом с большой базой разработчиков, работающих над новыми расширениями. Он выпущен под лицензией, аналогичной лицензии BSD. Он работает в GNU / Linux, Mac OS X, iOS, Android и Windows. Существуют порты для FreeBSD и IRIX.

Pd, очень похожи по объему и конструкции на оригинальную программу Пакета Max, разработанную, когда он работал в IRCAM, и до некоторой степени совместим с Max / MSP, коммерческим предшественником языка Max. Их можно коллективно обсуждать как членов семейства языков Patcher.

С добавлением внешней графической среды для мультимедиа (GEM) и внешних, предназначенных для работы с ней (например, / для Linux, Mac OS X), для Windows (как n -мерная матричная обработка, для Linux, Mac OS X, Windows), можно создавать и манипулировать видео, OpenGL графикой, изображениями и т. д. в реальном времени с широкими возможностями для взаимодействия с аудио, внешними датчиками и т. д.

Pd изначально разработан для обеспечения совместной работы в реальном времени через сети или Интернет, позволяя музыкантам, подключенным через локальную сеть или даже в разных частях земного шара, создавать музыку вместе в реальном времени. Pd использует FUDI в качестве сетевого протокола.

Содержание

  • 1 Сходство с Max
  • 2 Языковые особенности
    • 2.1 Структуры данных
  • 3 Языковые ограничения
  • 4 Проекты с использованием Pure Data
  • 5 Примеры кода
  • 6 См. Также
  • 7 Примечания
  • 8 Ссылки
  • 9 Дополнительная литература
  • 10 Внешние ссылки

Сходства с Max

Pure Data и Max являются примерами программирование потока данных языков. В таких языках функции или «объекты» связаны или «исправлены» вместе в графической среде, которая моделирует поток управления и звука. Однако, в отличие от исходной версии Max, Pd всегда разрабатывался для управления скоростью и обработки звука на главном блоке центрального процессора (CPU), а не для разгрузки синтеза звука и обработка сигналов на плату процессора цифровых сигналов (DSP) (например, ISPW, которая использовалась для Max / FTS). Код Pd составляет основу расширений MSP Дэвида Зикарелли для языка Max для программной обработки звука.

Как и Max, Pd имеет модульную кодовую базу внешние элементы или объекты, которые используются в качестве строительных блоков для программ, написанных в программном обеспечении. Это делает программу произвольно расширяемой с помощью общедоступного API и поощряет разработчиков добавлять свои собственные управляющие и звуковые подпрограммы на языке программирования C или с помощью других внешних компонентов в Python, Scheme, Lua, Tcl и многие другие. Однако Pd также является языком программирования. Модульные многоразовые блоки кода, написанные изначально на Pd, называемые «патчами» или «абстракциями», используются как отдельные программы и свободно распространяются среди сообщества пользователей Pd, и никаких других навыков программирования не требуется для эффективного использования Pd.

Возможности языка

Чистые объекты данных. Текстовые строки справа от полей являются комментариями.

Как и Max, Pd является языком программирования потока данных. Как и в большинстве программ DSP , существует две основные скорости передачи данных: частота дискретизации (аудио), обычно 44 100 выборок в секунду, и контрольная. скорость, 1 блок на 64 выборки. Управляющие сообщения и аудиосигналы обычно проходят сверху вниз между «объектами», подключенными через входы и выходы.

Pd поддерживает четыре основных типа текстовых сущностей: сообщения, объекты, атомы и комментарии. Атомы - это самая основная единица данных в Pd, и они состоят либо из с плавающей запятой, либо из символа, либо из указателя на структуру данных (в Pd все числа хранятся как 32-битные числа с плавающей запятой). Сообщения состоят из одного или нескольких атомов и содержат инструкции для объектов. Для инициирования событий и передачи данных в поток используется специальный тип сообщения с нулевым содержимым, называемый bang, подобно нажатию кнопки.

Собственные объекты Pd варьируются от базовых математических, логических и побитовых операторов, имеющихся в каждом языке программирования, до общих и специализированных звуковых скоростей. Функции DSP (обозначены символом тильды (~)), такие как генераторы wavetable, быстрое преобразование Фурье (fft ~) и ряд стандартных фильтров. Данные могут быть загружены из файла, считаны с аудиоплаты, MIDI, через Open Sound Control (OSC) через FireWire, USB, или сетевое соединение, или генерируется «на лету» и сохраняется в таблицах, которые затем могут быть считаны и использованы в качестве аудиосигналов или управляющих данных.

Структуры данных

Одним из ключевых нововведений в Pd по сравнению с его предшественниками было введение графических структур данных. Их можно использовать самыми разными способами: от составления музыкальных партитур, упорядочивания событий до создания визуальных эффектов для сопровождения патчей Pd или даже расширения GUI.

Pd. В соответствии с именем Pd, структуры данных позволяют пользователям Pd создавать произвольно сложные статические, а также динамические или анимированные графические представления музыкальных данных. Подобно C-структурам, Pd-структуры состоят из любой комбинации поплавков, символов и данных массива, которые можно использовать в качестве параметров для описания внешнего вида структуры данных или, наоборот, для управления сообщениями и звуком. сигналы в патче Pd. По словам Пакетта:

Pd разработан, чтобы предложить чрезвычайно неструктурированную среду для описания структур данных и их графического вида. Основная идея заключается в том, чтобы позволить пользователю отображать любые данные, которые он или она хочет, связывая их любым способом с отображением. Для достижения этой цели Pd вводит графическую структуру данных, чем-то напоминающую структуру данных из языка программирования C, но с возможностью прикрепления форм и цветов к данным, чтобы пользователь мог их визуализировать и / или редактировать. Сами данные можно редактировать с нуля или импортировать из файлов, генерировать алгоритмически или извлекать из анализа входящих звуков или других потоков данных.

— Миллер Пакетт, Оценка Ганса-Кристофа Штайнера Одиночество, созданный с использованием структур данных Pd.

Ограничения языка

Несмотря на то, что Pd является мощным языком, он имеет определенные ограничения в реализации объектно-ориентированных концепций. Например, очень сложно создавать массово параллельные процессы, потому что создание экземпляров и управление большими списками объектов (создание и т. Д.) Невозможно из-за отсутствия функции конструктора. Кроме того, массивы Pd и другие объекты восприимчивы к конфликтам пространств имен, поскольку передача идентификатора экземпляра исправления является дополнительным шагом и иногда его трудно выполнить.

Проекты с использованием Pure Data

Чистые данные использовались в качестве основы для ряда проектов, как язык прототипирования и звуковой движок. Интерфейс таблицы под названием Reactable и заброшенное приложение iPhone RjDj встраивают Pd в качестве звукового движка.

Pd использовался для создания прототипов звука для видеоигр рядом звукорежиссеров. Например, EAPd - это внутренняя версия Pd, которая используется в Electronic Arts (EA). Он также был встроен в EA Spore.

Pd, также использовался для сетевой производительности в библиотеке сетевых ресурсов для совместной импровизации (NRCI).

Примеры кода

  1. Первый патч выводит на дисплей «hello world».
  2. Второй патч применяет реверберацию к входящему сигналу из канала 1, а затем излучает его на каналы 1 и 2.
  3. наконец, более сложный патч фильтрует белый шум с частотой 9000 Гц (с добротностью 20), а затем постепенно усиливает и затухает каждую секунду в течение полсекунды. В Pd время измеряется в миллисекундах, таким образом, «1000» - это одна секунда, а «500» - полсекунды.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Примечания

Ссылки

  • Danks, M. (1996). Графическая среда для макс. В: Материалы Международной компьютерной музыкальной конференции, стр. 67–70. Международная ассоциация компьютерной музыки.
  • Дэнкс, М. (1997). Обработка изображений и видео в реальном времени в Gem. В: Материалы Международной компьютерной музыкальной конференции, стр. 220–223. Международная ассоциация компьютерной музыки.
  • Пакетт, М.С. (1996) Pure Data. Труды Международной компьютерной музыкальной конференции. Сан-Франциско: Международная ассоциация компьютерной музыки, стр. 269–272.
  • Пакетт, М. С. (1997). Чистые данные. В: Материалы Международной компьютерной музыкальной конференции, стр. 224–227. Международная ассоциация компьютерной музыки.

Дополнительная литература

  • Пакетт, Миллер Смит (2007). Теория и техника электронной музыки. World Scientific, Сингапур. ISBN 978-981-270-541-9.
  • Крейдлер, Йоханнес (2009). Loadbang: программирование электронной музыки в чистых данных. Вольке Верлаг, Хофхайм. ISBN 978-3-936000-57-3.
  • Pd ~ graz, ed. (2006). Bang Pure Data. Вольке Верлаг, Хофхайм. ISBN 978-3-936000-37-5.
  • Фарнелл, Энди Дж. (2010). Проектирование звука. Пресса MIT. ISBN 978-0-262-01441-0.
  • Бринкманн, Питер (2012). Создание музыкальных приложений - синтез звука в реальном времени на Android и iOS. О'Рейли Медиа. ISBN 978-1-4493-1490-3.
  • Баркл, Майкл (2012). Композиция: Чистые данные как мета-композиционный инструмент. ISBN 3-8383-1647-9.
  • Баркл, Майкл (2018). Чистые данные как мета-композиционный инструмент: составы Том 1. ISBN 978-3-659-88634-8.
  • Баркл, Майкл (2018). Чистые данные как мета-композиционный инструмент: составы, том 2. ISBN 978-3-659-96899-0.
  • Мацумура, Сэй (2012). Книга рецептов Pd ―Pure Data で は じ め る サ ウ ン ド プ ロ グ ラ ミ ン グ. ISBN 978-4-86100-780-4.
  • Хабибдуст, Мансур (2013). Элементарный метод Pd (на фарси) - PDF и патчи (مبانی بنیادین نرم افزار پی دی نوشته منصور حبیب دوست).

Внешние ссылки

Последняя правка сделана 2021-06-02 11:00:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте