Jump to content

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

Чистые данные
Оригинальный автор(ы) Миллер Пакетт
Стабильная версия
0.53-2 [1] / 15 марта 2023 г .; 16 месяцев назад ( 15.03.2023 ) [1]
Репозиторий
Тип Язык визуального программирования
Лицензия Пункт BSD-3
Веб-сайт сломаться .информация
Чистые данные
Парадигма Поток данных
Разработано Миллер С. Пакетт
Впервые появился 1996
Стабильная версия
0,53-2 / 15 марта 2022 г .; 2 года назад ( 15.03.2022 )
ТЫ Кроссплатформенность ( macOS , Windows , Linux )
Лицензия Пункт BSD-3
Веб-сайт сломаться .информация
Под влиянием
Патчер

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

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

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

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

Сходство с Максом

[ редактировать ]

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

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

Особенности языка

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

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

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

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

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

[ редактировать ]

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

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

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

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

Языковые ограничения

[ редактировать ]

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

Проекты с использованием чистых данных

[ редактировать ]

Pure Data использовался в качестве основы ряда проектов, в качестве языка прототипирования и звукового движка. Табличный интерфейс под названием Reactable [6] и заброшенное приложение для iPhone RjDj используют Pd в качестве звукового движка.

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

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

Примеры кода

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

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Перейти обратно: а б «Программное обеспечение Миллера Пакетта» . Миллер Пакетт . Проверено 14 января 2022 г.
  2. ^ Пакетт, М. (1988). Патчер. В материалах Международной компьютерной музыкальной конференции.
  3. ^ «Часто задаваемые вопросы: Макс 4 — Велоспорт '74» . Проверено 5 января 2017 г.
  4. ^ Документация Pd, глава 2 — 2.9. Структуры данных
  5. ^ «Возможности №2: Аудиослой» . 2 марта 2010 г. Проверено 5 января 2017 г.
  6. ^ Жорда, Серджи; Кальтенбруннер, Мартин; Гейгер, Гюнтер; Бенчина, Росс (2005). «ICMC2005: ReacTable» (PDF) . Группа музыкальных технологий/IUA, Университет Помпеу Фабра.
  7. ^ Косак, Дэйв (20 февраля 2008 г.). «Gamespy: The Beat Goes On: Динамическая музыка в Spore» . GameSpy . ИГН Интертеймент, Инк.
  8. ^ «Сетевые ресурсы для совместной импровизации (NRCI)» . Центр компьютерных исследований в области музыки и акустики . Кафедра музыки Стэнфордского университета.
  • Дэнкс, М. (1996). Графическая среда для макс. В: Материалы Международной компьютерной музыкальной конференции, стр. 67–70. Международная ассоциация компьютерной музыки.
  • Дэнкс, М. (1997). Обработка изображений и видео в реальном времени в Gem. В: Материалы Международной компьютерной музыкальной конференции, стр. 220–223. Международная ассоциация компьютерной музыки.
  • Пакетт, М.С. (1996) Чистые данные . Труды Международной конференции по компьютерной музыке. Сан-Франциско: Международная ассоциация компьютерной музыки, стр. 269–272.
  • Пакетт, М.С. (1997). Чистые данные. В: Материалы Международной компьютерной музыкальной конференции, стр. 224–227. Международная ассоциация компьютерной музыки.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7dfbac9450834fc40f820ed0910132f1__1698672600
URL1:https://arc.ask3.ru/arc/aa/7d/f1/7dfbac9450834fc40f820ed0910132f1.html
Заголовок, (Title) документа по адресу, URL1:
Pure Data - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)