Need For Speed:
Music Conversion Tools

My crew is all fired up
Y'all better just wise up
Everybody gettin' sized up
Before we all rise up
Start runnin' your times up
Cuz' when my crew ride up
The sky gon' light up
Everybody get FIRED UP!!!

© Hush - Fired Up



Необходимое предисловие

Чтобы те, кто захочет это прочесть, могли разобраться в написанном, мне придётся немного углубиться в прошлое и коротко рассказать что к чему.

С 2005 по 2007 год эта статья несколько раз менялась, не кардинально, но из неё пропадали некоторые уже неактуальные на тот момент части, поэтому сейчас она читается и выглядит немного странно для постороннего наблюдателя.

А вкратце история выглядела так:

2005.11.24 - Need For Speed IX: Most Wanted - Music Conversion Tools (MCT)

Я сделал и выложил конвертер MCT, который конвертировал только лицензированную музыку - грубо говоря песни исполнителей, которые можно было найти в OST к игре (с динамической музыкой, вроде бы, так до сих пор никто и не разобрался). Конвертер был очень кривой и страшный, там было четыре утилиты и ещё .BAT файл сверху до кучи. Работало всё это безобразие следующим образом:

Если во время работы утилит "Tool1.dat" или "Tool3.dat" внезапно пропадало электричество, компьютер уходил в перезагрузку или ещё что, то, как несложно догадаться, можно было угробить файл с музыкой без возможности его восстановления. Я не делал отдельную копию файла без первых 256 байт (хотя это было бы безопаснее), потому что у меня тогда было мало свободного места и я пытался таким образом его экономить. Это чтобы было понятно, почему я ниже в статье пишу что эти утилиты были небезопасными.

Сейчас понимаю, что если бы так хотелось менять файл, то можно было бы просто как-нибудь хитро состряпать поддельный SCHl заголовок вместо 256 байт, чтобы "EACONV.EXE" заработала, но пропустила его, а дальше обрабатывались бы уже нормальные файлы. Но чтобы это сообразить нужно было знать структуру формата, на что у меня ушло почти десять дней (там ещё другие дела были, не до конвертера). За это время утилиты MCT успели разлететься по всему Интернету. Более того, они потом ещё выйдут мне боком в будущем, когда появится NFS: Carbon с таким же форматом - народные умельцы будут их во всю использовать в своих конвертерах (видел те поделки - мрак и ужас).

А ещё я очень тщательно всё тестировал, хотел сделать сразу и идеально - сколько раз после каждых изменений запускал конвертер и всё проверял, что даже представить страшно. Это мне стоило 160 Гб жёсткого диска Maxtor, который начал сыпаться и мне пришлось срочно покупать новый и спасать данные. Впрочем, в то время 160-ки максторовские у многих ломались, так что, возможно, это просто приблизило его конец.

2005.12.04 - Need For Speed IX: Most Wanted - Music Extractor (nfs9mwme)

Я наконец-то разобрался с форматом Electronic Arts .MUS / .ASF и заменил MCT новым безопасным конвертером, который читал блоки со звуковыми данными SCDl, склеивал их и записывал в отдельные файлы, так что повредить архив с музыкой было уже невозможно. Однако, что попало в Интернет, то не вырубишь топором, поэтому утилиты MCT так и остались на многих сайтах.

2006.02.19 - Need For Speed IX: Most Wanted - [Total Converter] (TC)

Решил сделать GUI программу, которой заменил nfs9mwme. TC, помимо всего прочего (а умела она немало), могла кодировать в .MP3 через "LAME.EXE", извлекать видео (всё ещё при помощи утилиты "EACONV.EXE", но я честно указывал авторство VAG'а), а также исправляла частоту звуковых дорожек у видеофайлов с 22050 Hz на 48000 Hz при конвертировании видео из-за которой звук проигрывался медленнее чем видео и отставал, да и звучал странно (это была ещё одна недоработка утилиты VAG'а). А ещё там был правильно работающий прогресс-бар и реклама дружественных сайтов: Extractor.ru, сайта VAG'а, сайта jTommy и других, на которые можно было заглянуть пока музыка или видео конвертировались.

2007.11.11 - Need for Speed Multimedia Converter v1.3

Мы, команда CTPAX-X Team, выпустили свой конвертер версии v1.3 который мог гораздо больше, поддерживал другие игры серии NFS и был лучше написан (WinAPI GUI да и, вообще, весь изначальный код конвертера - это почти целиком заслуга товарища jTommy), так что TC я отсюда убрал, чтобы не плодить сущности.

Вообще, с чего всё начиналось можно узнать из темы на форуме Extractor.ru по первой ссылке из таблицы ниже - я потом в статье не раз буду на сообщения оттуда ссылаться.

А вся эта статья здесь осталась ещё с тех времён. Мне она не очень нравится, ибо тот же разбор конвертера Zubochistka'и не выдержан в нейтральном стиле, выглядит некрасиво и больше походит на наезд. Но уж что было, то было. Так что оставлю всё как есть для истории.

Ниже идёт сама статья в том виде, в котором она осталась с 2007 года.


-=CHE@TER=-
2022.12.10



Данная страничка посвящена извлечению ресурсов из Need For Speed IX: Most Wanted и проблемах возникших в связи с этим.

Но начать хотелось бы с распространения моих утилит "Music Conversion Tools" (в дальнейшем "MCT") на просторах Интернета.

Итак. Давайте узнаем, что же удалось раскопать при помощи поисковых систем (вообще утилита была готова уже 21-го числа, но мне пришлось ждать разрешения VAG'а... который просто на всех забил; я не верю, что он не заходил на форум - как гость, он 100% был на форуме).

Время Кто Где
0 2005.11.24 15:15 -=CHE@TER=- FORUM EXTRACTOR.RU
1 2005.11.27 09:05 Siberian GRemlin FORUMS.AG
2 2005.11.28 09:23 kurynOFF FORUM.RU-BOARD
3 2005.11.29 01:59 Vitriol FORUMS.OVERCLOCKERS
4 2005.11.29 13:19 aidarfar FORUM.RU-BOARD
5 2005.11.30 00:00 Grin[Go] PLAYGROUND

Дальше мне уже стало скучно вытаскивать все ссылки, тем более, что их расплодилось меряно-немеряно.

Интересно, что пик посещаемости этого сайт пришёлся на 2005.12.05. Было 255 уникальных IP-адресов и при этом они в сумме обратились 972 раза к сайту.


Вопросы и ответы


Важно! Прочтите внимательно!

Q: Как извлечь музыку и видеоролики из Need For Speed IX: Most Wanted?

A: Воспользуйтесь программой от команды CTPAX-X:

Need for Speed Multimedia Converter


Q: Всё делаю по инструкции, но после работы программы .WAV файлы получаются маленькие - по паре килобайт, в чём проблема?

A: Значит пиратской версией пользуетесь. Тогда поможет способ описанный товарищем dec multi на форуме EXTRACTOR.RU (я взял на себя наглость его немного переписать; оригинал можно глянуть тут: пост №67):

Если есть проблемы с музыкой, то решение следующее:


Q: А чего AMBIENT музыку не выдираешь?

A: А в каком порядке идут куски из неё?


Q: А как можно засунуть музыку обратно?

A: Никак. Пользуйтесь Winamp'ом.

Объясняю в 1000-ый раз: я не знаю алгоритма сжатия музыки. Я занимаюсь только распаковкой музыки именно в том формате, в котором она там лежит. Конвертацией музыки занимается VAG. Его утилита eaconv.exe и конвертирует музыку. Я не знаю как она это делает, но она работает и это самое главное. Так что не по адресу - нужно обращаться к товарищу VAG'у и просить уже его, чтобы он написал обратный конвертер.

Далее, чтобы засунуть туда музыку, нужно знать описание формата файла .MPF. Увы, я его не знаю. Так что даже если упросите VAG'а написать обратный конвертер, то не факт, что музыку можно будет туда всунуть.


Q: Саундтрек к NFS9:MW - отстой!

A: С этим не ко мне.


Q: Ты выложишь исходные коды утилит для NFS9:MW?

A: Только если захочу устроить в Интернете Хаос. Почему? Потому что убедился на своём горьком опыте, что плагиатчики не только спереть незаметно программу не могут, так ещё и умудряются внести в нормальный код программы тьму ошибок. А ведь пользоваться-то ей - вам... Я думаю вы будете не в восторге испортив файлы игры или чего-нибудь на винчестере... Это характерная особенность плагиатчиков - не тестировать, сделать абы как и с кучей ошибок. А почему? Потому что человек, который ни разу в жизни компьютер не видел, понимает в программировании больше чем они.


Q: Короче, чувак, у тебя гонимый сайт и гонимые программы и сам ты тоже гонимый.

A: Я так и знал. И почему меня в детстве не предупредили?..


Головотяпы

Потратил некоторое количество своего трафика и, соответственно, денег, чтобы выяснить, как идут дела в сети - оч-чень интересно. "Любопытство - не порок" ©

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

В каких только диких вариантах я не находил свои утилиты в Интернете. Просто жутко порой становилось. В общем и целом - особых претензий нет. Кто-то просто скачал утилиты с моего сайта и выложил у себя. Кое-кто добавил внутрь архива утилиты VAG'а и обозвал Need_For_Speed_IX_-_Most_Wanted_Music_Conversion_Tools.rar (встречается также в варианте, где вместо символов "_", в названии архива, стоят точки).


Итак, начинаем раздачу слонов!


Не могу не сказать о нескольких вещах, которые меня здорово повеселили:


Что понравилось: nfs.gameslife.ru

Со своим архивом mw_music_conv_tools.exe, которому даже иконку от оригинальной игры присобачили. Ребята не просто вставили ссылочку на свой сайт, но и сделали SFX архив, куда, собственно, и запихнули свою рекламу. Ну да бог с ними - выглядит неплохо. Получают положительную оценку, так как они, пожалуй, единственные, кто из всех переупаковывавших оригинальный архив и засунувших туда свою рекламу, не попытались изменить оригинальные файлы и копирайты, а более того, даже на начальном окне на них сослались (я прямо млел).


Безусловно меня сильно порадовал сайт: nfs.com.ru

Только его модераторы умудрились выложили два (!) раза "MCT", под разными названиями - второй раз уже как NFS:MW Music Extractor, за что и получают почётную премию "Разгильдяя". Плюс ещё потёрли зачем-то файл !ReadMe!.txt и создали Install.txt с двумя строчками, по типу "догадайся что к чему".


Внимание!

Информация о "плагиатчиках" была актуализирована - я пересмотрел её и убрал, т.к. сайт первого просто напросто испустил дух, а второй написал письмо и честно извинился:


http://ctpax-cheater.losthost.org/htmldocs/nfs9mw.htm


Здорово!!

Извини, что так погорячился и размещал твои проги как свои. Больше такого не повторится.


Что же, могу только пожелать успеха в дальнейших проектах. И ещё раз прошу прощения и прошу удалить инфу про меня на этой странице.


С уважением, e][trim@L.

8 июля 2006 г., суббота, 06:03


В связи с этим текст удалён, а я со своей стороны больше не имею никаких претензий к e][trim@L'у.


Внимание!

Перед прочтением дальнейшего текста, о конверторе, который написал Zubochistka, я хотел бы, чтобы вы прочитали его письмо, которое он прислал мне:


Здравствуйте, СТРАХ!

Наткнулся на ваш сайт с разобранной моей программой и вот что хочу уточнить:

  1. Программы писались ТОЛЬКО для себя и друзей - просто они просочились в сеть и стали доступны остальным.
  2. Кроме программы от VAGа никакими сторонними программами (Вашими в том числе) я не пользовался, так что плагиатчиком меня называть немного некорректно.
  3. Программы писались ТОЛЬКО под NFS-MOST WANTED и их дальнейшее использование не предполагается вообще (ну разве что алгоритм склеивания WAVов)
  4. Писались они в один вечер - поэтому достаточно кривые, признаю

P.S. В общем с критикой абсолютно согласен, однако, неприятный осадочек остался.


--

С уважением,

Zubochistka

3 мая 2006 г., среда, 18:57


В связи с этим я хотел бы извиниться перед Zubochistka, за резкие выпады в его сторону, а также поблагодарить за письмо. Я признаю, что это была не очень этичная выходка с моей стороны.

Сначала я удалил текст статьи, но Zubochistka попросил его оставить. Поэтому при прочтении текста попросил бы иметь ввиду приведённое выше письмо. Как сказал сам Zubochistka: "... просто не хотелось, чтобы обо мне думали как о человеке, который ворует чужие идеи. Типа, всегда казалось, что есть собственный мозг :)"


Что ещё интересного? Нашёл в сети конвертер какого-то Zubochistka - его программа чем-то очень сильно напоминает "MCT" ("Выкладывай сови утилитки, плиз. Потому как eaconv найдём самостоятельно :)" © Zubochistka). К сведению - "MCT" был выложен 2005.11.24 15:15 (время взято из поста EXTRACTOR.RU), а конвертер Zubochistka'и - 2005.11.28 12:58 (время тоже взято из поста).

Я не поленился протестировать его конвертер, хотя и места у меня было мало. Но результаты повергли меня в шок... Я просто ужаснулся - судите сами:

Спешл фор Zubochistka:

{ можно хоть миллион поставить - и вообще, в оригинале их 26 }
Const
      MaxFiles = 27;
Var
    I, NLen: Integer;
          S: String;
    [...]
Begin
  [...]
  NLen:=Length(IntToStr(MaxFiles)); { узнаём максимальную длину }
  For I:=1 To MaxFiles Do
    Begin
      S:=IntToStr(I); { переводим число в строку }
      While Length(S) < NLen Do S:='0' + S; { забиваем нулями слева }
      S:=S + '.wav'; { добавляем расширение }
      { а начиная с этой строки уже имеем нужное имя файла }
      [...]
    End;
  [...]
End.

После всего описанного выше мне даже страшно представить, что там ещё в конверторе наворочено...

Сравнивать работу Zubochistka с Music Extrctor я намеренно не стал, так как лучше него вообще ничего нет в данный момент для извлечения музыки. И места нужно куда меньше, и работает быстрее, и без глюков, и безопасный, и весь в одном файле (eaconv.exe и .BAT - не в счёт - их и Zubochistka использует), и т.д.

Что ещё добавить? Так и хочется спросить: Zubochistka! Ты сам-то своим произведением пользуешься?.. ИМХО, писать такие программы - себя не уважать, а уж что там говорить про других, тех, кто будет ею пользоваться...

Кому интересно - могут взглянуть на это "чудо" природы:

http://forum.netzoom.ru/index.php?showtopic=456


Внимание!

Приведённый ниже текст про конвертер VAG'а уже не актуален, потому что все эти (и другие) ошибки были исправлены им в версии 0.6i от 2007.01.12.


Теперь пройдёмся ещё по товарищу VAG'у. А то ему-то шишек и не досталось...

  1. Зачем ты склеиваешь "SCHl" в один .WAV файл (когда я ещё качал конвертер Zubochistka, я сам с собой поспорил, что он наступит на эти грабли - и я выиграл (*улыбается*))? От этого и был косяк, что в одном .WAV файле были и начало и конец песен. Это разные файлы. Хотя этот косяк может быть связан с предыдущими сериями Need For Speed - там так могло быть сделано и это могло быть надо.
  2. Ты не мог бы искать "SCHl" заголовок с начала файла, если файл на него не начинается?
  3. Определение: расширением файла является всё, что находится после последней точки в имени файла. Хотя я понимаю, что ты действовал по принципу "не напрягаясь", т.е. через strchr() или Pos(). ИМХО, когда ты делаешь что-то не для себя - халтурить непозволительная роскошь...
nfs9mw.jpg; 300x301; 20,599 b

Ну, и наконец, влеплю себе оплеуху, чтобы никому неповадно было.

Увы, но я слишком поздно разобрался с форматом .MUS файла (я думал, что вообще не смогу). Как результат глючная, тормозная, небезопасная, а также жрущая кучу места при работе "MCT" расползлась по всему Интернету... Увы, возможности изъять её из обращения и заменить на Music Extractor у меня нет... Но те кто хочет всё-таки извлечь нормальную музыку и безопасно - всегда могут скачать новую утилиту с этого сайта. Мне правда стыдно за "MCT"...

И тем не менее, те, кто до сих пор ею пользуются и держат у себя на сайте или диске - тормоза!..


Ну, а у меня всё. Так что до новых встреч.


-=CHE@TER=-
2005.12.16




Последний раз о...

Ещё когда я искал сайты, на которых лежал мой конвертер, мне попадалась ссылка на какой-то extractor, который, якобы, сразу конвертировал в .MP3. Увы, ссылка всегда, оказывалась нерабочей... Но совсем недавно я натолкнулся на сайт, где она оказалась нормальной.


На разделочном столе у нас: NFSMW music exТрактор v 1.02 by REFERI


Итак, я начал её тестировать... Первой роковой ошибкой, которую я совершил, было то, что я не сделал копию файла "MW_Music.mus". И я потом об этом сильно пожалел... читайте ниже.

Но я ещё не знал, что меня ожидает, поэтому запустил программу и стал ждать пока она проработается. Алгоритм конвертирования работает по тому же принципу, что и "MCT" - т.е. тоже удаление 256 байт и запуски утилиты eacovn.exe натравленной на "кастрированный" файл. Дата создания .EXE файлы этой программы 2005.12.09, а "MCT", напомню, был выложен 2005.11.24.

Общие ошибки:

Что ж, поможем ему:

Const
      MaxSongs = 26;
      SongList: Array[1..MaxSongs] Of String =
      ('Styles of Beyond - Nine Thou (Superstars Remix)',
       'T.I. Presents The P$C - Do Ya Thang',
       [...]); { ну и там остальные песни }
Var
    S: String;
    I: Byte;
    [...]
Begin
  [...]
  For I:=1 To MaxSongs Do
    Begin
      S:=IntToStr(I); { переводим число в строку }
      If Length(S) < 2 Then S:='0' + S; { забиваем нуль слева }
      S:=S + SongList[I]; { полное имя без расширения }
      { вот и всё - делов, то: }
      ConcateWavs(S + '.wav'); { имя для склейки }
      LameEncode(S + '.wav', S + '.mp3'); { входной, выходной файлы }
      [...]
    End;
  [...]
End.

Для тех, кто хочет лично взглянуть на эту программу by REFERI:

http://www.warex.ru/modules.php?name=News&file=view&news_id=318


nfs9mw2.jpg; 220x336; 16,469 b

Вот такие вот дела. Так что те, кто использовал сразу nfsmwme или [Total Converter] ("MCT" чуть-чуть неверно извлекал пару песен) - самые счастливые люди.

Знаете какой из этого всего вывод? Очень простой:


В любом деле нужно быть аккуратным и ответственным!



Всем удачи!


-=CHE@TER=-
2006.05.29