Просмотр полной версии : Начинаю музыкальный редактор для Апогея
Kakos_nonos
05.05.2014, 21:53
Решил написать музыкальные редактор типа Трекер для Апогея, чтоб на нём можно было писать музыку для дем. По функциональности будет как Beepola, только с поддержкой орнаментов. Будут также ударные (шум), но только в режиме проигрования. Если использовать эту музыку в демах, то шум ударных не будет. Также Полученный муз. файл можно экспортировать и перекомпилировать на другие платформы с ВИ53.
Буду отписываться о ходе работы и публиковать наработки.
Если у кого есть какие-то мысли, высказывайте. Будем обсуждать.
Kakos_nonos
14.05.2014, 22:47
Первые результаты работы:
Редактор паттерна уже готов, пока не играет, можно только редактировать.
Клавиши следующие:
Вверх, вниз, вправо, влево - навигация
z,x,c,...,/ - ноты текущей октавы
q,w,e,...p - ноты +1 октавы
Shift+z,x,c,...,m - ноты +2 октавы
backspace - удалить ноту
~ - R--
Shift +0..9 - выбрать автоприбавление
Numpad 8,9 - выбрать октаву.
Потестируйте, удобно ли, может какие либо замечания или пожелания будут.
http://yadi.sk/d/cyi3fhT2QEHfk
Kakos_nonos
19.05.2014, 19:33
Реализовал редактор списка паттернов, теперь редактор мелодии полностью готов, приступаю к редактору инструментов.
http://img-fotki.yandex.ru/get/9823/84851575.0/0_de486_29104c37_orig
Kakos_nonos
28.05.2014, 19:29
Уже готов редактор инструментов.
Приступаю к проигрователю.
http://img-fotki.yandex.ru/get/9315/84851575.0/0_df23c_a5c3a2d1_orig
Также должен сказать, что будет версии редактора для РК, ЮТ-88 и других, если потребуется.
Kakos_nonos
19.06.2014, 18:24
Проигрователь инструментов готов. Можно его попробовать:
Клавиши такие:
стрелки - навигация.
Numpad 3 и . - изменить номер редактируемого инструмента.
Numpad 8 и 9 - изменить октаву (нужна при проигровании)
Numpad 1 и 2 - изменить число под курсором.
tab - Drum. Установить в текущую позицию ударник. Курсор должен быть в первом столбце, во втором вводится число 1-8 - параметр для генерации шума.
Backspace - удалить позицию. Звук не будет изменяться с текущей позиции.
Del - вставить тишину (Mute).
Shift+1 - установить начало цикла.
Shift+2 - установить конец цикла
Инструмент строется из 2-х столбцов, по 30 позиций в каждом. Первый - отклонение по полутонам. +00 - это текущий тон, который устанавливается в паттерне текущей нотой. +01 - это следующий по хроматической шкале. То есть, если в паттерне стоит C-3, то будет играть С#3. Также в сепром столбце можно ставить специальные метки. Например, D. Это означает ударник, напротив можно установить параметр от 1 до 8. M, означающий тишину. Можно также убрать из текущей позиции значение, тогда звук не будет меняться.
Второй столбец нужен для более точного сдвига частоты звука. Если слева стоит нота (+00 или +12, какое либо число), изменяется выбранная нота. Если стоит пустота (точка), то отклонение прибавляется к играемому в данный момент звуку. Так, загнав такое отклонение в цикл, можно добиться эффектов портаменто или глиссадо, а также добиться звучания четвертьтонов.
Позиции переключаются 60 раз в секунду.
В редакторе их можно играть, нажимая стандартные кнопки, как и в редакторе паттернов: z,x,c,v... и q,w,e,r...
Ссылка: https://yadi.sk/d/rHTsZ3eFU5pPe
Пока что сумбурное описание, потом напишу более понятное.
Позиции переключаются 60 раз в секунду.
а не 50 ?
откуда 60 ?
Kakos_nonos
19.06.2014, 19:24
При установке видеорежима 8 строк в знакоместе частота меняется на 60 гц. А при 10ти есть расстояния между знакоместами, что неприемлемо для дем и графики.
Kakos_nonos
29.07.2014, 15:39
Вот пример простой музыки из трёх паттернов, с несколькими инструментами, есть ударные.
Запускать так: запсутить run.bat, потом нажать enter. Музыка должна заиграть.
есть небольшой глюк, с проигрыванием ударных, они звучат по-разному. Сейчас разбираюсь.
В принципе, уже можно писать музыку, но надо добавить всякие фичи типа копирования, транспонирования, а также загрузку/сохранение мелодий.
Cкачать https://yadi.sk/d/67-8QRYIYJx6t
demetrius2003
31.07.2014, 08:29
Запустил БАТ, нажал Ентер и ничего. Такое впечатление, что эмуль висит.
gurfunkel
31.07.2014, 11:43
У меня работает. Риспект Какосу. Интересно трекер будет работать на реале?
Kakos_nonos
31.07.2014, 12:50
У меня работает. Риспект Какосу. Интересно трекер будет работать на реале?
Будет конечно, на это и нацел. Там, правда, раскладка другая (JCUKEN), поэтому будет 2 версии.
А смысл его ковырять какой был? ИМХО в современных реалиях достаточно было просто плеера... а корябать в той же самой биполе....
Kakos_nonos
01.08.2014, 22:36
Вот демонстрация работы трекера на реале. Я там сонный и уставший, поэтому неадекватный немного :)
http://www.youtube.com
---------- Post added at 22:36 ---------- Previous post was at 22:34 ----------
А смысл его ковырять какой был? ИМХО в современных реалиях достаточно было просто плеера... а корябать в той же самой биполе....
Бипола не поддерживает некоротых фунцкий, например длинных инструментов, ударных, которые в ви есть (трекер 192 вида поддерживает). К тому же, работать на реале куда приятнее.
Ваще круто! Я все-таки никак пока не решусь ВИ53 к Поиску прикрутить, но если будет хотя-бы пара-тройка мелодий, то точно спаяю. Ну и к IBM PC заодно на ISA-8. Во буржуи в шоке будут :) Можно даже на каком-нить пати в wild показать, чего с таймером можно вытворять. Звук кстати офигенский.
Kakos_nonos
05.08.2014, 21:29
Вот очередная тестовая версия.
Редакторы паттернов и инструментов уже готовы, реализовал в них всё что планировал.
Обнаружилась проблема, что отрисовка паттерна, заполненного нотами не влезала во фрейм. Пришлось оптимизировать, но ценой появления в коде вот таких участков:
TSIFRY:
.TEXT "00"
.TEXT "01"
.TEXT "02"
.TEXT "03"
.TEXT "04"
.TEXT "05"
.TEXT "06"
.TEXT "07"
.TEXT "08"
.TEXT "09"
.TEXT "10"
.TEXT "11"
.TEXT "12"
.TEXT "13"
.TEXT "14"
.TEXT "15"
.TEXT "16"
.TEXT "17"
.TEXT "18"
.TEXT "19"
.TEXT "20"
.TEXT "21"
.TEXT "22"
.TEXT "23"
.TEXT "24"
.TEXT "25"
.TEXT "26"
.TEXT "27"
.TEXT "28"
.TEXT "29"
.TEXT "30"
.TEXT "31"
.TEXT "32"
.TEXT "33"
.TEXT "34"
.TEXT "35"
.TEXT "36"
.TEXT "37"
.TEXT "38"
.TEXT "39"
.TEXT "40"
.TEXT "41"
.TEXT "42"
.TEXT "43"
.TEXT "44"
.TEXT "45"
.TEXT "46"
.TEXT "47"
.TEXT "48"
.TEXT "49"
.TEXT "50"
.TEXT "51"
.TEXT "52"
.TEXT "53"
.TEXT "54"
.TEXT "55"
.TEXT "56"
.TEXT "57"
.TEXT "58"
.TEXT "59"
.TEXT "60"
.TEXT "61"
.TEXT "62"
.TEXT "63"
.TEXT "64"
.TEXT "65"
.TEXT "66"
.TEXT "67"
.TEXT "68"
.TEXT "69"
.TEXT "70"
.TEXT "71"
.TEXT "72"
.TEXT "73"
.TEXT "74"
.TEXT "75"
.TEXT "76"
.TEXT "77"
.TEXT "78"
.TEXT "79"
.TEXT "80"
.TEXT "81"
.TEXT "82"
.TEXT "83"
.TEXT "84"
.TEXT "85"
.TEXT "86"
.TEXT "87"
.TEXT "88"
.TEXT "89"
.TEXT "90"
.TEXT "91"
.TEXT "92"
.TEXT "93"
.TEXT "94"
.TEXT "95"
.TEXT "96"
.TEXT "97"
.TEXT "98"
.TEXT "99"
NOTY:
.TEXT "C-1"
.TEXT "C#1"
.TEXT "D-1"
.TEXT "D#1"
.TEXT "E-1"
.TEXT "F-1"
.TEXT "F#1"
.TEXT "G-1"
.TEXT "G#1"
.TEXT "A-1"
.TEXT "A#1"
.TEXT "B-1"
.TEXT "C-2"
.TEXT "C#2"
.TEXT "D-2"
.TEXT "D#2"
.TEXT "E-2"
.TEXT "F-2"
.TEXT "F#2"
.TEXT "G-2"
.TEXT "G#2"
.TEXT "A-2"
.TEXT "A#2"
.TEXT "B-2"
.TEXT "C-3"
.TEXT "C#3"
.TEXT "D-3"
.TEXT "D#3"
.TEXT "E-3"
.TEXT "F-3"
.TEXT "F#3"
.TEXT "G-3"
.TEXT "G#3"
.TEXT "A-3"
.TEXT "A#3"
.TEXT "B-3"
.TEXT "C-4"
.TEXT "C#4"
.TEXT "D-4"
.TEXT "D#4"
.TEXT "E-4"
.TEXT "F-4"
.TEXT "F#4"
.TEXT "G-4"
.TEXT "G#4"
.TEXT "A-4"
.TEXT "A#4"
.TEXT "B-4"
.TEXT "C-5"
.TEXT "C#5"
.TEXT "D-5"
.TEXT "D#5"
.TEXT "E-5"
.TEXT "F-5"
.TEXT "F#5"
.TEXT "G-5"
.TEXT "G#5"
.TEXT "A-5"
.TEXT "A#5"
.TEXT "B-5"
.TEXT "C-6"
.TEXT "C#6"
.TEXT "D-6"
.TEXT "D#6"
.TEXT "E-6"
.TEXT "F-6"
.TEXT "F#6"
.TEXT "G-6"
.TEXT "G#6"
.TEXT "A-6"
.TEXT "A#6"
.TEXT "B-6"
.TEXT "C-7"
.TEXT "C#7"
.TEXT "D-7"
.TEXT "D#7"
.TEXT "E-7"
.TEXT "F-7"
.TEXT "F#7"
.TEXT "G-7"
.TEXT "G#7"
.TEXT "A-7"
.TEXT "A#7"
.TEXT "B-7"
.TEXT "C-8"
.TEXT "C#8"
.TEXT "D-8"
.TEXT "D#8"
.TEXT "E-8"
.TEXT "F-8"
.TEXT "F#8"
.TEXT "G-8"
.TEXT "G#8"
.TEXT "A-8"
.TEXT "A#8"
.TEXT "B-8"
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "..."
.TEXT "R--"
.TEXT "..."
Что добавилось:
* Добавил проигрования отдельного паттерна и проигрования с начала.
* Добавил [ ] =
* Добавил возможность зацикливания мелодии.
* Добавил включение/отключение вывода паттевна во время проигрования.
Новые клавиши:
Shift+Q, Shift+W - Установка зацикливания мелодии (То же самое теперь и в редакторе инструментов, было Shift+1,2)
Shift+E - Включить/выключить скролл паттерна во время проигрования мелодии
Delete - играть один паттерн по кругу
Tab - играть музыку с начала.
Теперь приступаю к доп. Функциям таким как сохранение, загрузка, транспонирование, копирование.
https://yadi.sk/d/2UUcVYbpZ8bgW
Kakos_nonos
06.08.2014, 15:19
Набросал инструкцию:
Редактор паттернов:
Стрелки - навигация по паттерну
z,x,c,v.. q,w,e,r.. - ноты
~ - R--
Backrpase - удалить ноту
Shift+0..9 - установить autoinc
Shift+q,w - установить цикл мелодии
Shift+e - включить/выключить показ паттерна во время проигрования
numpad 8,9 - изменить октаву
numpad 1,2 - изменить положение в паттерне
numpad 3, . - изменить значение текущей позиции в паттерне
numpad 7 - идти в редактор инструментов
Enter - играть музыку с текущей позиции
Delete - играть один паттерн по кругу
Tab - играть музыку с начала
Редактор инструментов
стрелки - двигать курсор
numpad 8,9 - изменить октаву
numpad 1,2 - изменить значение под курсором
numpad 3,. - выбор инструмента
numpad 7 - идти в редактор редактор паттернов
Shift+q,w - установить цикл
z,x,c,v.. q,w,e,r.. - играть ноту
Del - установить M
Backspace - установить .
Tab - установить D
В редакторе инструментов два столбца. В первом устанавливаются отклонения по полутонам и команды, во втором - более мелкие отклонения.
D - шум. Имеет 191 вид.(-96..-1, 1..96).вид указывается во втором столбце напротив.
M - тишина. Второй столбец не имеет значения.
. - не изменять частоту по полутонам. Будут изменения только по второму столбцу.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot