Создание AT3 файла c добавлением loop

- всем привет ! На сегодняшний день , а на дворе осень 2009, творческая мысль приказала долго жить, поэтому ничем не занимаюсь, акромя шпилева в xbox360...да и то уже порядком поднадоело. Возможно, это временная хандра , и оптимистическая нота познания загадочного разнообразия разбудит пытливый ум !

"цена на все растет пропорционально приближающейся старости !"
Как это началось...
Да как всегда,-с "мухи" ! Уж очень захотелось сделать "слона" ! Захотелось хоть как-то облагородить образы PS, чтоб те достойно смотрелись на экране PSP. А то ни красивых анимационных иконок, ни родного звука из игры...Но с этим-то люди разобрались:и звук нашли как кодировать, и .pmp одолели.Только всё равно не было в душе спокойствия. Ну да, слон получился, чего ещё ?! А фиг его знает, -уши у него не такие !!! Не хочу такого, -хочу , чтоб долбаный ATRAC3 по кругу, как в комерческих продуктах ! И тут началось...от досканального изучения внутреннего формата звука, до HEX- редактирования, всё это умноженное на число экпериментов = хронический недосып ! WAV-файл, как оказалось, способен нести в себе дополнительную информацию, о повторяющихся фрагментах. Но добавлять её туда и использовать умеют далеко не все программы. Sound Forge 8 умеет создавать AT3 файлы и добавлять в них петли ( loop ). Это должно приводить к зацикливанию фрагмента, но ...На практике этого не происходит: файл не зацикливается. Что опять ?!!
По порядку....

Инструменты:
1. Открываем любой музыкальный файл File -> Open
2. Выделяем ту часть файла, из которой будем делать SND0.AT3
Если вам нужно просто скопировать какие-то данные из файла без его редактирования и вы хотите обеспечить его неизменность, вы можете открыть файл в режиме "только для чтения". Для активизации этого режима следует просто установить флажок Open as read-only. Это позволит открыть файл для воспроизведения и копирования, но вы никак не сможете его изменить. Когда вы открываете файл в программе Sound Forge, программа сначала автоматически создает временную копию этого файла, так что любые сделанные вами изменения не влияют на исходный файл до тех пор, пока вы не выполните операцию сохранения. Это позволяет экспериментировать с редактированием и обработкой, не опасаясь потери исходных данных. Если же вы захотите работать непосредственно с исходным файлом, установите флажок Operate directly on the sound file. Преимущество такого подхода заключается в том, что открытие файла происходит быстрее и экономится дисковое пространство. Недостаток состоит в том. что исходные данные в процессе редактирования изменяются, но вы можете создать перед началом редактирования файла его резервную копию.

3. Теперь делаем саму петлю: Click Special -> Insert Sample Loop

Можно немного поэкспериментировать с параметрами петли: добиться максимально плавного перехода с конца на начало. Для этого (петля уже создана) мы заходим в View -> Loop Tuner

4. Click OK (по умолчанию стоит Sustaining Infinite Loop)

Ваш звуковой файл теперь снабжен точками начала и конца цикла
Стоит отметить, что при удалении ненужной области , не стоит резать слишком близко к самой петле. Желательно оставить небольшой временной зазор ,буфер, в размере 10 мс. В противном случае, все дальнейшие старания будут напрасны, и никакие шаманства не заставят файл "кружиться" ! Не знаю, с чем это связано, может кому-то и удастся найти обоснованное решение этой проблемы.
5. Выделяем и удаляем ненужную информацию, та что осталась за пределами петли.
6. Click File->Save as
Выбираем параметры , как на рисунке. Жмём Сохранить
Вот мы и подошли к самому интересному. Переименовываем SND0.WAV в SND0.AT3. Теперь у нас есть файл, со всей необходимой внутренней информацией о бесконечном проигрывании, до полного разряда батарейки или нервной системы рядом сидящего.Но об этом, как ни странно, знаем только мы и SF8. Как заставить всё это работать на чудо-японском кирпиче.Ответ на этот вопрос кроется во внутренней структуре wav-файла. Примерно опишу , что к чему. Представьте , что файл состоит из блоков, допустим 1,2,3,4,5,6. Каждый несёт в себе какую-то информацию. Ещё раз повторюсь:вся информация о цикле находится непосредственно в блоке 6 (smpl). Полученный файл имеет именно такую структуру. Консоль же игнорирует всё , что идёт после блока 5 (data), -это мы и имеем на практике. А что случится , если мы возьмём и поменяем блоки местами ? Правильно, ничего ...ничего такого, что удивило бы обычного смертного, но файл будет проигрываться очень долго.
Открываем любой HEX-редактор,в данном случае я использовал WinHEX, открывем в нём наш файл
File -> Open SND0.AT3, листаем в самый низ, находим строчку smpl, выделяем всё до конца ( как на рисунке справа ). Вырезаем ( Edit -> Cut). Дальше передвигаемся вверх, находим строчку data, устанавливаем курсор на "d" и вставляем то, что вырезали (Edit -> Clipboard Data -> Paste. Всё теперь файл подвергся окончательной реконструкции и готов к полноценному ипользованию.Осталось только его сохранить, что мы и делаем File->Save as SND0.AT3

P.S. не стоит забывать о том , что суммарный размер ICON1.PMF и SND0.AT3 не должен привышать 500 кб, для их нормального отображения и проигрывания.

Удачи в мухопреображении и слоноразмножении !

законченный загрузчик на примере FF5

Hosted by uCoz