Vortex Tracker Improved rereleased (+src)

Теперь уже общеизвестно, что HYPE — лучшая гештальт-терапия.

Вот и я рад завершить решительный этап, и сделать то, что должен был сделать ещё несколько лет назад: выпустить модифицированную версию VortexTracker Improved с исходным кодом.

Vortex Tracker Improved (+src)



По ссылке вы найдёте две последние сборки VTi: с поддержкой MIDI и без.

Исходники также организованы в две ветки: master (no_midi) и midi.

Fork'айте, дорабатывайте, ужасайтесь быдлокоду =)

P.S. Огромное спасибо Сергею Бульбе (автору оригинального VortexTracker), всем, кто помогал его дорабатывать, и всем, кто пользуется им сейчас и пишет музыку =)

P.P.S. Основные отличия от оригинальной версии:

— поддержка (5-ой частотной таблицы с нулевой погрешностью (природный звукоряд и нулевая погрешность дают нам точную кратность частот огибающей и тона, что, в свою очередь, даёт нам удивительно чистые созвучия и чистый бас на огибающей+тон)
— хранение огибающей как ноты (что позволяет чисто и точно транспонировать и тон и огибающую, а также прозрачно переводить музыкальный модуль из одной частотной таблицы в другую
— множество горячих клавиш (быстрое переключение между режимами, транспонирование тона, громкости и д.р.)
— поддержка MIDI (автоперевод аккордов в орнаменты и/или в смещение частоты семпла)
— etc… подробнее в обсуждении на форуме zx.pk.ru

35 комментариев

avatar
Почему не сделал там функцию автоавтосирил?
  • sq
  • +2
avatar
oisee , а можно подробнее что именно там improved?
  • VBI
  • +2
avatar
Хороший вопрос.

Главные отличия, это:

— поддержка (5-ой частотной таблицы с нулевой погрешностью (природный звукоряд и нулевая погрешность дают нам точную кратность частот огибающей и тона, что, в свою очередь, даёт нам удивительно чистые созвучия и чистый бас на огибающей+тон)
— хранение огибающей как ноты (что позволяет чисто и точно транспонировать и тон и огибающую, а также прозрачно переводить музыкальный модуль из одной частотной таблицы в другую
— множество горячих клавиш (быстрое переключение между режимами, транспонирование тона, громкости и д.р.)
— поддержка MIDI (автоперевод аккордов в орнаменты и/или в смещение частоты семпла)
— etc… подробнее в обсуждении на форуме zx.pk.ru
avatar
наивная мечта, конечно же, но PSG tracker нужен иногда. Вот бы и Вортекс хавал…
avatar
Не совсем понял о чём речь.
avatar
редактор PSG нужен, но это из разряда хотелок.
avatar
Ну, то есть по сути, редактор дампа регистров?

Были подобные мысли: инструмент для работы с потоком регистровых данных, по аналогии с WAV, с управлением, организованным как в Ableton Live. Вполне здравая и реализуемая идея даже на реалах, в том числе для живых выступлений =)
avatar
Ну по идее PSG — специфичный формат дампа.
там, в треде есть описание:
zx-pk.ru/showthread.php?t=23892
avatar
Всё-таки поясни что ты имеешь ввиду под редактором PSG?

Я вот когда думаю об этом, представляю себе что-то вроде мультиканального WAV-редактора (по числу каналов AY/YM), в котором пофреймово можно просмотреть и поменять все события, можно делать cut/paste/transpose/loop, можно алгоритмически почистить события (подготовить к сжатию).

Ну то есть это отдельный инструмент для мастеринга результатов работы AY-плейера.

Опиши подробнее как себе представляешь инструмент ты.
avatar
Как в воротекс трекере закруглять мелодию, чтоб по кругу играла, куда жать??
  • AAA
  • +1
avatar
Встать на первую позицию списка паттернов и нажать «L»:

avatar
Как просто, а я кодеров мучаю…
avatar
Очень хочется:
1. Нормальный режим turbosound, а не это, извиняюсь, бл"№"№«во с двумя окнами и двумя наборами сэмплов
2. Удобный сэмпл-банк с категориями. Чтобы можно было созранять и быстро подгружать удачные сэмплы.
avatar
Теперь ни у кого нет никакого отмаза чтобы не добавить это! =)
avatar
Боюсь что по п.1 проще переписать редактор)
avatar
т.е. никогда)
avatar
Ну блин, я похоже умею материализовывать мысли :)
Только подумал, что oisee выложит исходники своей версии VTII, и тут этот пост! :D
avatar
Отлично! Подумай теперь про меня что-нибудь хорошее =)
avatar
На всякий случай: история изменений =)
UPD1:

CTRL + HOME – в самый верх канала
CTRL + END – в самый низ канала

CTRL + UP – в самый верх канала
CTRL + Down – в самый низ канала

CTRL + PGUP – в середину паттерна (канала) (32-ая позиция)
CTRL + PGDown – в 3/4 паттерна (канала) 48-я позиция

NUM_PLUS – следующий паттерн
NUM_MINUS – предыдущий паттерн

CTRL + NUM_PLUS — паттерн следующей позиции, следующая позиция
CTRL + NUM_MINUS – паттерн предыдущей позиции, предыдущая позиция

SHIFT + NUM_PLUS – транспонирование на полутон
SHIFT + NUM_MINUS – транспонирование на полутон

CTRL + SHIFT + NUM_PLUS – транспонирование на октаву
CTRL + SHIFT + NUM_MINUS – транспонирование на октаву
NUM[*] или CapsLock – делает MUTE Всем каналам кроме текущего, на каналах с Envelope и Noise – вкл/выкл Envelope/Noise на всех каналах.

сдвижка/раздвижка паттерна — CTRL+SHIFT + [/] и CTRL+SHIFT +[*]

UPD2:
Теперь если находясь в канале огибающей нажать на любую клавишу, соответствующую ноте, в канал проставится её частота (с коэффициентами у AutoEnvelope) Это на порядок удобнее чем собственно сам AutoEnvelope (так как практически всегда сами каналы забиты и экспериментировать негде).

Вручную цифровое значение огибающей можно ввести данные ввести удерживая Shift (Shift + [0..9 A..C]).

Наконец-то к каналу огибающей начали относиться с должным уважением =) и приблизили его к нормальным нотам =)

UPD3:
Теперь огибающая отображается как нота, если её период совпадает с периодом ноты (note period/16 = envelope period).

режим отображается галочкой в верхнем правом углу окна редактора, гоячая клавиша для его смены -> [/] на цифровой клавиатуре.

UPD4:
Ура-Ура! =) добавлен переключатель Hex/Dec:

File -> Options -> Compatibility -> «Dec Base».

VT_N06.exe
UPD5:

Поддержка горячих клавиш в Sample Editor.

CTRL+HOME, CTRL+END/ CTRL+PGDOWN, CTRL+PGUP/ — в начало/конец семпла.

INS — Дублирование текущей позиции семпла с раздвижкой.
DEL — Удаление текущей позиции семпла со сдвижкой.

SHIFT + HOME — установка позиции на которую происходит зацикливание (loop)
SHIFT + END — установка последней позиции (Lenght).

CTRL + INS — копирование в текущую позицию семпла позиций, ограниченных зацикливанием — Loop / length.

в режиме редактирования добавлена горячая клавиша CTRL + `

— быстрое переключение в режим Sample Editor.
avatar
UPD6: 25.o7.2oo9
1) при создании или открытии файла фокус сразу устанавливается на окно редактирования (можно сразу начинать рулить с клавиатуры, не выбирая окно мышью)
к мышке можно практически не прикасаться.

2) находясь на любом элементе MDI-формы можно горячей клавишей перейти в один из режимов:

CTRL+` — редактор паттернов,
CTRL+1 — редактор семплов,
CTRL+2 — редактор орнаментов,

3) в редакторе семплов и орнаментов добавлены следующие горячие клавиши:

CTRL+[+] (плюс на цифровой клавиатуре) — следующий семпл (орнамент)
CTRL+[-] (плюс на цифровой клавиатуре) — предыдущий семпл (орнамент)

CTRL+HOME, CTRL+PGUP — в начало семпла (орнамента)
CTRL+END, CTRL+PGDOWN — в конец семпла (орнамента)

INS — Дублирование текущей позиции семпла (орнамента) с раздвижкой.
DEL — Удаление текущей позиции семпла (орнамента) со сдвижкой.

SHIFT + HOME — установка позиции на которую происходит зацикливание (loop).
SHIFT + END — установка последней позиции (Lenght).

4) копирование/вставка семплов/орнаментов:
CTRL + A — выбор всех позиций семпла (орнамента),

CTRL+INS — копирование выделенных позиций семпла (орнамента) в буфер.
(выделенными считаются «зацикленные» позиции).
SHIFT+INS — вставка позиций семпла (орнамента) из буфера в текущую позицию

5) в режиме орнамента реализован ввод смещений как нот
то есть при нажатии на кнопку Z, которая соответсвует ноте С (до) будет введено нулевое смещение. при нажатии на кнопку X, которая соответсвует ноте D (ре) будет введено смещение +2, и т.д.

Кажется все изменения =)

+ улучшено транспонирование огибающей. — она транспонируется строго по таблице нот (а не умножается на коэффициент, что приводил к неправильному транпонированию в нетемперированных звукорядах).
Сборка VT_N09.exe (см. первый пост темы).

UPD7: 26.o7.2oo9
В новой версии VT_N0A_RC.exe:

1) пофиксены баги.
2) транспонирование громкости:
выделить только позицию с громкостью (SHIFT + CURSOR)

затем нажать SHIFT+[+] или SHIFT+[-] — для смещения громкости выделенном фрагменте вверх или вниз.

либо нажать CTRL+SHIFT+[+] или CTRL+SHIFT+[-] — для смещения громкости выделенном фрагменте вверх или вниз, но только для каждой нечётной громкости для упрощения создания эхоэффекта.

и самое клёвое:
3) автоматическая конвертация огибающей из частотной таблицы в частотную таблицу =)

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

периоды, которые не распознались как ноты — транспонируются просто пропорционально.

Данная версия носит гордое название «Релиз кандидата». то есть все фичи, которые я планировал добавить в VT — я добавил. Теперь будут только вылавливаться баги.

UPD8: 26.o7.2oo9
подправлена автоконвертация — не на всех музонах она отрабатывала (отваливалась на пустых паттернах).

UPD9: 26.o7.2oo9 day

Косметическая, но очень полезная фича. Подсветка в семплах и орнаментах позиций, соответствующих выставленной в модуле скорости.
То есть если Speed = 3, то будет подсвечена каждая 3-я позиция.

UPD:A: 27.o7.2oo9 night

горячие клавиши листания семплов/орнаментов в редакторе семплов орнаментов (CTRL+[+] и CTRL+[-]) теперь работают и в режиме «тестовой строки» (тестирование семпла/орнамента).
avatar
UPD:B o5.o8.2oo9 night

Ура-Ура! =) новая версия =)

VT_1.2RC5.exe:

1) исправлен баг с ошибками редактора при закрытии окна во время проигрывания.

2) теперь фрагменты семпла при копировании/вставке выделяются не с помощью установки начала/конца петли повтора, а независимым счётчиком.

то есть SHIFT+HOME, SHIFT+END — это по-прежнему установка начала/конца петли.

а SHIFT+UP/SHIFT+DOWN — это выделение фрагмента семпла для копирования.

CTRL+INSERT — копирование.
SHIFT+INSERT — вставка.

выделение снимается если отпустить SHIFT и передвинуть курсор куда-нибудь.

UPD:B o5.o8.2oo9 night 2
Внезапно ещё одно улучшение:

1) можно тестировать текущий семпл прямо во время редактирования, без необходимости заходить в «Тестовую строку».

для этого нужно всего-лишь нажать нотную клавишу с зажатым SHIFT'ом.

и текущий семпл или орнамент будут проигрываться.

Любые изменения в них сразу будет слышно.

Ура-ура! =) гигавозможность инспирированная n1k-o =)

1)теперь в редакторе семплов можно рисовать мышкой где угодно (за пределами семпла, — размер семпла автомпатически скорректируется).

2) если вставка фрагмента семпла из буфера требует увеличения его длины — он увеличится.

3) (!!!) если в редакторе семплов нажать нотные клавиши с зажатыми CTRL+SHIFT то вводятся смещения периода тона от базовой частоты тестовой ноты (той, которая написана в тестовой строчке).

проще говоря, теперь можно вбивать темы и аккорды прямо в сэмпл.

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

VT_1.2RC888.exe:

1) подсветка позиций кратных скорости теперь выключается в настройках (там же где и DecBase).
2) настраивается автоотключение тестирования семпла или орнамента (либо затыкаться при отпускании Shift'а, либо играть всё время, до нажатия ESC).

3) отображение BPM.

UPD:B 19.o9.2oo9 Day
VT_1.2RCCCP.7z (333.1 Кб)


Bugfix (!) при создании нового файла в список позиций вносится текущий паттерн, длина модуля устанавливается равной еденице.

при открыти уже существующего файла исправлен баг с увеличением длины модуля.

VT_1.2RCEUROPE.exe.7z

Новая версия.

Теперь в режиме редактирования семпла позиция в которой вы будете нажимать CTRL+SHIFT для ввода смещения от базовой ноты, влияет на то, куда это смещение будет прописано, в смещение тона или в смещение огибающей.

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

Добавлена экспериментальная поддержка MIDI.

При старте выбирается первое попавшееся миди-устройство. Сменить его по-идее можно из File->Options вкладка WaveOut.

Кнопками Previous Device / Next Device можно по-идее перебирать MIDI-устройства. (Пока не проверял, так как не подключал более одного устройства).

Если во время работы редактора отключить единственное текущее выбранное (а может быть любое) MIDI-устройство, то он упадёт.

Чтобы этого избежать, можно в File->Options / WaveOut нажать на кнопку Stop MIDI.

VT_MIDIc.7z (с midi) — в сообщении выше.

Изменён алгоритм обработки события NoteOff, Теперь отпускание предыдущей нажатой midi-клавиши не глушит текущую ноту.

VT_1.2RCD.exe.7z (без midi) — в первом сообщении.

В обе версии добавлено клавиатурное сочетание CTRL+SHIFT+\

По этому сочетанию происходит автоматизированный расчёт периода слайда командами 1 или 2 до следующей встреченной ноты.

То есть становимся в ноту из которой нужно сделать слайд, нажимаем CTRL+SHIFT+\
редактор идёт вниз до следующей ноты, вычисляет разность периодов, делит на количество разделяющих их строк-помножить-на-скорость и ставит в позиции текущей ноты соответствующую команду (1 или 2) с нужным периодом.

Если ноты совпадают — ничего не происходит.
Если ноты до конца паттерна нет — ничего не происходит.

пофиксеная версия VT_MIDId:

1) исправлены кнопки Next/Prev.
2) Получаемые по MIDI ноты теперь не завышены на 2 октавы.
3) улучшена обработка MIDI-событий.

VT_MIDIj.exe

Обработка MIDI клавиатуры в режимах Samples и Ornaments приведена в соответствие с режимом Tracks (то есть отпускание той клавиши, которая уже не звучит — не приведёт к затыканию текущей звучащей ноты — то есть пофиксено то, что воспринималось как «затык» при быстрой игре).

Также MIDI клавиатура теперь работает в TestLine (аналочино обычной клавиатуре).

VT_MIDIk.exe

Теперь в режиме Ornaments если в TestLine зажать на MIDI-клавиатуре более 2-х клавиш, то при их отпускании зажатый аккорд будет трансформирован в орнамент.

Внимание: Undo при этом не работает.
avatar
Илья, а сделай, пожалуйста, redefine кнопок. Или кто-нибудь, сделайте плиз:) Я на пц не умею кодить от слова совсем..:(
Хочется текстовый ini-файл (как в unreal_speccy, например), где будет прописано действие=кнопка
  • bfox
  • +2
avatar
насколько помню, там настолько это всё гвоздями прибито — что проще для себя переопределить в коде и перекомпилировать =)
avatar
очень жаль:(
avatar
припоминаю, именно с этой просьбой когда-то просил модифицировать оригинал, чуть ли не под себя, спасибо за мод! :)
хорошая версия, пользуюсь ей много лет, всем рекомендую.
avatar
я помнится как-то заикался про хранение настроек программы в ини-файле, лежащем в той же папке, что и ехе-шник, а не в дебрях реестра hklm. еще можно надеяться? :)
avatar
По религиозным причинам — довольно сложно, так как сейчас, кажется, нет легального способа раздобыть Delphi -_-.
avatar
бывают не совсем легальные и совсем не легальные способы добычи, имхо, в нашем случае это будет не страшно. :)
avatar
Всем доброго времени суток! Требуется помощь в решении проблемы с Vortex Tracker II version 1.2 improved RC 2 При запуске выскакивает ошибка Floating Point Division by zero. Жмём ОК. Трэкер запускается, но слетают все настройки. При нажатии Play from start (F6) Вылетает ошибка Exception EMultiMediaError in moduleVT_MIDIk.exe at 000A39CD. Указанный формат не поддерживается или его нельзя преобразовать. Список допустимых форматов можно получить с помощью функции Capabilities. Буду очень признателен за помощь!
avatar
Проблема решена, всем спасибо =))
avatar
Но как? Я понимаю, что радость от решившейся проблемы затмевает желание поделиться решением с остальными, но всё же это хороший тон — рассказать о том как же там оно само решилось :)
avatar
у меня похожие каки выскакивали при попытке запустить вортекс на машине с правами простого пользователя. полагаю, тут та же ситуация.
avatar
Наверное VT как-то по-старообрядчески к реестру лезет.
avatar
Проблема возникла, когда в порыве говнорокерского экстаза, при запущенном Вортексе открыл второй. Работал с правами администратора. Почистил ветку реестра hkey_local_machine. Всё запустилось, правда настройки пришлось заново выставить.
avatar
теперь буду знать, что так делать не надо :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.