Есть у меня хобби - вытаскивать из компьютерных игр озвучку. И когда-то давно я вытащил саундтрек к Earth-Worm Jim 2.
А игра была в формате для PlayStation.
Да к тому же ещё и древняя. И оказались там песни отнюдь не в том виде, в котором их можно спокойно слушать - с нормальным началом, серединой и концом. Оказались там какие-то странные файлы - ни то ни сё - например, в одном файле часть музыки от первого уровня и часть от второго.
Дело в том, что в игре звук зациклен, однако начало и конец уровней имеют свою озвучку, плавно перетекающую в основной цикл. Я примерно такую же технологию использовал, когда делал
сайт Пилотов:
Пластилиновый бордюр имеет уникальное начало, не менее уникальный конец, середину из повторяющихся кусков, и всё это переходит друг в друга без швов.
Если размышлять логически, то самый простой способ реализовать такое - использовать для каждого куска звука или картинки отдельный файл (метод №1), однако разработчики Earth-Worm Jim 2 поступили куда как хитрее. Они использовали два файла. В первом - начало и середина трека (конечно без стыков), а во втором - окончание (метод №2). Однако простое состыковывание файлов не выходит. Появляется "шов". Чтобы было понятно, как так выходит, я набросал следующую схемку:
Кардинальное отличие методов заключается в том, что для восстановления исходного трека, разбитого по второму методу, надо знать координаты двух меток - мéста, с которого начинается зацикленный кусок, и мéста, откуда начинается окончание. А без этого получается хреновая музыка...
И возиться с изображением для меня лично гораздо проще, чем со звуком. Помогло то, что метки между кусками были расставлены по границам резких звуков - в моём случае - хлопков в ладоши - наверняка так было проще при зацикливании исходной композиции сохранить ритм.
В общем, результат выкладываю для прослушивания -
(EarthWorm Jim 2) - Doo-Be-Doo - (256k).mp3 2,15Мб. Очень позитивная музычка!
P.S. Наверняка игру делали товарищи с трекерным опытом - там технология петель ("залупливание") очень и очень развита. А обычно в играх с этим не заморачиваются - просто зацикливают трек целиком...