Catalog · How the catalog works
dmm2xm
Converter of Doom2D music to tracker music XM and vice-versa.
- ★ 1 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
Кое-что про dmm2xm
==================
Написано 14 сентября 2007 года и дополнено много лет спустя.
Данный текст имеет смысл, будучи приложен к dmm2xm v1.5.1.
Содержание
==========
* Описание
* Использование
* Обратная конвертация
* Сообщения программы
* Новости
* На будущее
* Благодарности
* Прочее
Описание
========
dmm2xm, как понятно из названия, конвертирует музыку из формата
DMM в более распространенный формат XM, который можно проиграть
в Winamp'е, XMPlay, или практически в любом другом проигрывателе.
Также можно загрузить полученную XM в трекере (Open ModPlug
Tracker, BeRoTracker, MilkyTracker и другие), и отредактировать
музыку, улучшить инструменты, сделать ремикс и прочее.
dmm2xm претендует на полную конвертацию, а также даже добавляет
стерео и исправляет некоторые оригинальные сэмплы, что улучшает
качество оригинальной музыки.
Начиная с версии 1.0, доступна и обратная конвертация, из XM и MOD
в DMM. Большинство простых мелодий конвертируются неплохо.
Сложные мелодии необходимо предварительно отредактировать.
Подробности в разделе "Обратная конвертация".
DMM используется в игре Doom2D (c) Prikol Software.
Сделано для проекта Doom2D: Forever (http://www.doom2d.org/)
и всех фанатов игры Doom2D.
Использование
=============
dmm2xm может конвертировать музыку как из DMM и прилагающихся
к ним инструментов, так и напрямую из doom2d.wad.
Теоретически, программа работает и с другими вадниками с DMM,
если найдешь такие, пожалуйста, дай мне знать.
Инструменты ищутся в пяти местах:
- в указанном ваднике;
- рядом с указанным файлом;
- в папке dmm2xm;
- в папке dmi\ рядом с указанным файлом;
- в папке dmm2xm\dmi\.
Инструменты должны называться по форме "DMI00nn" без расширения.
dmm2xm имеет синтаксис:
dmm2xm [-q <число>] [-r <число>] [-o <файл>] [-f <имя>] [-m] [-b]
<файл.dmm>|<файл.wad>
Примеры:
dmm2xm -q 8 -o с:\music\doom2d\ayoy.xm АЙОЙ.dmm
dmm2xm ALLRIGHT.dmm
dmm2xm doom2d.wad (выведет список доступных имен)
dmm2xm -f ALLRIGHT doom2d.wad
Можешь перетягивать DMM на иконку dmm2xm, если ты фанат эксплорера,
только будешь лишен многих возможностей.
-q, Quantization - значение, на сколько округляются задержки нот.
Чем оно больше, тем компактнее записываются ноты.
В DMM обычно встречаются задержки 8, 12, 16 и большие, а значит,
чаще всего можно округлить на 4 без боязни сбить ноты с ритма.
Это значение и поставлено по умолчанию.
Выставляй наибольшее значение, которое не приводит к предупреждениям.
Для "АЙОЙ.dmm", например, подходит 8.
-r, Rows - на сколько максимум строк делить паттерны. Для удобства
редактирования, возможно, будет удобно поставить значение вместо 256,
например, 32, 48, 64 или 96.
-o позволит сохранить в XM с другим
именем или в другом месте.
-f указывает, какой файл брать из doom2d.wad.
Имя файла чувствительно к регистру.
-m оставляет музыку в моно, вместо конвертации в стерео.
-b включает режим эмуляции бага, возникающего в игре при использовании
SoundBlaster на частоте 44 КГц. Глюк заключается в повышении тона на
половину ноты, в результате музыка и звуки в игре звучат чуть быстрее.
Достать файлы из doom2d.wad можно с помощью плагина QPak для Far'а
(http://downloads.sourceforge.net/farplugins/qpak162.rar).
Обратная конвертация
====================
Если ты хочешь вставить музыку в карту классического Doom2D,
то эта функция для тебя.
Синтаксис:
dmm2xm [-o <файл>] <файл.xm>|<файл.mod>
Пример:
dmm2xm song.xm
Многие эффекты не поддерживаются из-за ограниченности формата DMM,
а некоторые пока не реализованы.
Поддерживаемые в текущей версии эффекты:
----------------------------------------------------------------------
Эффект Название Примечание
----------------------------------------------------------------------
Cxx Установка громкости Установка ненулевой громкости без ноты
не поддерживается (ограничение DMM).
Dxx Разрыв паттерна Параметр игнорируется, следующий
паттерн записывается с первой строки.
Fxx Установка скорости Поддерживается полностью.
----------------------------------------------------------------------
Как лучше отредактировать музыку перед обратной конвертацией:
- Постараться, чтобы темп (BPM) был кратен 125 или 166, иначе
полученная DMM может звучать быстрее или медленней оригинала.
Для этого можно добавить в свободную строчку переменных
эффектов Fxx, например, так: F04 F03 F04 F03 ...
- Постараться, чтобы не звучало слишком низких или слишком высоких
нот, а также не было сэмплов с высокой частотой (предположительно
больше 44000 Гц), иначе Doom2D будет играть такие ноты как одну и
ту же. Тестируй.
- Избавиться от таких случаев, когда нота затихает от эффекта Axx
(Volume slide), в Doom2D она не будет затихать. Желательно
поставить выключение ноты где-то после середины громкости ноты.
- Иногда лучше заменить установку громкости ноты на ее
выключение, если громкость устанавливается отдельно от ноты.
Doom2D будет играть ее с начальной громкостью.
- Если есть ноты, переходящие на следующий паттерн, то в DMM они
затихнут. Можно либо продублировать ноту, либо склеить паттерн
со следующим.
Сообщения программы
===================
"Error: file not found!"
Правильно указывай файл.
"Error: invalid quantization value, should be 1 <= Q <= 31."
Правильно указывай округление.
"Error: unknown DMM format!"
Программа конвертирует только DMM и только версии 0.
"Warning: quantization may be wrong or too large, misaligned N notes."
В некоторых мелодиях ноты смещены изначально, например, имеют
задержку 15, 17, 31, или 33 ("ДУШЕВНАЯ.dmm"). Тут можно не
беспокоиться, и ставить округление 8. Ноты выправятся до задержек
16 и 32, как и должно быть по идее.
Обычно смещений мало, от 2 до 33 в таких случаях.
Чтобы не мучиться с округлениями, советую воспользоваться
"conv_wad.bat" для doom2d.wad или "conv_dmm.bat" для уже
выдранных DMM.
Сообщения c "possibly broken data" можно получить, только подсунув
программе битые (неправильно выдранные) DMM.
"Warning: found more than 11 instruments, stereo is not available."
С одной стороны, тебя можно поздравить, ты нашел нестандартный DMM
с большим количеством инструментов. С другой стороны, в программе
отсутствует таблица для превращения такого количества инструментов
в стерео.
Новости
=======
Что изменилось в текущей версии dmm2xm.
v1.5.1 [13.04.2023]
- Подкорректировано исправление предыдущего бага.
v1.5 [31.03.2023]
- Исправлен баг в конвертации xm->dmm: сдвигались ноты из-за длинных задержек.
v1.4.1 [21.12.2013]
- Добавлена эмуляция бага с SoundBlaster на 44 KHz при конвертации dmm->xm
v1.4 [14.04.2013]
- Изменен механизм записи нот, теперь используется эффект задержки нот,
чтоб лучше вписаться в паттерн. Конвертация точна как никогда!
- Также используется эффект задержки самого паттерна - лучше избегать
появления, так как не все проигрыватели поддерживают.
- Если количество строк в паттерне больше заданного максимума
(по умолчанию 256), они разделяются на несколько паттернов.
- Программа выводит больше информации.
- Автоматическая поправка некоторых сэмплов из игры.
- Изменена обработка командной строки. Без файла и с -f подразумевается
doom2d.wad.
- Если отсутствует порядок паттернов в DMM, программа создаст его сама.
v1.3 [18.11.2007]
- Мелкие исправления.
v1.2 [02.11.2007]
- Установка нулевой скорости игнорируется в обратной конвертации.
- Еще немного исправлена обратная конвертация.
v1.1 [01.11.2007]
- Исправлен баг с пищанием в обратной конвертации.
- Исправлено определение скорости, добавлен эффект Fxx в обратной
конвертации.
- Мелкие исправления.
v1.0 [01.10.2007]
- Исправлена и изменена генерация цикла. Теперь цикл соответствует
оригиналу.
- Изменена конвертация из DMM в XM. На слух отличий нет, файлы стали
меньше.
- Доступна обратная конвертация!
- У инструментов убрано расширение.
- Добавлена возможность оставить музыку в моно.
- Исправления.
v0.9 [20.09.2007]
- Ускорена конвертация на порядок.
- Улучшена работа с командной строкой.
- Теперь можно доставать музыку напрямую из doom2d.wad и других WAD.
- Батник "convall.bat" разделен на "conv_dmm.bat" и "conv_wad.bat".
- Мелкие исправления.
v0.8
- Добавлено стерео.
- Мелкие исправления.
v0.7
- Исправлено перенаправление вывода в файл, написан батник
"convall.bat".
- Исправлен баг с задержкой ("КОНЕЦ.dmm" теперь можно слушать).
- Улучшены сообщения о смещенных нотах, теперь легко посмотреть в
трекере, какая нота не туда попала, или наоборот, удачно округлилась
и встала на место.
- Теперь удаляются неиспользуемые каналы.
- Программа не ругается на пустые инструменты.
- Мелкие исправления.
v0.6 [14.09.2007]
- Первая публичная версия.
На будущее
==========
Что планируется в следующих версиях dmm2xm:
- Улучшить обратную конвертацию? Хотя я вам скажу, ребята,
поддерживайте лучше стандартные трекерные форматы!
Благодарности
=============
Спасибо BeRo за модуль BeRoXM для Delphi, пишущий XM.
Спасибо 3EPHOEd'у за документацию формата DMM и за батник.
Спасибо Jabberwock'у за тестирование.
Спасибо -=CHE@TER=-'у за читалку вадников.
Спасибо Черному Думеру за указание на ошибку, связанную со слишком
большими паттернами.
Прочее
======
Все треки из игры конвертируются 1 в 1.
Неточности в них - от самих авторов.
В папке source ты найдешь исходники dmm2xm.
Они будут компилироваться любой версией Delphi, начиная с четвертой,
а также Free Pascal'ем, начиная с версии 2.0.4.
Если найдешь баги, или захочешь что-нибудь сказать,
с Grom PE можно связаться
- по почте или джабберу: i@grompe.org.ru
- через сайт: http://grompe.org.ru/
Со мной (т.е. с wormsbiysk`ом) можно связаться:
- так же, по почте: wormsbiysk@yandex.ru
- либо, что лучше, оставив сообщение на форуме Doom 2d:Forever
http://doom2d.org
С уважением, Grom PE и Артем Васильев (wormsbiysk\LSA)
