Doom2D/dmm2xm
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Кое-что про 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)