АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

midge - Интернет в облаке

Запустите Midge в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это командная мошка, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


midge - сгенерировать midi-файл из текстового описания музыки

СИНТАКСИС


мошка [параметры] [имя файла]

ОПИСАНИЕ


мошка генерирует midi-файл типа 1 из текстового описания музыки. мошка берет это
ввод из стандартного ввода, если имя файла указан.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


-h or --Помогите

Показать текст справки.

--версия or --гарантия или --в отношении

Показать информацию о версии и лицензии.

-v or --подробный

Печатать подробный вывод в стандартный вывод.

-d or --отлаживать

Вывести отладочную информацию на стандартный вывод (автоматически устанавливает подробный режим).

-q or --тихий

Тихий. нет стандартного вывода.

-o файл or --outfile файл

Выход Midi в файл. В противном случае на a.out.mid

-c or --проверить

Проверить только ввод; Нет миди-выхода.

-u or -unroll-loops

Перед синтаксическим анализом разверните все повторяющиеся блоки и сохраните развернутый исходный код в
новый файл (* .long.mg). При необходимости устанавливается автоматически.

-U or --no-unroll-сохранить

Не сохраняйте развернутый источник в файл.

-R or - без сброса

Не вставляйте событие «сбросить все контроллеры» в начало треков.

-t BPM or --темп BPM

Установите темп на BPM ударов в минуту, переопределяя значение, установленное во входном файле.

-b шага or - поворотные ступеньки шага

Установите количество шагов на четвертную ноту для простого синтаксиса изгиба.

- небезопасно

Не используйте Safe.pm для запуска кода Perl из % eval блоки.

-s номер or --семя номер

Используйте номер в качестве начального числа для генератора случайных чисел.

-S [шкала [корень]] or --шоу-масштаб [шкала [корень]]

Перечислить заметки в лестница начиная с корень. Если корень опускается c4 используется. Если лестница is
опущен, отображается список поддерживаемых шкал.

-I путь or --включают путь

Добавить путь для включения путей. Можно указать несколько раз или путь может быть список
разделенные двоеточиями или запятыми.

ВХОД АНГЛИЙСКИЙ ЯЗЫК


Пример исходного файла для воспроизведения гаммы E.

================ стартовый файл ======================

# эта строка является комментарием

@голова {# должен быть ровно 1 раздел @head

# установить размер

$ time_sig 4/4

# установить темп в BPM

$ tempo 120

} # конец раздела @head

@тело {# должен быть ровно 1 раздел @body

# запустить музыкальный трек на канале 1

# несколько треков могут использовать один и тот же канал

@канал 1 {

# установить патч на электрическую бас-гитару

$ patch 34

# Примечания. см. объяснение ниже.

/ l4 / e3 # четвертная нота е в третьей октаве

f+ # f-диез той же октавы одинаковой длины

# используйте `-'для квартиры

g + ab # остальные заметки

c+4 d + e # изменение октавы на c

} # конец трека

} # конец раздела @body

======================== конечный файл ====================

Другие примеры включены в каталог examples / архива.

В следующих, - обязательный параметр, а [имя] - необязательный.

Заметки.

Формат примечания: [/параметры/]<имя>[+|-][октава]

Ассоциация /параметры/ раздел может содержать следующее:

l[числитель:]

Устанавливает длину ноты равной (числитель или один) разделенный на знаменатель. т.е. l4 = четверть
нота, l1 = целая нота, l3: 4 = 3/4 нота (3 четвертные ноты связаны). Заглавные буквы `L' может быть
вместо этого используется, чтобы отличить его от "1".

r

Устанавливает количество повторений ноты. Например

/l8r16 /

делает длительность ноты 1/8 и повторяет ноту 16 раз.

a

Устанавливает скорость (атака) ноты

d

Устанавливает скорость (затухание) ноты при отключении

z[+ | -] [%]

Смещает примечание на номер миди-клики. Положительные значения проигрывают ноту поздно, а отрицательные
ценностей играть рано. Если номер следует за `%´ символ берется в процентах
длины текущей ноты. Значения смещения не наследуется последующими примечаниями.

Z[+ | -] [%]

Как указано вышеz´ вариант, но используется случайное значение. Если номер отрицательный или положительный
(знак плюса обязательный), значение от нуля до номер используется. Если нет знака,
значение между плюсом и минусом номер используется.

Опция смещения не будет работать с rопцию повторения примечания, но тот же эффект может быть
достигается с помощью %повторить блок.

Ноты не могут быть смещены назад (т.е. сыграны раньше), если им не предшествует пауза. К
обойти это я добавил $ сократить ключевое слово, описанное ниже. Смотрите также $ unquantise.

имя это название примечания, т.е. [ag] обязательный.

+ резкий.

- квартира.

октава это миди-октава, т.е. [1-11]. Хотя в большинстве программ midi используется 0 для наименьшего
октавы, я использовал 1 для согласованности с MIDI-каналами и названиями инструментов, которые
оба считают от 1.

Если не указано иное, длина, октава, атака и затухание наследуются от предыдущего
записки.

В треке ударных вместо названий нот можно использовать псевдонимы. Например, чтобы получить
открой хай-хет вместо `е + 3'вы можете использовать'чч_о'. Смотрите README.drums для полного списка
псевдонимы.

Отдыхает.

Остатки записываются как примечание `r', с участием /параметры/ то же, что и для нот, но только с
используемые параметры длины и повтора. Значение длины передается от ноты к отдыху и наоборот.
наоборот.

Бары.

Символ вертикальной черты (`| ') может использоваться для обозначения полос. Длины стержней не проверяются -
это только для обеспечения более читабельных исходных файлов. Бары можно пронумеровать, добавив
число к символу трубы. Они могут быть разделены подчеркиванием, но не пробелами.

Пример простого бара: | cdef | gabc

Примеры пронумерованных полос: | 1 cdef | 2 gabc

| _1 cdef | _2 gabc

Последовательность столбцов можно проверить с помощью $ bar_strict ключевое слово в @голова
раздел. Это дает ошибку или предупреждение, если все дорожки не имеют одинакового количества полосок и
пронумерованные полосы появляются одновременно на каждой дорожке:

$ bar_strict предупреждать # Распечатать предупреждающее сообщение для несовместимых столбцов.

$ bar_strict ошибка # Выйти с сообщением об ошибке для несогласованных полос.

Ключевые слова верхнего уровня.

@голова { содержание }

Должен быть ровно один @голова раздел. См. Ниже описание содержание.

@тело { содержание }

Должен быть ровно один @тело раздел. См. Ниже описание содержание.

Ключевые слова в @голова .

$ time_sig

Ассоциация b значение должно быть одним из 4, 8, 16, 32, 64.

$ tempo

t - темп в BPM.

Оба формата $ time_sig и $ tempo также разрешены в блоке @channel (описанном ниже).

$ title

Устанавливает название песни на название. Если название содержит пробелы, он должен быть внутри двойного
цитаты.

разрешение $

Устанавливает количество midi-кликов на четвертную ноту равным n. По умолчанию 96.

Ключевые слова в @тело .

%определять { Примечания }

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

~[/ транспонировать /]

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

%определять a_riff {a3 a c4 d}

%определять d_riff {d4 dfg}

%определять main_riff { ~а_рифф ~d_riff}

Хотя мы могли бы добиться того же результата, транспонировав первый рифф, чтобы получился
второй:

%определять a_riff {a3 a c4 d}

%определять main_riff { ~а_рифф ~а_рифф/ 5 / }

определять блоки также могут содержать повторяющиеся блоки, блоки изгиба и $ volume / patch / reverb и т. д.

@канал [имя] {содержание}

Начать миди-трек на канале номер, при желании установив имя инструмента на имя. Если
имя содержит пробелы, он должен быть заключен в двойные кавычки.

содержание может включать примечания, паузы, ранее определенные последовательности и следующие
ключевые слова:

$ time_sig

Изменяет размер песни (влияет на все дорожки). В b значение должно быть одним из
4, 8, 16, 32, 64.

$ tempo

Изменяет темп песни (влияет на все треки). t находится в BPM.

$ patch [[bank_LSB,] bank_MSB,]

Установите номер патча для этого канала на номер or имя. Где номер от 1 до 128 и
имя - это псевдоним, определенный в README.patches. При желании выберите номер банка банк_MSB.
При желании выберите номер младшего бита банка банк_LSB (используется для внешних MIDI-клавиатур). Каждое значение
должно быть в диапазоне 1–128.

$ банк [LSB,]

Выберите номер банка MSB. Необязательно установка значения LSB (используется для внешних MIDI
клавиатуры) в LSB. Оба значения должны находиться в диапазоне 1–128.

длина $ [n:]

Установите длину заметки по умолчанию. Значение указывается в том же формате, что и в параметрах примечания.

$ сократить

Сократите каждую заметку на номер миди-щелчки, чтобы оставить место для смещения заметок назад.

$ unquantise [+ | -] [%]

Примените случайное смещение к каждой ноте. номер имеет то же значение, что и Z вариант примечания
выше.

$ октава

Установить октаву по умолчанию на номер

$ объем

Установите громкость трека на номер

$ атака

Установите атаку ноты на номер

$ распад

Установите затухание ноты на номер

$ реверберация

Установите глубину реверберации на номер на текущем канале.

$ припев

Установите глубину хоруса на номер на текущем канале.

$ pan

Установите значение панорамирования на номер. 0 слева 127 справа.

Значения громкости, атаки, затухания, реверберации, хоруса и панорамирования должны быть целыми числами от 0 до 127.
Их также можно указать в виде диапазона (например, `8-64'), и в этом случае случайное значение в пределах
диапазон используется.

% pan_all {обратите внимание на значение ...}

Устанавливает значение панорамирования для каждого последующего экземпляра в своих размышлениях в текущем треке. Это
в основном предназначен для панорамирования ударной установки, но может использоваться и на другом треке. ценностное может быть
целое число или диапазон (например, `8-64'). Несколько в своих размышлениях ценностное пары разрешены. Если две ноты
с разными значениями pan_all одновременно проигрываются все, что угодно.

Чтобы воздействовать на каждую ноту в канале диапазоном, используйте `*'или `любой' за в своих размышлениях,
/ r4 /метод повторения нот не будет работать с этой опцией, но тот же эффект
может быть достигнуто с помощью блока повтора.

маркер $

Добавляет событие маркера с текст как это содержание. Если текст содержит пробелы, он должен быть заключен в кавычки
с использованием двойных кавычек.

%повторить { Примечания }

Повторить ноты номер раз. ноты может включать примечания, паузы, предопределенные последовательности и другие
%повторить блоки.

%сгибать { мероприятие ... }

Играть в своих размышлениях и переместите колесо шага, как описано несколькими мероприятиеs, которые имеют
следующий формат:

[n:] <+ | ->

в котором n и d укажите время от начала заметки или от предыдущего события, в
тот же формат, что и длина нот, и ценностное это сумма, на которую нужно согнуть банкноту (плюс
или знак минус обязателен). С диапазоном колеса высоты тона по умолчанию +/- 2 полутона значение
32 соответствует одному полутону. Обратите внимание, что величина изгиба является относительной. Максимум
кумулятивный величина изгиба плюс-минус 64.

Например следующее:

% bend a3 {4 + 32 4-32 2 + 0}

Воспроизводит ноту a3 для 1/4 ноты, поднимает весь тон на 1/4, затем возвращается к a3 и
справедливо для 1/2 ноты.

$ bend_range

Изменяет диапазон колеса высоты тона на +/- номер. Это устанавливает максимальный изгиб вверх и вниз, поэтому, если
он установлен на 4, значение изгиба 64 будет изгибать вверх на 4 полутона, а -64 будет изгибаться вниз на 4 полутона.
полутонов. Диапазон по умолчанию для большинства устройств midi составляет 2 полутона.

$ pitch

Установите значение колеса высоты тона на волна. Это можно использовать вместе с отдельным примечанием по
и отмечать события (см. ниже в разделе «одновременные заметки») для создания сложной гибки
эффекты. в отличие от %сгибать синтаксис выше, это делает не установите колесо шага в нейтральное положение
позиция (64)

Более простые изгибы высоты тона могут быть созданы с помощью этого синтаксиса:

/ l8 / e4=>g4=>e4

Он изгибается от e4 до g4 и обратно до e4 линейными шагами в течение
восьмая нота. По умолчанию продолжительность четвертной ноты составляет 16 шагов (8 шагов в этой продолжительности).
пример), но можно установить другое значение с помощью ключа командной строки `-b '. Любой номер
нот можно использовать, но первая должна иметь значение длины, и каждая из них должна
имеют октавное значение.

%выбирать [время] {элемент взвешивания ...}

где время - значение длины в формате [n:] то же, что используется в вариантах длины,
с опущенным `l '.

If время не указано:

Выбери один пункт из списка, где каждый пункт может быть нота, пауза или заранее заданный рифф, и
у каждого предмета есть взвешивание который определяет, насколько вероятно, что он будет выбран. Например:

% выберите {2 a3 4 c5 3 e4 1 g3}

дает a3 шанс 20%, c5 - 40%; e4 - 30% и g3 - 10% Каждый предмет должен иметь утяжеление.
См. Также шкалы ниже.

if время указано:

Выберите несколько пунктs из списка длиной до время, Если все пунктs слишком длинные
чтобы закончить рифф ровно в время, остаток заполняется остатком. Когда выбрать используется
таким образом, каждая нота или пауза должны иметь значение длины, а любые предопределенные риффы должны
иметь фиксированную длину (т.е. первая нота должна иметь значение длины), а длина
В блоке выбора необходимо указать весь рифф в том же формате, что и для нот. для
пример:

% define riff_1 {/ l2 / a3 / l4 / b c4} # рифф длиной 1 такт

%выбирать 4:1 {# выберите 4 бара

1 / l8 / d4 3 / l8 / e4 2 / l4 / g4 1 / l1 / ~ riff_1

}

If время is 0 or - затем мошка ищет блок вида:

ритм {п [: d] ...}

который берется как серия значений длины нот, для которых высота тона выбирается из
список. Другие токены пропускаются, поэтому вы можете вставлять определенные ноты, предопределенные риффы.
или отдыхает. Любой токен в блоке, начинающийся с подчеркивания, будет пропущен, с
подчеркивание удалено. См. Пример в examples / tutorial / choose_scale.mg.

Другой способ указать список примечаний / весов - использовать лестница ключевое слово:

лестница минор / l8 / g4-6 [вес ...]

Выбирает гамму соль минор от 4-й до 6-й октав (т.е. от g4 до g6). Значение длины
не требуется, если вы используете ритм-блок. Если -6 опускается одна октава
используемый.

Блок веса определяет веса банкнот по порядку. Если опущено, все веса
равный. Чтобы ввести заметку, используйте вес 0, но там должен быть весомым для каждой ноты
если блок вообще присутствует.

Ассоциация -S переключатель можно использовать для отображения нот в шкале или в списке поддерживаемых шкал.

%цепь {
Начните
note1 [весовое примечание ...]
...
ритм [вес, длина ...] or ритм {длина ...}}

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

Ассоциация ритм ключевое слово имеет две формы: использование квадратных скобок `[] ', взвешенный список примечаний
можно определить длину, которая будет выбираться случайным образом. Используя фигурные скобки `{} ', список
могут быть определены значения длины, которые будут использоваться последовательно (повторяя при необходимости). К
проиграйте ритм-блок только один раз, установите время в 0 or -. В этом случае ритм
блок анализируется так же, как описано выше для %выбирать с нулевым временем. В
ключевое слово раз может использоваться как синоним ритм.

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

Другой способ определить ноты в цепь блок - использовать одну из встроенных шкал. потом
веса указаны в виде матрицы, со строкой для каждого примечания "от" (один
для каждой ноты шкалы) и столбец для каждой ноты «до». Пример этой формы может
можно найти в файле examples / tutorial / chain_scale.mg

Чтобы использовать блоки select или chain, файл должен быть скомпилирован с опцией unroll-loops.
(устанавливается автоматически при нахождении блока выбора или цепочки). Эта опция сохраняет
развернутый исходный код в новом файле, поэтому, если он дает особенно хороший результат, у вас есть
точная копия, в которую вы можете вносить другие изменения, не теряя сгенерированный трек.

Обратите внимание, что блоки select и chain не могут находиться внутри% define или внутри другого выбора или
цепной блок.

% eval {Perl-код}

Запустите блок кода Perl и замените блок% eval значением, возвращенным из Perl.
код.

% eval - {Perl Code}

Запустить блок кода Perl, не читая возвращаемого значения.

Код Perl запускается с использованием модуля Safe, если он присутствует, с: base_core,: base_math и
: base_mem разрешено. Если Safe.pm недоступен или требуются дополнительные разрешения, --unsafe
опция заставляет midge запускать блоки% eval в собственном процессе Perl.

Ключевые слова разрешены в любом месте источника.

%включают

Включает в себя содержание файл как если бы они были написаны в этом месте в источнике
. Должен быть на отдельной строке в исходном файле.

Одновременные записи.

Самый гибкий способ играть одновременно ноты - использовать отдельные дорожки (вы можете использовать
один и тот же канал / патч), или используя отдельные события включения и выключения нот (см. ниже).
Однако есть более простой способ с некоторыми ограничениями. Например: ( c e g ) будет играть
ноты c, e и g одновременно, образуя аккорд до. Продолжительность всех одновременных
ноты совпадает с первым (определяется его собственным значением длины или
унаследованный от предыдущего объявления note, rest или $ length.

Один из способов использовать это для создания аккордов:

%определять небольшая { ( c e- g ) } # определяем минор как до минор

%определять основной { ( c e g ) } # определяем мажор как до мажор

%определять 7 { ( c e g b- ) } # определим 7-е как c-7-е

Затем вы можете использовать в своих музыкальных треках:

$ length 4 $ octave 4 # установить длину и октаву по умолчанию

~ майор # играть до мажор

~ минор / 9 / # играть ля минор

~ 7/5 / # играть ф-7

Чтобы аккорды звучали бренно, бренчать ключевое слово можно использовать:

$ бренчать 5

Это устанавливает интервал между каждой нотой в последующих аккордах до 5 щелчков миди.

Для создания сложных паттернов одновременных нот на одной дорожке, разделите ноту и ноту
off события могут быть использованы. Они указываются так же, как и обычные заметки, но с +
подготовлено для примечания и - готовится к отключению записки. Параметры длины и повтора не могут
использоваться. Длина нот, вводимых таким образом, контролируется путем установки пауз или других
отмечает между событиями включения и выключения ноты. например:

+c4 / l4 / r +эр +г / л2 / г -c -e -g

играет и удерживает c4, после того, как играет нота 1/4 и удерживает e4, и после того, как играет другая нота 1/4
и держит g4, выпуская все три еще через 1/2 ноты.

Кортежи.

Хотя можно создавать кортежи, выбирая подходящую длину ноты, они также могут
быть записано более традиционным способом с использованием % туплет ключевое слово:

% туплет n: d {примечания ...}

играет n примечания в пространстве d. ноты может содержать все, что разрешено в блоке @channel.
Затем значения нот автоматически изменяются для создания туплета. Например:

% tuplet 5: 3 {/ l8 / e4 fgfe}

играет пять восьмых нот вместо трех. Кортежи могут быть вложены на любую глубину. Видеть
examples / tutorial / tuplet.mg в качестве примера. Мидж делает не убедитесь, что продолжительность музыки
внутри блока туплета правильный.

Ключи.

Если вы хотите импортировать свой midi-файл в редактор нотации, вам нужно установить ключ.
Это делается с помощью:

$ ключ [+ | -] [м]

где имя ag, + | - острые и плоские, m второстепенное. Если весь кусок остается в
тот же ключ, который вы можете установить в разделе @head, иначе он может появиться где угодно в
@channel и повлияет на все треки.

Если вы привыкли к обычной нотной записи и хотите, чтобы ноты автоматически получались резкими или плоскими
в зависимости от ключа используйте $ key_strict ключевое слово вместо этого. Чтобы получить естественную ноту, используйте =
знак, например, в G, f= играет f естественно. В $ key_strict ключевое слово можно использовать только в
@head раздел. Ключ все еще можно изменить с помощью штатного $ ключ ключевое слово.

$ ctrl

Установить номер контроллера Num в волна.

$ rpn [число-старший,] [, val-lsb]

Установите контроллер rpn Num в волна

$ nrpn [число-старший,] [, val-lsb]

Установите контроллер nrpn Num в волна

% дословно {byteval ...}

Вставьте строку байтов в файл midi. Каждый байтовый может быть в десятичном формате (0-255)
или шестнадцатеричный (0x00-0xFF). Ключевое слово байт можно использовать вместо дословно.

$ print

Печать / PDF текст в стандартный вывод. Если текст содержит пробелы, он должен быть заключен в двойные кавычки (").

Используйте мошек онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Pharser
    Pharser
    Phaser - это быстрый, бесплатный и увлекательный
    исходный игровой фреймворк HTML5, который предлагает
    WebGL и рендеринг Canvas через
    настольные и мобильные веб-браузеры. Игры
    может быть со ...
    Скачать Фазер
  • 2
    VASSAL Двигатель
    VASSAL Двигатель
    VASSAL - игровой движок для создания
    электронные версии традиционной доски
    и карточные игры. Он обеспечивает поддержку
    рендеринг и взаимодействие игровых элементов,
    и ...
    Скачать движок VASSAL
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF — это библиотека Java для создания
    и редактирование PDF-файлов с помощью LGPL и
    Лицензия с открытым исходным кодом MPL. OpenPDF – это
    LGPL/MPL преемник iText с открытым исходным кодом,
    и ...
    Скачать OpenPDF — форк iText
  • 4
    SAGA GIS
    SAGA GIS
    САГА - Автоматизированная система
    Геонаучный анализ - это географический
    Программное обеспечение информационной системы (ГИС) с
    огромные возможности для геоданных
    обработка и анализ ...
    Скачать ГИС САГА
  • 5
    Панель инструментов для Java / JTOpen
    Панель инструментов для Java / JTOpen
    IBM Toolbox for Java / JTOpen — это
    библиотека классов Java, поддерживающая
    клиент/сервер и интернет-программирование
    моделей в систему под управлением OS/400,
    i5/ОС, о...
    Скачать набор инструментов для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (или D3 для документов, управляемых данными)
    это библиотека JavaScript, которая позволяет вам
    для создания динамических интерактивных данных
    визуализации в веб-браузерах. С D3
    вы...
    Скачать D3.js
  • Больше »

Команды Linux

Ad