1. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление
  2. Перед началом работы с нашей вики обязательно ознакомьтесь с Правилами и указаниями Old-Games RU Wiki.
    Скрыть объявление

Обсуждение XMI

Тема в разделе "Wiki Old-Games.RU", создана пользователем Geryon, 12 мар 2014.

  1. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.215
    XMI или XMIDI (от eXtended MIDI) - формат представления MIDI-файлов, разработанный Джоном Майлсом (John Miles) для программного пакета Miles Sound System. Вместе с этим пакетом в 1990-х годах этот формат получил широкое распространение среди разработчиков компьютерных игр для платформы DOS. Как следствие, XMI-файлы можно найти во многих играх, активно использующих звуковые эффекты. XMI часто использовался в качестве воспроизведения фоновой музыки.

    Изначально XMI разрабатывался для библиотеки AIL 2.0, которая в одних источниках называлась IBM AIL, а в других - Miles AIL. Эта библиотека очень была очень широко распространена, поддерживала широкий спектр звуковых карт. То, что называется Miles Sound System - это более поздняя библиотека, разрабатываемая и продаваемая компанией RAD Game Tools, которой Майлс продал частичные права на свои разработки.

    Можно утверждать, что XMI - один из самых распространенных форматов музыки для DOS-игр. Всего он поддерживался следующими пакетами:

    AIL 2.0
    AIL/32 (AIL для защищенного режима)
    MIDPAK (высокоуровневый wrapper, предоставляющий свой интерфейс игре, а сам использующий низкоуровневые драйвера от AIL 2.0)
    SoundLib (что-то вроде взломанного русскими хакерами AIL 2.0)
    MSS (Miles Sound System)

    И если SoundLib из известных мне игр встречается только в El-Fish, то остальные четыре пакета могут похвастаться десятками тайтлов. Лично мне на сегодняшний день известны 132 DOS-игры, использующие XMI, хотя наверняка их еще больше.

    XMI был разработан для использования расширений MIDI, не вошедших в сам формат MIDI, но реализованных низкоуровневой звуковой библиотеке IBM AIL 2.0 (Audio Interface Library). Так как Miles Sound System работала поверх AIL, разработчику пришлось создать собственный формат, который мог воспроизводить подобные файлы.

    Это какие-то сапоги всмятку. Да, стандарт XMIDI включает несколько расширений, не входящих в MIDI. А именно - с помощью нестандартных контрольных сообщений композитор имеет возможность управлять не только гипотетическим синтезатором, но и самим драйвером, воспроизводящим MIDI-поток. Кроме того, один XMI-файл может включать себя несколько композиций (sequence). Эта особенность почти не использовалась разработчиками игр; яркое исключение - System Shock, где с помощью этих sequences и средств вышеупомянутой библиотеки AIL/32 обеспечивался плавный переход от одной музыкальной темы к другой.

    Остальное мне непонятно. Что значит "пришлось создать собственный формат, который мог воспроизводить подобные файлы"? И пакет Miles Sound System не работал поверх AIL, а был частично основан на исходном коде AIL. Поверх AIL работал MIDPAK.

    Джон Майлс постарался использовать уже существующие форматы представления данных, благодаря чему XMI соответствует стандарту Electronic Arts Interchange File Format (EA IFF 85). Согласно этому стандарту, XMI является IFF "CAT " куском (chunk) формата XMID. Таким образом magic number файла является "CAT XMID". Внутри CAT-куска содержится по крайней мере одна XMIDI последовательность, которая заключена в куски "FORM" формата XMID. Кроме того, в файле может содержаться кусок XDIR, в котором содержится информация о коллекции последовательностей XMIDI. Этот кусок не обязателен и используется для удобства программ, использующих файл.

    Предлагаю вообще исключить эту часть, оставив лишь упоминание о стандарте IFF 85. Такие технические подробности (какой chunk после какого идет в XMI-файле) 100% никто читать не будет, а уж если и найдется маньяк - к его услугам подробная документация на сайте Майлса.

    Такие детали почти никого не интересуют, зато в сети полно вопросов о том, чем проигрывать XMI-файлы и конвертировать их в MID. Вот и предлагаю расписать, что под DOS есть плееры XPLAY, XP32, XMIPLAY и PX, а под Windows - Winamp, foobar2000 и XMPlay. Что касается конвертации, под DOS есть XMI2MID, а под Windows - опять Winamp и foobar2000, но к качеству конвертации есть вопросы, а 100% надежного способа конвертации не существует, т.к. XMI все-таки может включать расширения, не поддерживаемые MID.

    Предлагаю переписать статью с учетом моих замечаний (переписыванием могу заняться я), и готов выслушать критику.
     
    Последнее редактирование: 12 мар 2014
  2.  
  3. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.198
    предлагаю её структуризировать по нормальному. В дерево. И спрятать под кат.
    А то так можно дооптимизировать описание формата до слов "XMI - формат MIDI файлов от Майлса". :)

    Всё же описание формата - это именно техническое описание внутренностей в первую очередь.
     
  4. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    28.946
    Geryon, первое и третье можно дополнить, как ты предлагаешь. Ничего удалять, только потому, что "это никому не интересно", не надо. Второе, думаю, можно исправить, как ты предлагаешь.
     
    Newbilius и A.P.$lasH нравится это.
  5. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.215
    Вот вариант:


    XMI или XMIDI (от eXtended MIDI) - формат MIDI-файлов, разработанный Джоном Майлсом (John Miles) для программного пакета Audio Interfrace Library (AIL). Вместе с данным пакетом, а также с родственными пакетами MIDPAK и Miles Sound System, в 1990-х годах формат XMI получил широкое распространение среди разработчиков компьютерных игр для платформы DOS.

    XMI был разработан для использования расширений MIDI, не вошедших в сам формат MIDI, но реализованных в низкоуровневой звуковой библиотеке Audio Interface Library. XMI-файл содержит в себе всю необходимую для воспроизведения исходной MIDI-композиции информацию, при этом ненужные с точки зрения библиотеки элементы воспроизведения при конвертации MID в XMI исключаются. В результате итоговый XMI-файл на 10-30% меньше оригинала и требует меньше ресурсов на воспроизведение.

    Вышеупомянутые расширения MIDI в основном позволяют управлять драйвером, в т.ч. временно блокировать смену патча для выбранного канала и зацикливать те или иные фрагменты композиции. Кроме того, один XMI-файл может содержать как одну, так и множество композиций. Данная возможность использовалась, например, игрой System Shock для создания динамического музыкального сопровождения.

    Разрабатывая XMI, Джон Майлс постарался использовать уже существующие форматы представления данных, благодаря чему XMI соответствует стандарту Electronic Arts Interchange File Format (EA IFF 85). Согласно этому стандарту, XMI является IFF "CAT " куском (chunk) формата XMID. Таким образом magic number файла является "CAT XMID". Внутри CAT-куска содержится по крайней мере одна XMIDI последовательность, которая заключена в куски "FORM" формата XMID. Кроме того, в файле может содержаться кусок XDIR, в котором содержится информация о коллекции последовательностей XMIDI. Этот кусок не обязателен и используется для удобства программ, использующих файл.

    Проигрывать файлы стандарта XMI на современных системах можно с помощью плееров foobar2000 (требуется плагин foo_midi), Winamp и XMPlay. Для DOS существуют специализированные программы XPLAY, XP32, XMIPLAY (являющиеся частью SDK пакетов AIL 2.0, AIL/32 и Miles Sound System соответственно), а также MIDI-плеер PX. Есть также возможность конвертировать XMI в MID: для DOS - программой XMI2MID, для современных систем - Winamp или Awave Studio. Однако корректная конвертация не гарантируется, иногда результат может не совпадать с оригиналом.
     
    Ulysses и Dimouse нравится это.
  6. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    28.946
    По мне так нормально, но подождем мнения winterheart.
     
  7. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.215
    Dimouse нравится это.
  8. winterheart

    winterheart

    Переводчик

    Регистрация:
    6 сен 2010
    Сообщения:
    274
    Привет всем.
    По части распознавания формата я делал это с прицелом на людей, которые, копаясь в ресурсах, хотят распознавать файлы. Подобные фрагменты есть во всех моих статьях, посвященных форматам файлов.

    В остальном, не имею ничего против, это вики, правьте смело.
     
    Bato-San и Dimouse нравится это.
  9. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.215
    Что дальше? Просто заменить в вики имеющийся вариант на мой, или как?
     
  10. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    28.946
    Geryon, меняй, конечно. Если что, всегда можно будет дальше править.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление