Что такое VGM: как открыть файлы на Windows, macOS, Linux и телефоне, изменить теги и конвертировать звук

VGM — это формат журнальной записи команд звуковых микросхем, а не обычная звуковая дорожка наподобие WAV или MP3. Поэтому одна и та же операция в разных программах означает разное: проигрыватель эмулирует команды и воспроизводит музыку, VGM Tools меняют сам журнал команд, а аудиоредактор работает уже с отрендеренным PCM-звуком. Ниже эти задачи разделены, чтобы не возникала типичная ошибка: пытаться открыть исходный .vgm в обычном редакторе или считать переименование .vgz в .wav конвертацией.

Для Windows основной рабочий сценарий такой: VGMPlay декодирует .vgm или .vgz в WAV, после чего АудиоМАСТЕР позволяет обрезать получившийся звук, изменить громкость и сохранить его в WAV, MP3, FLAC или OGG. Если нужно сохранить именно структуру VGM — теги GD3, точку цикла, команды и данные чипов, — WAV создавать не следует: для этого используются vgm_tag, vgm_trim, vgmlpfnd, vgm_cmp и другие специализированные утилиты.

Что представляет собой файл VGM

Название Video Game Music описывает назначение формата достаточно точно: файл хранит последовательность записей в регистры звуковых чипов и команды ожидания между ними. При воспроизведении проигрыватель читает этот поток, эмулирует соответствующие микросхемы и только тогда получает привычный звуковой сигнал. Именно поэтому размер VGM, поведение циклов и набор поддерживаемых микросхем зависят не от привычных характеристик MP3 вроде битрейта, а от содержимого журнала.

В заголовке VGM присутствуют служебные поля, необходимые для воспроизведения и обработки: сигнатура Vgm , версия формата, длительность в сэмплах, смещение блока GD3, сведения о цикле и тактовых частотах используемых чипов. Для пользователя наиболее важны три следствия. Во-первых, длительность и loop point можно менять без перекодирования PCM. Во-вторых, проигрыватель должен понимать именно те чипы, которые записаны в конкретном файле. В-третьих, повреждённый заголовок или неверная точка цикла могут испортить воспроизведение даже тогда, когда сам поток команд частично читается.

В VGM Tools временные точки для trim-операций задаются в сэмплах временной шкалы 44100 Гц. Это не означает, что внутри файла лежит WAV с частотой 44,1 кГц: такая шкала используется как единица времени. Например, 44100 сэмплов соответствуют одной секунде временной шкалы VGM, а 22050 — половине секунды.

VGM и VGZ — в чём разница

VGZ — это тот же VGM, сжатый обычным GZip. Содержательная модель не меняется: внутри после распаковки находится VGM-поток. Поэтому переход VGZ → VGM — не аудиоконвертация и не должен менять звучание. Это обычная распаковка. Многие специализированные проигрыватели принимают оба расширения напрямую, но при работе с низкоуровневыми утилитами иногда удобнее получить несжатый .vgm.

Переименование файла само по себе ничего не преобразует. Если заменить .vgz на .vgm без распаковки, содержимое останется GZip-потоком. Аналогично, переименование .vgm в .wav не создаст PCM-аудио. Формат меняется только тогда, когда данные реально декодируются или распаковываются соответствующим инструментом.

Чем VGM отличается от WAV, MP3, FLAC и MIDI

ФорматЧто хранитсяЧто можно править без рендераТипичный результат
VGMКоманды звуковых чипов, ожидания, служебные данные, GD3Точки начала/конца, loop, теги, часть параметров и командФайл для эмуляционного воспроизведения
VGZGZip-сжатый VGMПосле распаковки либо средствами, умеющими работать с VGZКомпактное хранение того же VGM
WAVPCM-сэмплыОбрезка, громкость, фильтры, монтажНесжатый или без потерь отрендеренный звук
FLACСжатый без потерь PCMОбычные операции аудиоредактора после декодированияКомпактнее WAV при сохранении PCM без потерь
MP3Потерьно сжатый PCMОбычный монтаж готового аудиоНебольшой файл для прослушивания
MIDIСобытия нот, контроллеров и темпаНоты, длительности, каналы, автоматизацияРедактируемая последовательность, но не точная копия всех особенностей VGM

Главный практический вывод: VGM → WAV — это рендер эмуляции, а VGM → MIDI — попытка преобразовать поддерживаемые команды в событийное представление. Эти результаты нельзя считать взаимозаменяемыми. WAV сохраняет фактическое звучание эмулятора, но теряет структуру команд. MIDI удобнее для аранжировки, однако часть особенностей конкретного звукового чипа, нестандартные эффекты и семпловые данные могут не перейти в него напрямую.

Как выбрать способ для своей задачи

ЗадачаПервый выборПочемуЧто получится
Получить WAV и дальше смонтировать звукVGMPlay → АудиоМАСТЕРVGMPlay делает корректный рендер, аудиоредактор работает уже с PCMWAV, затем MP3/FLAC/OGG при необходимости
Просто послушать на Windowsfoobar2000 с Game Music Emu DecoderГрафический интерфейс и обычный список воспроизведенияВоспроизведение без предварительного WAV
Открыть старую коллекцию через классический плеерWinamp + in_vgmПодходит для уже настроенной классической Winamp-конфигурацииВоспроизведение VGM/VGZ
Изменить GD3-тегиvgm_tag или VGMToolboxМеняется метаинформация самого VGMVGM/VGZ с новыми тегами
Обрезать журнал и задать loopvgmlpfnd + vgm_trimРабота идёт по временной шкале VGM, без PCM-перекодированияНовый корректно обрезанный VGM
Получить MIDI для аранжировкиvgm2midСпециализированный конвертер VGM-команд в MIDI-события.mid с ограничениями по поддерживаемым чипам
Распаковать VGZ7-Zip или gzipVGZ — GZip-сжатиеНесжатый .vgm
Послушать на AndroidZXTuneВ Google Play VGM указан среди поддерживаемых форматовМобильное воспроизведение
Послушать на iPhone/iPadSquare Waves или ModizerОба приложения ориентированы на chiptune/game music; Square Waves прямо перечисляет VGMМобильное воспроизведение

Если задача — «редактировать музыку», сначала определите, что именно требуется изменить. Удаление тишины, усиление громкости, fade-in, fade-out и экспорт в MP3 удобнее делать после рендера в WAV. Исправление названия игры, автора, точки цикла или длины VGM лучше выполнять до рендера, потому что после превращения в PCM эта структурная информация уже не существует как команды VGM.

Windows: основной способ — VGMPlay и АудиоМАСТЕР

Этот сценарий состоит из двух независимых этапов. VGMPlay эмулирует журнал команд и создаёт WAV, затем АудиоМАСТЕР открывает полученный WAV как обычное аудио. Исходный .vgm в этой цепочке не редактируется в аудиоредакторе: структурные операции с командами, GD3 и loop выполняются до рендера. Такой порядок позволяет сохранить технически корректный VGM и получить графический монтаж готового PCM-звука.

Шаг 1. Убедитесь, что исходный файл действительно VGM или VGZ

Не ориентируйтесь только на расширение. Если файл получен из неизвестного архива, сначала попробуйте открыть его специализированным VGM-плеером. Для диагностики можно также использовать vgm_stat или vgm2txt: если утилита распознаёт заголовок и перечисляет использованные чипы, перед вами действительно VGM. Для VGZ допустимо сначала распаковать файл, как описано ниже.

Сделайте копию исходника до любых операций. Это особенно важно перед пакетным тегированием и низкоуровневой оптимизацией: часть инструментов создаёт новый файл, но отдельные tag/patch-операции могут изменять существующий.

Шаг 2. Создайте WAV через VGMPlay

VGMPlay принимает .vgm и .vgz. Для обычного воспроизведения файл можно перетащить на исполняемый файл VGMPlay или передать путём в командной строке. Для записи WAV предусмотрен ключ -w (длинная форма — --dump-wav). Он включает WAV dumping и эквивалентен параметру General.LogSound=1 в конфигурации.

Пример команды для файла с пробелами в имени:

vgmplay -w "Stage 1.vgm"

Если композиция содержит loop и не должна записываться бесконечно, ограничьте число проходов. Например, параметр General.MaxLoops=2 задаётся через -c:

vgmplay -w -c General.MaxLoops=2 "Stage 1.vgm"

После завершения проверьте созданный WAV: он должен открываться обычным аудиоплеером, иметь ожидаемую длительность и не заканчиваться внезапно внутри ноты. Если конец неудобен для публикации, не обязательно возвращаться к VGM: для готового PCM можно выполнить точную обрезку и затухание в АудиоМАСТЕР.

Настройка LogSound в VGMPlay.ini для записи WAV

На скриншоте показан конфигурационный вариант LogSound = 1. Тот же режим включается ключом -w, поэтому для разового WAV-рендера править INI необязательно.

Шаг 3. Откройте WAV в АудиоМАСТЕР

Запустите АудиоМАСТЕР и в стартовом окне нажмите «Открыть файл». Выберите WAV, созданный VGMPlay. После импорта откроется форма волны. На этом этапе вы уже работаете не с VGM-командами, а со звуковой дорожкой: любые дальнейшие изменения влияют только на отрендерированный звук.

Стартовое окно АудиоМАСТЕР с кнопкой Открыть файл

Окно выбора аудиофайла в АудиоМАСТЕР

Шаг 4. Обрежьте лишнее и проверьте границы

Выделите мышью участок на форме волны. Если требуется оставить только выбранный фрагмент как отдельный файл, в меню «Файл» доступна команда «Сохранить выделенное». Для удаления выделенного участка используется кнопка с ножницами на верхней панели либо клавиша Del. Перед удалением прослушайте несколько секунд до и после границы, чтобы не срезать атаку первой ноты и естественный хвост последнего звука.

Выделение фрагмента на форме волны и команда Сохранить выделенное в АудиоМАСТЕР

Если WAV получен из зацикленной композиции, удобно оставить целое число повторов и затем добавить короткое затухание уже на PCM-дорожке. Но для создания правильной точки loop внутри самого VGM используйте vgm_trim: графическая обрезка WAV не меняет VGM и не создаёт циклическую структуру.

Шаг 5. Сохраните WAV, MP3, FLAC или OGG

Для сохранения всей дорожки откройте «Файл» → «Сохранить как» либо используйте кнопку сохранения на панели. В мастере доступны, среди прочих, WAV, MP3, OGG и FLAC. Если нужен промежуточный мастер для дальнейшей обработки, выбирайте WAV или FLAC. MP3 разумнее использовать для компактной копии, когда последующее редактирование исходного материала уже не планируется.

Меню Файл и команда Сохранить как в АудиоМАСТЕР

Для WAV в мастере можно выбрать частоту дискретизации, разрядность и число каналов. Для MP3 дополнительно задаётся режим и битрейт. Не увеличивайте параметры только ради больших цифр: если VGMPlay уже сформировал 16-битный PCM, запись в контейнер с большей разрядностью не восстановит отсутствующую информацию. Смысл выбора формата — в совместимости и дальнейшей обработке, а не в искусственном «улучшении» исходника.

Мастер сохранения WAV в АудиоМАСТЕР

Как проверить результат

  • WAV после VGMPlay открывается и воспроизводится от начала до конца.
  • После монтажа в АудиоМАСТЕР нет обрезанной первой атаки, внезапного щелчка в конце или ненужной длинной тишины.
  • Если использовался MP3, итоговый файл имеет ожидаемую длительность и не содержит второго непреднамеренного перекодирования.
  • Исходный VGM сохранён отдельно: готовый WAV/MP3 не заменяет структурный оригинал.
  • Если композиция должна зацикливаться в игровом плеере, проверяйте loop на исходном VGM, а не только звучание экспортированного WAV.

Плюсы:

  • чёткое разделение декодирования VGM и монтажа PCM;
  • в АудиоМАСТЕР доступны графическая форма волны, выделение фрагмента и обычный мастер сохранения;
  • можно получить несжатый WAV для архива и отдельный MP3 для прослушивания;
  • исходный VGM остаётся нетронутым, если работать с копией.

Минусы:

  • АудиоМАСТЕР не используется для прямого редактирования VGM-команд;
  • после рендера теряются структурные возможности VGM: чиповые команды, GD3 и loop уже не редактируются как VGM;
  • для пакетной работы с большой коллекцией удобнее автоматизировать рендер и VGM Tools.

Windows: foobar2000 для воспроизведения и декодирования

foobar2000 удобен, когда нужен обычный графический плеер с плейлистом и контекстной командой конвертации. Поддержку VGM добавляет компонент Game Music Emu Decoder: после его установки проигрыватель декодирует VGM/VGZ и передаёт полученный звук в стандартный конвертер foobar2000.

Установите Game Music Emu Decoder

  1. Откройте File → Preferences.
  2. Перейдите на страницу Components.
  3. Нажмите Install… и укажите пакет компонента либо перетащите пакет компонента в список.
  4. Нажмите OK. foobar2000 предложит перезапуск для загрузки нового компонента.
  5. После перезапуска добавьте .vgm или .vgz в плейлист и запустите воспроизведение.

Если файл отображается как неподдерживаемый, сначала проверьте наличие компонента в Preferences → Components. Следующая проверка — сам файл: отдельные VGM могут использовать команды или чипы, которые конкретный decoder обрабатывает иначе, чем VGMPlay. Для проблемного файла сравните результат в VGMPlay, а не переустанавливайте случайные кодек-паки.

Конвертируйте VGM в WAV через контекстное меню

Выберите один или несколько треков в плейлисте, нажмите правой кнопкой и откройте Convert → Quick convert. Для промежуточного файла выберите WAV. После декодирования можно оставить WAV как архивную копию или открыть его в АудиоМАСТЕР для точной обрезки и сохранения в MP3/FLAC.

Контекстное меню Convert и Quick convert в foobar2000

Скриншот сделан в более старом оформлении, но показывает тот же принцип контекстной конвертации. При работе с нынешней установкой ориентируйтесь на названия пунктов Convert и Quick convert, а не на цветовую тему или расположение панелей.

Плюсы:

  • плейлист и пакетный выбор нескольких VGM;
  • установка decoder-компонента выполняется штатно через раздел Components;
  • удобная конвертация в WAV без ручного изменения INI.

Минусы:

  • поддержка конкретного VGM зависит от decoder-компонента;
  • это проигрыватель и decoder, а не редактор структуры VGM;
  • проблемы с loop или тегами лучше исправлять специализированными инструментами до конвертации.

Windows: Winamp и in_vgm для старых коллекций

Winamp работает с VGM через input-плагин in_vgm из семейства VGMPlay. Этот вариант имеет смысл прежде всего для уже существующей конфигурации Winamp или старой коллекции, где привычный плеер уже настроен. Для новой установки удобнее VGMPlay или foobar2000, потому что они требуют меньше legacy-компонентов.

  1. Закройте Winamp, если он запущен.
  2. Поместите один вариант плагина in_vgm в папку плагинов Winamp. Не устанавливайте ANSI- и Unicode-вариант одновременно.
  3. Запустите Winamp заново.
  4. Нажмите Ctrl+P, откройте настройки и перейдите в раздел Input.
  5. Выберите in_vgm и проверьте параметры loop, fade и воспроизведения.
  6. Добавьте .vgm или .vgz в плейлист и убедитесь, что плагин показывает данные трека и использованные чипы.

VGM воспроизводится в плейлисте Winamp через in_vgm

Этот способ полезен для уже настроенной старой Winamp-среды, но не является универсальным ответом на любой VGM. Наличие input-плагина означает, что плеер может передать декодированный звук на выход; оно не означает, что конвертер другого приложения автоматически получит доступ к тому же декодеру.

Плюсы:

  • совместимость с привычным интерфейсом Winamp;
  • плагин основан на специализированной VGM-реализации;
  • поддерживаются VGM и VGZ.

Минусы:

  • legacy-сценарий с ручным размещением плагина;
  • при конфликте старых компонентов диагностика сложнее, чем у отдельного VGMPlay;
  • для редактирования тегов, loop и команды trim всё равно нужны отдельные VGM Tools.

Как распаковать VGZ в VGM через 7-Zip

Этот раздел нужен только тогда, когда конкретная утилита не принимает VGZ или вы хотите проверить внутренний VGM. Большинство специализированных проигрывателей умеет открывать VGZ напрямую, поэтому распаковка не обязательна для обычного прослушивания.

  1. Сделайте копию .vgz.
  2. Откройте файл через 7-Zip. Поскольку VGZ использует GZip, архиватор должен увидеть единственный сжатый поток.
  3. Извлеките содержимое в отдельную папку. Если архиватор создаёт файл без удобного расширения, присвойте распакованному VGM расширение .vgm только после извлечения.
  4. Откройте результат в VGMPlay или другой подтверждённой VGM-программе.
  5. Сравните длительность и воспроизведение с исходным VGZ. Звук должен быть тем же: распаковка не является перекодированием.

Окно файлового менеджера 7-Zip с командами Extract и Test

Если архиватор ориентируется на расширение .gz и не распознаёт .vgz, можно временно переименовать копию track.vgz в track.vgm.gz, затем выполнить обычное извлечение GZip-потока. Это лишь обход распознавания имени. Критерий правильности один: после операции должны измениться данные сжатия, а не только имя файла.

Ошибка: переименовать .vgz в .vgm и сразу считать файл распакованным. Исправление: извлечь GZip-поток архиватором и только затем проверить полученный VGM.

macOS: Audio Overload для VGM

На macOS Audio Overload подходит для прямого воспроизведения VGM как специализированный проигрыватель game music. VGM поддерживается как отдельный формат, поэтому для обычного прослушивания не требуется промежуточный WAV.

Рабочий порядок простой: откройте приложение, добавьте VGM в список воспроизведения и запустите трек. Для диагностики проблемного файла полезно сравнить его с VGMPlay: если один и тот же VGM воспроизводится по-разному, причина может быть в различиях эмуляционных ядер или поддержке конкретного чипа, а не в самом расширении файла.

Интерфейс Audio Overload на macOS со списком игровой музыки и панелью воспроизведения

Audio Overload не следует использовать как единственный эталон совместимости. Поддержка редких вариантов VGM и отдельных чипов различается между эмуляционными ядрами, поэтому файл, который здесь звучит неполно, нужно повторно проверить в VGMPlay перед выводом о повреждении.

Плюсы:

  • специализация на музыке старых компьютеров и консолей;
  • прямая поддержка VGM;
  • не требуется сначала создавать WAV.

Минусы:

  • совместимость с редкими VGM зависит от конкретных использованных чипов;
  • редактирование GD3 и точек цикла выполняется не здесь;
  • для сложной диагностики полезно держать второй независимый player/decoder.

Linux: Audacious и Game Console Music Decoder

Audacious подходит для Linux-сценария, когда нужен графический плеер. В составе audacious-plugins используется Game Console Music Decoder, который обслуживает VGM/VGZ. При проблеме с отдельным файлом сравнивайте результат с VGMPlay: совместимость конкретных чипов и команд у разных декодеров может отличаться.

Интерфейс Audacious в Linux

  1. Добавьте .vgm или .vgz перетаскиванием в окно Audacious либо через файловый диалог.
  2. Если программа сообщает No decoder found, откройте File → Settings → Plugins → Input и убедитесь, что Game Console Music Decoder доступен в вашей сборке.
  3. Запустите трек и проверьте длительность, начало, конец и цикл.
  4. Если определённый VGM не играет, сравните его с VGMPlay: у Game Console Music Decoder были известны случаи, когда отдельные VGM/VGZ не поддерживались тем же образом, что в специализированных плеерах.

Не путайте Game Console Music Decoder с vgmstream. Несмотря на похожие названия, vgmstream ориентирован на потоковые игровые аудиоформаты и прямо не предназначен для sequenced/logged форматов VGM/VGZ. Поэтому установка vgmstream-плагина не является заменой decoder для классического VGM.

Плюсы:

  • естественный Linux-интерфейс и обычные плейлисты;
  • VGM обрабатывается через game-console decoder;
  • удобно для ежедневного прослушивания коллекции.

Минусы:

  • поддержка зависит от того, как дистрибутив собрал audacious-plugins;
  • отдельные VGM могут отличаться по совместимости от VGMPlay;
  • структурное редактирование выполняется отдельными утилитами.

Android: ZXTune

ZXTune — практичный мобильный вариант для Android: приложение поддерживает VGM и GZip-архивы. Это позволяет хранить коллекцию в исходном виде и не превращать каждый трек в MP3 только ради телефона.

  1. Разрешите приложению доступ к папке, где лежит ваша коллекция.
  2. Откройте локальный VGM или архив с поддерживаемым содержимым.
  3. Запустите воспроизведение и проверьте, что приложение корректно определяет длительность и не пропускает трек.
  4. Для большой библиотеки используйте плейлисты вместо предварительной конвертации каждого файла.

Раздел Browser в ZXTune для Android с локальной файловой системой

Плейлист ZXTune для Android

Экран воспроизведения ZXTune для Android

ZXTune также воспроизводит обычные MP3, OGG, WAV и FLAC. Это удобно, если в одной библиотеке лежат и исходные chiptune-файлы, и уже отрендеренные версии. Но мобильный плеер всё равно не заменяет VGM Tools: редактировать GD3, командные данные и точку цикла лучше на компьютере.

Плюсы:

  • прямая поддержка VGM;
  • работа с архивами, включая GZip;
  • не требуется заранее рендерить коллекцию в MP3.

Минусы:

  • мобильный интерфейс предназначен прежде всего для прослушивания;
  • сложная работа с loop и GD3 остаётся настольной задачей;
  • для проблемных файлов нужен второй decoder для сравнения.

iPhone и iPad: Square Waves и Modizer

Square Waves

Square Waves прямо перечисляет VGM для Genesis/Mega Drive/Master System и позволяет добавлять собственные файлы через iCloud Documents. Приложение также принимает ZIP, RAR и 7ZIP. Это хороший вариант для небольшой коллекции, когда важна именно игровая музыка, а не универсальный медиаплеер.

  1. Поместите VGM в папку, доступную через приложение «Файлы»/iCloud Documents.
  2. Добавьте файл в библиотеку Square Waves.
  3. Запустите трек и при необходимости используйте возможности прослушивания отдельных каналов, доступные в приложении.
  4. Если файл не воспроизводится полностью, не конвертируйте его вслепую: сначала сравните этот же исходник на компьютере.

Библиотека треков Square Waves на iPhone

Экран воспроизведения Square Waves на iPhone

Настройка отдельных голосов Voices в Square Waves

Плюсы:

  • VGM указан среди основных поддерживаемых форматов;
  • импорт через iCloud Documents понятен для iOS;
  • ориентация на chiptune, а не на потоковое аудио.

Минусы:

  • не является редактором VGM Tools;
  • часть особенностей редких VGM может зависеть от реализации декодера;
  • для массового тегирования нужен компьютер.

Modizer

Modizer — более широкий multiformat chiptune-плеер с каталогами игровой музыки и большим числом движков воспроизведения. Он удобен пользователю, который хранит не только VGM, но и модули/другие консольные форматы. Для узкой VGM-библиотеки Square Waves проще по назначению, для смешанной коллекции Modizer даёт более универсальную оболочку.

Раздел Online в Modizer с коллекцией VGMRips

Не используйте мобильное приложение для проверки того, «правильный ли» loop после серьёзного редактирования. После vgm_trim контроль лучше выполнить как минимум в двух независимых настольных проигрывателях, а уже затем переносить файл на телефон.

Онлайн: что действительно можно делать с VGM в браузере

Страницу с надписью «VGM Converter Online» нельзя автоматически считать рабочим VGM-декодером. Некоторые универсальные конвертеры формируют страницы для пар расширений независимо от фактической поддержки содержимого. Для VGM нужен проверяемый результат: сервис должен распознать файл как Video Game Music, декодировать команды и выдать валидный целевой файл, а не только новое имя.

Поэтому браузерный способ здесь ограничен специализированным web-player для воспроизведения. Конвертацию VGM → WAV/MP3 лучше выполнять локально VGMPlay или foobar2000: так можно контролировать decoder, длительность и loop и не загружать файл на сторонний сервер.

Простой критерий для любого онлайн-сервиса: после обработки проверьте не расширение, а содержимое. «Результат.wav», который невозможно открыть как PCM/WAVE, не является конвертацией. Для MIDI аналогично: файл должен открываться в секвенсоре и содержать MIDI-события, а не копию исходного VGM с новым именем.

Как редактировать сам VGM с помощью VGM Tools

Если нужно сохранить VGM как VGM, это основной набор инструментов. VGM Tools — командные утилиты для анализа, обрезки, поиска loop, тегирования, оптимизации и патчинга. Они не рисуют waveform и не заменяют аудиоредактор: их задача — работать со структурой журнала. Перед любыми изменениями сохраните исходные логи отдельной копией.

Пути с пробелами заключайте в кавычки. Для одиночных утилит общий принцип выглядит так: tool.exe "input.vgm" "output.vgm". Часть программ принимает несколько входных файлов, часть — только один. Не копируйте синтаксис одной утилиты на другую: для каждой команды ниже указана своя схема.

Посмотреть структуру: vgm_stat, vgm_cnt и vgm2txt

vgm_stat выводит статистику VGM и удобен как первая диагностика. vgm_cnt считает команды. vgm2txt переводит поток команд в читаемое текстовое представление. Последний особенно полезен при поиске точек начала и цикла: можно посмотреть, какие команды идут около нужной временной позиции, вместо того чтобы ориентироваться только на слух.

Порядок анализа:

  1. Запустите vgm_stat для исходника и сохраните основные числа — длительность, loop и использованные чипы.
  2. Если требуется точная ручная правка границ, сформируйте текст через vgm2txt.
  3. После trim/optimization снова запустите статистику и сравните результат.
  4. Обязательно прослушайте файл: корректные числа не заменяют аудиоконтроль.

Найти loop: vgmlpfnd

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

В выводе loop finder важны две позиции: начало исходного повторяющегося блока и начало его копии. Первая становится loop sample, вторая — предполагаемым end sample. Например, если инструмент сообщает начало 477258 и повтор с 2374215, эти значения можно использовать как кандидаты для vgm_trim input.vgm 0 477258 2374215. Это пример принципа, а не универсальные числа для других файлов.

Обозначение ! в результатах vgmlpfnd обычно указывает на сильного кандидата, но даже такой результат нужно проверить. Формально совпадающая петля может оказаться слишком короткой или включать больше повторов, чем требуется музыкально, поэтому окончательное решение принимается после прослушивания полного цикла.

Обрезать и задать цикл: vgm_trim

Синтаксис:

vgm_trim YourFile.vgm startSample loopSample endSample OptionalOutput.vgm

Три числовых параметра задаются в 44100-Hz samples:

  • startSample — первая временная точка нового файла;
  • loopSample — позиция возврата при цикле; значение 0 означает отсутствие loop, -1 — loop от начала нового файла, -2 — сохранить старую точку;
  • endSample — конец нового VGM или точка возврата к loop; -1 использует исходный Total Samples.

Пример:

vgm_trim "track1.vgm" 15280 23499 194222 "track1_trimmed.vgm"

После обработки не ограничивайтесь первой минутой прослушивания. Перемотайте ближе к концу, дождитесь перехода на loop и убедитесь, что стык музыкально точный: нет двойной атаки, пропавшего такта, короткого щелчка или лишней паузы. Для трека со вступлением отдельно проверьте, что первый проход содержит intro, а последующие начинаются уже с loop point.

Изменить GD3-теги: vgm_tag

vgm_tag предназначен для GD3-метаданных. Он умеет показывать, очищать и менять поля, включая систему, год, creator и notes. Общая форма вызова:

vgm_tag [-command1] [-command2] file1.vgm file2.vgz

Для пакетной правки удобно, что утилита принимает несколько файлов. Например, команда вида vgm_tag -System:SMD "track.vgm" задаёт системный tag для одного файла, а batch-цикл можно применить ко всей папке. Перед пакетной операцией сначала обработайте копию одного VGM, откройте теги в player/tagger и только затем переносите команду на коллекцию.

Не путайте очистку поля и исключение поля из изменения. В графическом VGMToolbox чекбоксы управляют тем, будет ли поле записываться, а в vgm_tag используются команды. Если задача — просто исправить название игры, не очищайте весь GD3-блок.

Оптимизировать поток: vgm_cmp

vgm_cmp удаляет лишние команды и оптимизирует задержки, создавая новый VGM. Это структурная оптимизация, а не GZip-сжатие. Важен порядок операций: не запускайте vgm_cmp до trim, если файл ещё предстоит обрезать. Сначала определите и примените границы, проверьте loop, затем оптимизируйте итоговый поток.

Базовый вызов:

vgm_cmp "your.vgm"

Без собственного имени результата инструмент создаёт новый файл с суффиксом _optimized. Исходник при этом сохраняется. Если подать VGZ, выход vgm_cmp будет распакованным VGM, поэтому расширение и фактическое содержимое результата нужно проверить.

Убрать неиспользуемый чип или исправить параметры: vgm_ptch

vgm_ptch относится к modifying/patching tools. Его применяют, например, чтобы удалить из заголовка/данных неиспользуемый чип или поправить определённый параметр. Это не универсальная «кнопка улучшить». Патч должен соответствовать фактической проблеме конкретного VGM.

Форма vgm_ptch -Strip:ChipName file.vgm удаляет неиспользуемые данные указанного чипа. Не подставляйте название наугад: сначала посмотрите статистику и прослушайте файл с отключением соответствующего чипа в VGMPlay. Если после отключения исчезает часть музыки, чип используется и удалять его нельзя.

Почему резервная копия обязательна

VGM-команды часто являются единственным исходным представлением рипа. После неправильного trim можно потерять вступление, после ошибочного patch — важный чип, после неудачного batch-tagging — корректные метаданные всей папки. Храните три уровня: неизменённые логи, рабочую копию для редактирования и финальный набор. WAV/MP3 не являются резервной копией VGM, потому что из них нельзя восстановить исходный поток команд в общем случае.

VGMToolbox: графическое редактирование GD3 и служебные операции

VGMToolbox полезен там, где командная строка неудобна. В разделе Misc Tools → VGM → VGM Tag Editor находится редактор GD3. Пользователь добавляет VGM в список Source Files, выбирает один или несколько файлов и заполняет нужные поля. Чекбокс рядом с полем определяет, будет ли это поле записано при пакетной операции.

  1. Сделайте резервную копию VGM.
  2. Откройте Misc Tools → VGM → VGM Tag Editor.
  3. Добавьте файлы в Source Files.
  4. Выберите один или несколько файлов.
  5. Оставьте отмеченными только те поля, которые собираетесь менять.
  6. Чтобы очистить конкретное поле, оставьте его отмеченным, но удалите текст из поля.
  7. После записи закройте и заново откройте несколько файлов в независимом плеере/tagger и проверьте теги.

VGM Tag Editor в VGMToolbox с полями Game Tags и Track Tags

VGMToolbox также содержит GZip-инструмент. При создании gzip-потока готовому файлу может потребоваться вручную присвоить расширение .vgz. Поэтому после сжатия проверяйте не только имя, но и внутренний формат и способность VGM-плеера открыть результат.

Перед пакетным тегированием храните неизменённую резервную копию. Ошибка в выбранных полях или массовая операция может затронуть всю коллекцию. После обновления тегов выборочно откройте несколько файлов, сравните GD3-поля и прослушайте их до начала следующего этапа обработки.

Как конвертировать VGM в WAV

WAV — наиболее безопасная промежуточная цель, когда дальше предстоит монтаж. Рендер можно выполнить VGMPlay через -w или foobar2000 через decoder-компонент и Convert. В обоих случаях важно понимать, что результат зависит от эмуляционного ядра: вы получаете звучание, которое сгенерировал конкретный decoder.

Перед рендером проверьте loop. Если VGM зацикливается, решите, сколько повторов должно попасть в WAV. В VGMPlay для этого можно задать General.MaxLoops. Для публикационного MP3 обычно достаточно одного полного прохождения нужной формы с контролируемым fade-out; для архивного мастер-файла можно сохранить более длинный вариант, но это уже редакционное решение, а не свойство VGM.

После получения WAV проверьте частоту, число каналов и длительность. Если конечная цель — только WAV, дополнительное перекодирование через несколько программ не требуется: каждый лишний шаг усложняет контроль и может изменить параметры файла.

Как конвертировать VGM в MP3

Прямой «VGM → MP3» на практике состоит из двух стадий: рендер VGM в PCM и MP3-кодирование PCM. В основном сценарии VGMPlay создаёт WAV, затем АудиоМАСТЕР выполняет сохранение в MP3. Это удобнее, чем записывать системный звук в реальном времени, потому что длина и начало результата определяются decoder, а не ручным нажатием кнопки записи.

  1. Создайте WAV командой VGMPlay с -w.
  2. Откройте WAV в АудиоМАСТЕР.
  3. Уберите лишнюю тишину или ненужный повтор.
  4. Выберите Файл → Сохранить как.
  5. В мастере выберите MP3.
  6. Выберите параметры кодирования и сохраните результат.
  7. Сравните длительность MP3 с отредактированным WAV.

Не удаляйте VGM после получения MP3. MP3 — конечный файл для прослушивания; в нём нет GD3, адресов loop и команд YM/SN-чипов в исходном виде. Универсального обратного «MP3 → исходный VGM» не существует.

Как конвертировать VGM в FLAC

FLAC полезен, когда нужен компактный файл с тем же PCM-содержимым, что и WAV, без потерь при сжатии. Рабочая цепочка та же: сначала корректный VGM-render, затем FLAC. В АудиоМАСТЕР формат FLAC доступен в мастере сохранения. Для архивной копии рендера это рациональнее MP3, если место не является критическим.

FLAC всё равно не заменяет VGM: он сохраняет PCM, а не команды чипов. Поэтому хранить только FLAC имеет смысл лишь тогда, когда исходный VGM больше не нужен как редактируемый лог.

Как конвертировать VGM в MIDI через vgm2mid

vgm2mid — специализированная программа, которая преобразует VGM в MIDI sequence. Она поддерживает не все возможные чипы одинаково, поэтому результат нужно воспринимать как перенос тех музыкальных событий, которые конвертер умеет представить в MIDI, а не как точный способ восстановить исходный проект игры.

У этой утилиты есть важное техническое ограничение: она рассчитана на Windows ANSI codepage 1252. При запуске под другой системной кодовой страницей итоговый MIDI может получить серьёзные ошибки темпа или более сильное повреждение временной структуры. Если вы не можете обеспечить нужную locale/codepage, не оценивайте странный темп как «свойство VGM» — сначала устраните эту проблему окружения.

  1. Возьмите копию исходного VGM.
  2. Запустите vgm2mid в поддерживаемом окружении с кодовой страницей 1252.
  3. Получите .mid и откройте его в MIDI-секвенсоре.
  4. Проверьте темп, длину и число дорожек/каналов.
  5. Сравните несколько характерных фрагментов с оригинальным VGM.
  6. Если часть тембров звучит иначе, это ожидаемый риск преобразования чиповых команд в MIDI; назначьте подходящие инструменты вручную.

После конвертации откройте .mid в FL Studio и проверьте tempo, число ожидаемых партий и длительность. Для проверки нот в Piano roll откройте его меню и выберите File → Import MIDI file… либо нажмите Ctrl+M. Здесь FL Studio работает уже с MIDI и не является VGM-декодером: исходный .vgm сначала должен пройти через vgm2mid.

Плюсы:

  • MIDI удобен для анализа нот и аранжировки;
  • можно редактировать структуру композиции в секвенсоре;
  • часть каналов становится нагляднее, чем в смешанном WAV.

Минусы:

  • поддержка зависит от звукового чипа и команд VGM;
  • тембры и эффекты чипа не обязаны переноситься в стандартный MIDI;
  • есть критичное ограничение по Windows codepage 1252.

Как получить отдельные каналы или проверить вклад конкретного чипа

VGM нельзя «раскрыть по дорожкам» как готовый multitrack-проект DAW, но VGMPlay позволяет отключать отдельные чипы и, для многих реализаций, отдельные каналы через параметры конфигурации. Это даёт практический способ получить stems: несколько раз отрендерить один и тот же VGM, каждый раз оставляя нужный канал или группу каналов.

Для полного отключения чипа используется параметр Disabled=True в его секции. Пример:

vgmplay -c YM2612.Disabled=True "song_to_test.vgm"

Для отдельных каналов применяются MuteCh#, MuteMask и именованные mute-параметры, если их поддерживает конкретный чип/ядро. Не копируйте маску одного чипа на другой: число каналов и схема битов отличаются. Сначала прочитайте соответствующую секцию VGMPlay.ini и проверьте, что после mute слышимый элемент действительно исчез.

После этого можно сделать WAV каждого варианта через -w и собрать их в DAW. Метод полезен для транскрипции и поиска loop, но полученные WAV-стемы всё равно являются результатом эмуляции, а не «оригинальными студийными дорожками» игры.

Как извлечь FM-пресеты: vgm2pre

Если задача не в нотах, а в тембрах FM-синтеза, используется отдельный класс инструментов. vgm2pre извлекает пресеты из VGM для дальнейшего применения в tracker/sequencer-среде. Это специализированный сценарий и его нельзя подменять формулировкой «конвертировать VGM в MIDI».

Перед использованием определите, какой звуковой чип содержит нужные FM-инструменты и поддерживается ли он утилитой. Затем сравните извлечённый пресет с оригинальным звучанием на характерной ноте. Если VGM использует динамические изменения регистров во время исполнения, один статический preset не обязан воспроизводить весь характер партии.

Когда VGMToolbox нужен для извлечения ресурсов, а когда — нет

Название VGMToolbox вводит в заблуждение новичков: это не только редактор файлов .vgm. Набор создавался как toolbox для работы с игровыми ресурсами и содержит множество extraction/exploration tools. Он полезен, когда VGM ещё нужно получить из контейнера/образа или обработать связанные игровые данные. Если у вас уже есть готовый .vgm и требуется только trim, loop и GD3, VGM Tools обычно проще и предсказуемее.

Не смешивайте этапы. Извлечение данных из CD/DVD, ROM, образа или игрового архива — отдельная задача, которая зависит от конкретной игры и контейнера. Наличие VGMToolbox не означает, что любой игровой файл автоматически преобразуется в корректный VGM.

Почему некоторые популярные способы из старых инструкций не стоит использовать первыми

AIMP с чужим input-плагином

Сторонний input-плагин может добавить приложению воспроизведение VGM, не подключая тот же decoder к встроенному конвертеру. Поэтому AIMP с таким плагином не используется как основной путь VGM → WAV/MP3: факт воспроизведения конкретной конфигурацией не гарантирует, что её converter pipeline примет исходный .vgm.

VLC media player

Скриншот программы VLC media player

VLC media player не используется в основном workflow классического VGM: здесь важнее специализированный decoder с предсказуемой поддержкой VGM/VGZ, loop и чиповых команд. Для воспроизведения и рендера выбирайте VGMPlay, foobar2000 с Game Music Emu Decoder или другой VGM-ориентированный проигрыватель.

Moo0 Voice Recorder и запись системного звука

Проиграть VGM в одном приложении и записать системный звук рекордером технически можно, но такой метод зависит от реального времени, уровня системного микшера, правильного начала и остановки и может захватить посторонние уведомления. VGMPlay с WAV dumping даёт более контролируемый результат, поэтому запись «what you hear» оставлена только как аварийный обходной путь.

Запись системного звука в Moo0 Voice Recorder во время воспроизведения VGM

Универсальные онлайн-конвертеры

Наличие формы «Upload VGM» само по себе не доказывает декодирование формата. Универсальный сервис нужно оценивать по результату: он должен принять конкретный VGM и выдать проверяемый WAV или MIDI с корректной структурой. Без такого контроля локальные VGMPlay и vgm2mid остаются предсказуемее для этих задач.

Ошибки при открытии VGM и точная диагностика

Файл не открывается вообще

Проверьте три уровня. Сначала расширение: .vgm или .vgz. Затем содержимое: у несжатого VGM в начале должен быть заголовок VGM, а VGZ должен быть GZip-потоком. Наконец, decoder: установлен ли Game Music Emu Decoder в foobar2000 или доступен ли нужный plugin в Audacious. Если один специализированный player не открывает файл, проверьте его вторым — VGMPlay особенно полезен как независимая точка сравнения.

VGZ открывается как архив, но не как музыка

Это означает только то, что архиватор увидел GZip. Извлеките внутренний VGM и проверьте его. Если несжатый файл играет, проблема была в поддержке GZip-конкретным player. Если не играет и несжатый вариант, исследуйте header/чипы.

Музыка играет, но без части каналов или семплов

Это не обязательно повреждение. Конкретный VGM может использовать чип или внешний ROM, который decoder не поддерживает полностью. Для YM278B/OPL4 воспроизведение может зависеть от sample ROM. Сначала посмотрите, какие чипы указаны в VGM, затем проверьте требования выбранного player. Не пытайтесь «починить» такой файл конвертацией в MP3: decoder всё равно сначала должен корректно воспроизвести исходные данные.

После trim цикл звучит гладко, но музыкально неправильный

vgmlpfnd ищет повтор команд, а не понимает композиционную форму. Он может найти более короткий повтор внутри настоящего периода. Прослушайте не только стык, но и полный цикл: если секция повторяется слишком часто или пропал такт, выберите другой кандидат и повторите vgm_trim.

После vgm2mid темп сломан

Сначала проверьте кодовую страницу 1252: vgm2mid чувствителен к этому системному параметру при расчёте задержек, и неправильная codepage способна исказить tempo. Только после правильного окружения оценивайте ограничения самого конвертера и поддерживаемого чипа.

После vgm_cmp файл уменьшился, но дальше не удаётся trim

Порядок операций нарушен. Вернитесь к резервной копии, сначала обрежьте VGM, проверьте loop и только затем запускайте vgm_cmp. Оптимизация до определения финальных границ усложняет последующий trim.

Windows открывает .vgm не той программой

Файловая ассоциация влияет только на то, какое приложение запускается двойным кликом. Она не меняет формат. Откройте нужный player вручную и добавьте файл; если он работает, исправьте ассоциацию средствами Windows или самого приложения. Переименование расширения для обхода ассоциации только усложнит диагностику.

Как проверить файл после каждого типа операции

ОперацияЧто проверитьЧем проверитьПризнак ошибки
VGZ → VGMФайл распакован, звук тот жеVGMPlayИзменилось только имя, player видит GZip вместо VGM
VGM → WAVДлительность, loop count, отсутствие обрываVGMPlay + АудиоМАСТЕРСлишком длинный бесконечный повтор или обрезанный хвост
WAV → MP3Длительность и отсутствие лишней тишиныАудиоМАСТЕРПовторное ненужное кодирование или другое число каналов
vgm_trimНачало, конец, музыкальная точность loopДва независимых VGM-playerСкачок, двойная атака, слишком короткий повтор
vgm_tagТолько нужные GD3-поля измененыTagger/playerСтерты соседние поля
vgm_cmpВоспроизведение идентично на слух и файл читаетсяVGMPlayОптимизация выполнена до trim или повреждён loop
vgm2midТемп, дорожки, музыкальная формаFL Studio или другой MIDI-sequencerСильный темповый сдвиг, пропавшие партии

Лучший контроль — не одно приложение, а перекрёстная проверка. После структурных изменений откройте VGM минимум в двух независимых реализациях. После PCM-конвертации сравните форму волны и длительность с ожидаемым количеством повторов. После MIDI-конвертации сравнивайте не тембр, а музыкальные события и timing.

Практические сценарии

Нужно просто послушать один VGM на Windows

Выберите foobar2000 с Game Music Emu Decoder или VGMPlay. Не создавайте MP3 заранее. Если VGMPlay и foobar2000 воспроизводят файл одинаково, исходник можно хранить как .vgm/.vgz и не размножать PCM-копии.

Нужно подготовить MP3 для телефона

VGMPlay → WAV → АудиоМАСТЕР → MP3. Перед MP3 обрежьте ненужный повтор и тишину. Исходный VGM сохраните отдельно. Такой pipeline понятен и воспроизводим: отдельно декодирование, отдельно монтаж и кодирование.

Нужно исправить название игры и автора

Не рендерите WAV. Используйте vgm_tag либо VGMToolbox VGM Tag Editor. Измените только нужные GD3-поля, сохраните и снова откройте файл в player/tagger. Это сохраняет команды VGM неизменными.

Нужно сделать корректный loop для архива

Сначала vgmlpfnd, затем vgm2txt или WAV как вспомогательный способ поиска точек, после этого vgm_trim. Прослушайте полный переход через loop. Только после подтверждения можно запускать vgm_cmp и финальное gzip-сжатие в VGZ.

Нужно разобрать мелодию по нотам

Попробуйте vgm2mid и откройте .mid в FL Studio. Проверяйте кодовую страницу, tempo и поддерживаемые чипы. Если MIDI теряет важный тембр, отдельно сделайте WAV-стем нужного канала через mute-параметры VGMPlay и используйте его как аудиореференс.

Нужно сохранить коллекцию компактно

Для исходников используйте VGZ после того, как VGM уже проверен и отредактирован. Для готового PCM — FLAC, если требуется без потерь, или MP3, если важен минимальный размер и широкая совместимость. Не заменяйте все VGM на MP3: это разные уровни хранения.

Частые вопросы

Можно ли открыть VGM в обычном аудиоредакторе?

Обычный редактор ожидает PCM или другой стандартный аудиопоток, а VGM содержит команды чипов. Поэтому сначала требуется VGM-decoder. В основном Windows-сценарии VGMPlay создаёт WAV, и уже его открывает АудиоМАСТЕР. Для структурного редактирования исходника используются VGM Tools.

VGZ хуже по качеству, чем VGM?

Нет. VGZ — GZip-сжатие VGM. Распаковка возвращает тот же поток команд; это не MP3-подобная компрессия звука. Разница относится к размеру хранения и удобству поддержки программой.

Можно ли просто переименовать VGZ в VGM?

Нет. Переименование меняет только имя. Чтобы получить несжатый VGM, GZip-поток нужно распаковать. Если архиватор не распознаёт .vgz, временное имя .vgm.gz можно использовать только как подсказку типу файла; после этого всё равно требуется извлечение.

Можно ли получить VGM обратно из MP3?

Универсального обратного преобразования нет. MP3 содержит уже смешанный и потерьно сжатый PCM-сигнал. В нём отсутствует исходная последовательность регистровых команд, точные VGM delays, GD3 и структура loop. Поэтому VGM нужно хранить как исходник.

Почему VGM → MIDI звучит иначе?

MIDI хранит события, а не эмуляцию конкретного чипа. Конвертер переносит доступные ноты/события, но тембры FM, PSG-поведение, семплы и нестандартные эффекты могут потребовать ручной настройки или вообще не иметь прямого MIDI-эквивалента. Сравнивайте музыкальную структуру, а не идентичность тембра.

Можно ли выделить отдельный бас или канал?

Частично. VGMPlay имеет mute-параметры для чипов и каналов. Можно сделать несколько WAV-рендеров с разными mute-настройками и использовать их как stems. Это не гарантирует «студийное» разделение, но для анализа chiptune работает значительно точнее, чем нейросетевое разделение уже смешанного MP3.

Что лучше для прослушивания: VGMPlay или foobar2000 ?

VGMPlay лучше как специализированный диагностический decoder: есть командные параметры, mute каналов и WAV dumping. foobar2000 удобнее как повседневный GUI-плеер с плейлистом и контекстной конвертацией. Для проблемного VGM полезно иметь оба.

Зачем нужен VGMToolbox, если есть VGM Tools?

VGM Tools удобнее для точного trim, loop, stats, tag и optimization через командную строку. VGMToolbox даёт GUI для GD3 и широкий набор extraction/exploration functions для игровых ресурсов. Они пересекаются лишь частично.

Нужно ли конвертировать VGM для Android?

Не обязательно. ZXTune прямо поддерживает VGM, поэтому оригинал можно проигрывать без MP3. Конвертация нужна, если вы хотите обычный файл для любого медиаплеера или отредактированную PCM-версию.

Нужно ли распаковывать VGZ перед прослушиванием?

Не всегда. VGMPlay и ряд chiptune-плееров принимают VGZ. Распаковка нужна, когда конкретная утилита работает только с .vgm, для диагностики содержимого или перед определёнными низкоуровневыми операциями.

Можно ли редактировать loop после конвертации в WAV?

В WAV можно вырезать и повторить отрезок, но это будет уже монтаж PCM. Он не создаёт VGM loop point. Если итог должен остаться .vgm/.vgz и корректно зацикливаться в VGM-плеерах, точку цикла задавайте через vgm_trim на исходном VGM.

Почему два VGM-плеера иногда звучат по-разному?

Причина может быть в разных эмуляционных cores, степени поддержки конкретного чипа, настройках loop/fade, ROM-зависимых системах или decoder-баге. Поэтому редкий файл лучше проверять в двух реализациях. Если различие стабильно воспроизводится только в одном player, это аргумент исследовать decoder, а не сразу переписывать VGM.

Итог: какой путь выбрать

Для пользователя Windows, которому нужен обычный WAV или MP3, рациональнее всего разделить задачи: VGMPlay выполняет VGM → WAV, АудиоМАСТЕР — монтаж и конечный экспорт. Для регулярного прослушивания без промежуточных файлов удобен foobar2000 с Game Music Emu Decoder. Winamp с in_vgm имеет смысл как совместимый legacy-путь для уже настроенной старой коллекции.

Если важно сохранить редактируемый VGM, не переходите в PCM раньше времени. Анализируйте файл через vgm_stat/vgm2txt, ищите цикл vgmlpfnd, применяйте vgm_trim, затем при необходимости vgm_tag и vgm_cmp. После каждого структурного изменения прослушивайте результат и храните неизменённую копию исходного лога.

Для телефона конвертация тоже не обязательна: ZXTune работает с VGM на Android, Square Waves — с VGM на iPhone/iPad. MP3 нужен как универсальная прослушиваемая копия, а не как замена оригиналу. Для нотного анализа используйте vgm2mid, заранее учитывая ограничения по чипам и codepage. Такой подход сохраняет главное преимущество VGM: возможность работать не только с конечным звуком, но и со структурой команд, циклов и метаданных.

Тип контента: 

Оставте свой отзыв о Что такое VGM: как открыть файлы на Windows, macOS, Linux и телефоне, изменить теги и конвертировать звук

CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.