Высокоуровневый язык программирования для музыкального [закрытого] состава

В NumPy нет такой функции поиска, но в NumPy

это возможно сделать. Пока массивы не будут слишком массивными *, вы можете использовать подход к качению:

from skimage.util import view_as_windows

windows = view_as_windows(field_array, match_array.shape)

Функция view_as_windows записывается чисто в NumPy, поэтому, если вы не имеете skimage, вы всегда можете скопировать код из здесь .

Затем, чтобы увидеть, появляется ли подматрица в более крупном массиве, вы можете написать:

>>> (windows == match_array).all(axis=(2,3)).any()
True

Найти индексы, в которых верхний левый угол подматрицы совпадений, вы можете написать:

>>> (windows == match_array).all(axis=(2,3)).nonzero()
(array([6]), array([3]))

Этот подход также должен работать для массивов более высоких измерений.


*, хотя массив windows не занимает дополнительной памяти ( только изменения шага и формы изменяются для создания нового представления данных), запись windows == match_array создает логический массив размера (7, 6, 3, 4), который составляет 504 байта памяти. Если вы работаете с очень большими массивами, этот подход может оказаться невозможным.

29
задан Jacek Ławrynowicz 3 February 2009 в 14:16
поделиться

10 ответов

Взгляд cSounds и PureData.

12
ответ дан S.Lott 14 October 2019 в 08:54
поделиться

Если Вы рады использовать Java, проверьте JFugue.

7
ответ дан Dan Dyer 14 October 2019 в 08:54
поделиться

Я не уверен, покрывает ли это то, что Вы после для, но взглянули на API Звука Java. Для FAQ о том, что это может сделать, см. здесь . Преимущества, это уже связывается в SDK и JRE, и это является кросс-платформенным. Кроме того, Вы могли создать GUI с помощью любого инструментария Java.

1
ответ дан kgiannakakis 14 October 2019 в 08:54
поделиться

Если бы не интерактивные биты, я бы посоветовал взглянуть на Хаскора или Найквиста , которые фактически являются DSL для генерации музыки.

Определенно взгляните на демо Алекса Маклина . Он более гибок и интерактивен, чем вы можете себе представить, используя SuperCollider - OpenSoundControl .

1
ответ дан ephemient 14 October 2019 в 08:54
поделиться

Для музыкального взаимодействия лучше всего подходят PureData, Max / MSP и OpenMusic (эти два последних из IRCAM). PureData является бесплатной. Гугл их!

1
ответ дан de3 14 October 2019 в 08:54
поделиться

Я действительно не получаю то, что Вы хотите сделать, но вот список некоторого музыкального программного обеспечения CL, и для состава и для познания: http://www.cliki.net/Music

0
ответ дан Svante 14 October 2019 в 08:54
поделиться

Вы ищете Язык программирования аудио . Другой вариант, который вы должны рассмотреть, - Обработка - используется многими художниками и музыкантами для этого типа работы.

-Adam

0
ответ дан Adam Davis 14 October 2019 в 08:54
поделиться

Взгляните на Strasheela:

Это - система состава на основе языка программирования Oz. Учащийся Oz не легок, как он он комбинирует функциональное и парадигму логического программирования. Однако, если Вам понравилась книга SICP, затем Вам, вероятно, понравится она также.

Strasheela рассматривает музыкальный состав как Ограничение проблему Statisfaction (CSP) и ищет "решения" для него. Это означает, что музыкальный стиль определяется как математические ограничения на целые числа (конечная область), которая должна быть statisfied, и встроенная ограничительная система решения вычисляет решения "автоматически".

P.S.: Я не могу программировать в Oz, но я на пути изучения его.

3
ответ дан 28 November 2019 в 01:58
поделиться

Ответ для .NET:
Я нашел кое-что, проверьте NAudio от Mark Heath, отличная музыкальная библиотека .NET Я бы сказал, что она должна содержаться в BCL.

midi-dot-net - еще один замечательный C#-проект Тома Локовича.

1
ответ дан 28 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: