LINUX.ORG.RU

Чем редактировать музыку MOD?


0

1

Есть музыкальный файл из старой компьютерной игры. Формат MOD, нормально играется Timidity, MikMod и DeaDBeeF. Хочется отрезать последние несколько секунд и приклеить их в начало. Какой программой это проще сделать?

Зачем это делать? Файл предназначался для зацикленного воспроизведения, последние секунды — вступление.

★★★
Ответ на: комментарий от strangeman

Я спрашиваю про программу, которая на выходе дала бы тоже MOD. Разве Audacity так умеет?

olegd ★★★
() автор топика

MilkyTracker, нативно, свободно, есть в репозиториях арча. Либо сконвертировать в Wav и отредактировать audacity, но в результате файла в формате mod уже не получишь. Это как вектор растеризовать.

crowbar
()

Ставь OpenMPT под Wine, лучший трекер на сегодняшний день. В олдскульных тоже, в принципе, можно работать, но неудобно же. Впрочем, тебе, скорее всего, надо просто Orders поменять (не думаю, что трек прямо посреди паттерна обрывается), копипастить не придётся - с этим любой трекер легко справится.

MiniRoboDancer ★☆
()
Ответ на: комментарий от crowbar

MilkyTracker

Спасибо, поставил, но ещё не запускал.

Либо сконвертировать в Wav и отредактировать audacity, но в результате файла в формате mod уже не получишь. Это как вектор растеризовать.

Ну да, поэтому и спросил.

olegd ★★★
() автор топика
Ответ на: комментарий от MiniRoboDancer

OpenMPT

Если она закрытая, почему она «Open»? :)

Впрочем, тебе, скорее всего, надо просто Orders поменять (не думаю, что трек прямо посреди паттерна обрывается), копипастить не придётся - с этим любой трекер легко справится.

В терминологии не разбираюсь. Можно поподробнее?

olegd ★★★
() автор топика
Ответ на: комментарий от devl547

Импульс или Скрим в досбоксе.

Impulse Tracker и Scream Tracker? Спасибо. А как первый соотносится со Schism Tracker?

И звук выводить через Covox.

В чём юмор? LPT есть.

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

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

crowbar
()
Ответ на: комментарий от olegd

почему она «Open»? :)

Я откуда знаю? Так левой пятке автора захотелось. Может, он исходники по запросу выдаёт, не хочет свой говнокод напоказ выставлять.

Можно поподробнее?

Ну смотри. Вся композиция состоит из кусочков определённой длины - паттернов; каждый паттерн редактируется отдельно и имеет свой номер. По дефолту они располагаются по возрастающей. В Orders (в разных трекерах может называться по-разному) можно произвольно менять порядок паттернов, дублировать их, удалять.

MiniRoboDancer ★☆
()
Ответ на: комментарий от devl547

Ну не труЪ же.

Но труЪ дубовы же, и указательные устройства не поддерживают. Из более-менее удобных и с олдскульным интерфейсом есть SchismTracker (даже нативно под Linux вроде есть), но он процессорное время жрёт, как не в себя.

MiniRoboDancer ★☆
()

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

или можно в hex editor сделать. ищешь в файле буквы «M.K.», перед ними идет pattern table, 128 байт. каждый байт - номер паттерна в последовательности.

waker ★★★★★
()
Ответ на: комментарий от waker

лучше всего редактировать тем трекером, в котором этот mod был сделан.

Записано на Амиге в 1994 году или немного раньше :)

или можно в hex editor сделать. ищешь в файле буквы «M.K.», перед ними идет pattern table, 128 байт. каждый байт - номер паттерна в последовательности.

Спасибо, но не получается.

00000398 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00  ....................             
000003AC 00 00 00 00 │ 00 00 00 00 │ 00 00 31 00 │ 00 01 02 03 │ 03 04 05 03  ..........1.........             
000003C0 06 07 08 07 │ 0B 09 0A 09 │ 0C 0D 0E 0D │ 0F 10 11 12 │ 15 13 15 14  ....................             
000003D4 16 17 1A 18 │ 19 1B 1C 1D │ 1E 1F 0D 0E │ 0D 23 22 20 │ 21 20 25 24  .............#" ! %$             
000003E8 26 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00  &...................             
000003FC 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00  ....................             
00000410 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00  ....................             
00000424 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00  ....................             
00000438 4D 2E 4B 2E │ 00 00 0F 03 │ 00 00 00 00 │ 00 D6 80 00 │ 00 E2 10 00  M.K..........╓А..т..             

Переместить последнее 0x26? Куда? Перед 01, перед 31, или по адресу 0x00000398? Во всех 3 случаях музыка искажается, как будто перепутаны инструменты, но начало и конец сохраняются. Если перед 01, ещё удваиваются паузы между нотами. Надо перебить всю цепочку? От такого файла виснет Timidity.

И похоже, искомый фрагмент — часть последнего паттерна.

olegd ★★★
() автор топика
Ответ на: комментарий от devl547

Я вот сейчас сижу, паяю ковокс

Драйверы, кстати, под ALSA есть? Или только OSS?

Schism Tracker

качественный опенсорсный клон.

Да, заметно явное подражание крутым текстовым программам под MS-DOS середины 1990-х.

Звук не работает, «Couldn't open audio device: Device or resource busy». В консоли сообщений об ошибках нет. Другие звуковые программы работают нормально. Флеш и скайп отключены. Куда копать? Или ему необходим аппаратный MIDI?

olegd ★★★
() автор топика
Ответ на: комментарий от crowbar

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

Спасибо.

MilkyTracker

Ограничение на размер шрифта кнопок. Запускать можно только в полный экран, но тогда невозможно переключаться в другие программы по Alt-Tab, а Alt-Enter занимает несколько секунд. Неудобно.

Или можно сделать кнопки крупнее?

В отличии от Schism звук работает нормально. Звучит как Timidity. Получится отредактировать — отпишусь.

olegd ★★★
() автор топика
Ответ на: комментарий от MiniRoboDancer

Вся композиция состоит из кусочков определённой длины - паттернов; каждый паттерн редактируется отдельно и имеет свой номер. По дефолту они располагаются по возрастающей. В Orders (в разных трекерах может называться по-разному) можно произвольно менять порядок паттернов, дублировать их, удалять.

Спасибо, запустил, вижу, как они повторяются.

Впрочем, тебе, скорее всего, надо просто Orders поменять (не думаю, что трек прямо посреди паттерна обрывается)

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

SchismTracker (даже нативно под Linux вроде есть),

Есть.

процессорное время жрёт, как не в себя.

Это как-то связано с тем, что он имитирует программу, рисовавшую курсор мыши путём непрерывной модификации таблиц знакогенератора?

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

Первые ноты вступления начинаются под конец последнего паттерна.

Значит, придётся вырезать и новый паттерн делать. Тут уж без OpenMPT хрен обойдёшься, я не припоминаю ни одного труЪ-трекера, который умеет в копипаст, хотя бы через жопу.

программу, рисовавшую курсор мыши путём непрерывной модификации таблиц знакогенератора?

Это что за архимегауберэпичнейший костылище?

MiniRoboDancer ★☆
()
Ответ на: комментарий от olegd

Переместить последнее 0x26? Куда? Перед 01, перед 31, или по адресу 0x00000398? Во всех 3 случаях музыка искажается, как будто перепутаны инструменты, но начало и конец сохраняются. Если перед 01, ещё удваиваются паузы между нотами. Надо перебить всю цепочку? От такого файла виснет Timidity.

pattern table начинается тут с 0x3b8, а 0x31 — это количество паттернов. достаточно заменить его на 0x30, если требуется просто убрать последний паттерн.

waker ★★★★★
()
Ответ на: комментарий от MiniRoboDancer

Это что за архимегауберэпичнейший костылище?

Имитация графического курсора мыши в текстовом режиме. Говорят, так умели Norton Utilities.

olegd ★★★
() автор топика
Ответ на: комментарий от waker

0x31 — это количество паттернов. достаточно заменить его на 0x30, если требуется просто убрать последний паттерн.

А это сработало.

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

Имитация графического курсора мыши в текстовом режиме.

Но зачем, если там текстовым режимом и не пахнет? Там только закос под него.

MiniRoboDancer ★☆
()
Ответ на: комментарий от olegd

Это как-то связано с тем, что он имитирует программу, рисовавшую курсор мыши путём непрерывной модификации таблиц знакогенератора?

модификация была не непрерывной а только по прерыванию от UART

exception13 ★★★★★
()
Ответ на: комментарий от exception13

«Непрерывно» в смысле при каждом смещении мыши.

olegd ★★★
() автор топика
Ответ на: комментарий от MiniRoboDancer

Но зачем, если там текстовым режимом и не пахнет? Там только закос под него.

Вот я и спрашиваю, насколько глубок закос :)

olegd ★★★
() автор топика
Ответ на: комментарий от exception13

сорцы на сурсфорже лежат.

Спасибо, нашёл. Под названием ModPlug, причём при заходе из-под линукса тамошний поиск по умолчанию его скрывает. https://sourceforge.net/projects/modplug/

olegd ★★★
() автор топика
Ответ на: комментарий от olegd

я х.з. юзал только фаст/импульс/скрим трекер нативно под досом.

exception13 ★★★★★
()
Ответ на: комментарий от olegd

SchismTracker больше всего похож на ScreamTracker. Хотя поддерживает сохранение в S3M и IT и импорт из куда большей кучи... тьфу, вот я не подумал, для редактирования MOD он не годится, сохранять придётся в другом формате, не факт, что всё корректно сконвертнётся, множества эффектов не совпадают.

MiniRoboDancer ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.