|
Здравствуйте Гость ( Вход | Регистрация ) Доступ из РоссииДля сохранения достпа из России к сайту и форуму GBX
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() |
Музыка на ГБА, Как это работает?
| Mad Mirror |
Пятница, 26 декабря 2003, 22:18
Отправлено
#1
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 115 Регистрация: 04 дек. 2002 Пользователь №: 69 ![]() ![]() |
Кто-нибудь пробовал разобраться в этом деле?
Я тут позапускал разные игры, покопался в RAM, и обнаружил, что все они (почти) воспроизводят музыку одинаково: недалеко от начала IRAM (0x03...) размещаются структуры, отвечающие за каждый канал. В каждой игре - свое количество каналов и свой стартовый адрес, но сами структуры похожи. Они состоят из нескольких 32-битных слов, часть из которых в процессе воспроизведения меняется редко (видимо, это указатели на сэмплы в РОМе, т.к. имеют вид 0x08...), а другая часть - часто, "в такт" музыке. Вот тут самое интересное. Если также считать эти значения указателями - попадаем в РОМ на кучу будто-бы случайных байт, однако их изменение приводит к непредвиденному изменению музыки (или один канал пропадает или играет быстрее других и т.д). Интересно было бы узнать, какой формат имеют эти "паттерны"... Если кто-нибудь заинтересуется, приведу пример для конкретной игры. -------------------- Вы только что начали читать предложение, чтение которого уже заканчиваете.
![]() |
| balin_victor |
Вторник, 20 января 2004, 14:51
Отправлено
#2
|
|
Продвинутый ![]() ![]() Группа: Пользователи Сообщений: 39 Регистрация: 19 янв. 2004 Пользователь №: 6 873 ![]() ![]() |
-------------------- Just Balin
|
| Manwe/SandS |
Вторник, 20 января 2004, 15:07
Отправлено
#3
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 154 Регистрация: 01 дек. 2003 Пользователь №: 6 341 ![]() ![]() |
Это обычная трэкерная музыка. Самая обычная.
Существуют разные форматы - MOD, S3M, XM, 669, IT и др., а некоторые плееры конвертируют эти форматы в свой внутренний формат (у каждого такого плеера он свой). Конвертируют обычно для повышения скорости воспроизведения: например, номера инструментов заменяются сразу на адреса памяти, по которым лежат эти инструменты, номера нот - на частоту тона этой ноты и т.д. Однако, общая структура при этом сохраняется. Её ты и наблюдаешь. А если плеер не конвертит в свой формат, то из игры можно даже выдрать музыку в виде MOD'а или, скажем, S3M'a и слушать отдельно на PC любым плеером. Но это редкость, обычно музыку конвертят и пакуют. В том числе и чтобы не выдирали. Когда я писал музыку для GBA-шной игрушки, я использовал формат MOD - он небогат возможностями, но зато нетребователен к ресурсам. |
| Manwe/SandS |
Вторник, 20 января 2004, 15:11
Отправлено
#4
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 154 Регистрация: 01 дек. 2003 Пользователь №: 6 341 ![]() ![]() |
Да, иногда, конечно, используют другой метод - включают старый ГеймБоевский муз-процессор о трёх каналах. FM-синтез + шум - ну, кто играл в старый GB, знает: звук такой ala Dandy.
Ещё иногда конвертят midi с набором сэмплов - получается практически то же, что и трэкерная музыка. Только такой фарш уже точно не провернёшь назад (в смысле, выдрать и проиграть на PC не получится). |
| Mad Mirror |
Среда, 21 января 2004, 01:44
Отправлено
#5
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 115 Регистрация: 04 дек. 2002 Пользователь №: 69 ![]() ![]() |
Pokemon Sapphire как раз использует и DirectSound и FM-каналы. Драйвер судя по всему "стандартный" Нинтендовский (сигнатура "Smsh" в некоторык участках памяти). Рядом с одним из таких участков находится байт скорости воспроизведения (адрес 0x030073A0).
QUOTE Некоторые плееры конвертируют в свой внутренний формат... Однако, общая структура при этом сохраняется. Вот именно! Осталось только разобраться в этом формате, а именно в формате нот. Тогда можно будет использовать их для преобразования в обычный MOD/S3M. Не думаю, что коммерческие игры используют много разных плееров. Максимум, штук 5... -------------------- Вы только что начали читать предложение, чтение которого уже заканчиваете.
![]() |
| Manwe/SandS |
Среда, 21 января 2004, 11:37
Отправлено
#6
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 154 Регистрация: 01 дек. 2003 Пользователь №: 6 341 ![]() ![]() |
QUOTE (Mad Mirror @ Среда, 21 Января 2004, 1:44) QUOTE Некоторые плееры конвертируют в свой внутренний формат... Однако, общая структура при этом сохраняется. Вот именно! Осталось только разобраться в этом формате, а именно в формате нот. Тогда можно будет использовать их для преобразования в обычный MOD/S3M. В том-то и дело, что это не всегда возможно (см. выше). Например, такая проблема: используются адреса, а не номера, инструментов. Ну, допустим, ты просканируешь все эти адреса и попробуешь восстановить по ним количество инстрментов, их длину и нумерацию. А если на некоторых нотах используется sample offset? Сразу адрес ускакивает на сотни байт вперёд. И пойди пойми - это другой инструмент или тот же, но с offset'ом. Придётся всё вручную расковыривать, сэмплы ручками вытаскивать. |
| balin_victor |
Четверг, 22 января 2004, 17:07
Отправлено
#7
|
|
Продвинутый ![]() ![]() Группа: Пользователи Сообщений: 39 Регистрация: 19 янв. 2004 Пользователь №: 6 873 ![]() ![]() |
to Manve:
Слушай, а что за игра про которую ты говоришь ? Если она есть в инете, то дай ссылочку. -------------------- Just Balin
|
| Manwe/SandS |
Четверг, 22 января 2004, 17:26
Отправлено
#8
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 154 Регистрация: 01 дек. 2003 Пользователь №: 6 341 ![]() ![]() |
to Balin_Victor: Moorhuhn, ссылка со странички www.demoscene.ru/sands
to all: начал я титанический труд по оцифровке музыки из Adwanced Wars 2. Профессиональная саунд-карта, hiss-reduction 8-битного шипения и всё такое. Нужно кому-нибудь это, если в mp3 выложу? или будем ждать, пока кто-нибудь в S3M'ы переведёт?.. Кстати, там почти у всех музонов большинство сэмплов одинаковые, следовательно, хранятся они один раз и в одном месте, а нотные паттерны - отдельно кучей. задача усложняется. |
| Mad Mirror |
Четверг, 22 января 2004, 18:36
Отправлено
#9
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 115 Регистрация: 04 дек. 2002 Пользователь №: 69 ![]() ![]() |
mp3 это, конечно, хорошо, но файлы слишком большие...
А есть ли в Advanced Wars 2 soundtest? Кстати, ты с реального ГБА будешь записывать или с эмуля? И напоследок: как узнать базовую частоту сэмпла (ту, которая C-5)? На слух что ли? -------------------- Вы только что начали читать предложение, чтение которого уже заканчиваете.
![]() |
| balin_victor |
Четверг, 22 января 2004, 18:59
Отправлено
#10
|
|
Продвинутый ![]() ![]() Группа: Пользователи Сообщений: 39 Регистрация: 19 янв. 2004 Пользователь №: 6 873 ![]() ![]() |
to all:
Подскажите есть ли редактор музыки в играх на gba? Я хочу сделать total remake Pokemon Saphire. Все могу редактировать кроме музыки > -------------------- Just Balin
|
| balin_victor |
Четверг, 22 января 2004, 19:01
Отправлено
#11
|
|
Продвинутый ![]() ![]() Группа: Пользователи Сообщений: 39 Регистрация: 19 янв. 2004 Пользователь №: 6 873 ![]() ![]() |
to Manve:
Слушай, если можешь, сделай прогу, которая могла бы музыку из Pokemon S/R выколупывать и назад вставлять! Или, если знаешь, то дай линк на такую прогу, а то замучался искать. -------------------- Just Balin
|
| PokePerevod |
Суббота, 24 января 2004, 15:11
Отправлено
#12
|
|
Маньяк ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 256 Регистрация: 05 мая. 2003 Пользователь №: 2 021 ![]() ![]() |
QUOTE (balin_victor @ Четверг, 22 Января 2004, 19:01) to Manve: Слушай, если можешь, сделай прогу, которая могла бы музыку из Pokemon S/R выколупывать и назад вставлять! Или, если знаешь, то дай линк на такую прогу, а то замучался искать. http://www.dragoneyestudios.net/index.php?...utilities&id=22 |
| balin_victor |
Суббота, 24 января 2004, 16:48
Отправлено
#13
|
|
Продвинутый ![]() ![]() Группа: Пользователи Сообщений: 39 Регистрация: 19 янв. 2004 Пользователь №: 6 873 ![]() ![]() |
to Pokeperevod:
Огромная спасиба !!! -------------------- Just Balin
|
| balin_victor |
Суббота, 24 января 2004, 16:57
Отправлено
#14
|
|
Продвинутый ![]() ![]() Группа: Пользователи Сообщений: 39 Регистрация: 19 янв. 2004 Пользователь №: 6 873 ![]() ![]() |
Люди, если кто-нить знает как вставить музыку в Pokemon Saphire, помогите !!!!
-------------------- Just Balin
|
| Manwe |
Суббота, 24 января 2004, 18:34
Отправлено
#15
|
![]() demoscener ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 349 Регистрация: 21 нояб. 2003 Из: Moscow Пользователь №: 6 169 ![]() ![]() |
to Mad Mirror: soundtest есть. Могу с GBA оцифровывать, могу с эмулятора. Первым способом уже 4 мелодии оцифровал.
-------------------- |
| Mad Mirror |
Воскресенье, 25 января 2004, 13:54
Отправлено
#16
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 115 Регистрация: 04 дек. 2002 Пользователь №: 69 ![]() ![]() |
to Manve: Интересно, сильно ли отличается реальный звук от эмулируемого?
to PokePerevod: Прога - просто артефакт! Оказалось, что она играет музыку из любых РОМов на Нинтендовском муз. движке! Только ее надо правильно найти... Кстати, вот программка для поиска этих самых таблиц: http://www.geocities.co.jp/Playtown-Yoyo/6...130/dl/stos.zip Как выяснилось, все не просто, а очень просто. В каждом РОМе есть таблица указателей на мелодии, притом одному указателю соответствует одна мелодия со всеми своими паттернами! Таким макаром прога может проиграть любую мелодию из РОМа и сохранить ноты в midi. -------------------- Вы только что начали читать предложение, чтение которого уже заканчиваете.
![]() |
| Manwe |
Воскресенье, 25 января 2004, 19:57
Отправлено
#17
|
![]() demoscener ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 349 Регистрация: 21 нояб. 2003 Из: Moscow Пользователь №: 6 169 ![]() ![]() |
Сохранить в midi? Так сохраняй! Переведём в S3M, добавим оригинальных сэмплов - и дело в шляпе!
-------------------- |
| Mad Mirror |
Воскресенье, 25 января 2004, 22:59
Отправлено
#18
|
![]() Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 115 Регистрация: 04 дек. 2002 Пользователь №: 69 ![]() ![]() |
QUOTE Переведём в S3M, добавим оригинальных сэмплов - и дело в шляпе! Сейчас как раз пишу прогу для выдирания сэмплов из РОМа. -------------------- Вы только что начали читать предложение, чтение которого уже заканчиваете.
![]() |
| Manwe |
Понедельник, 26 января 2004, 10:39
Отправлено
#19
|
![]() demoscener ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 349 Регистрация: 21 нояб. 2003 Из: Moscow Пользователь №: 6 169 ![]() ![]() |
Можно и вручную выдрать, но если получится автоматизировать процесс - вообще супер. Кстати, посмотри - там для каждого сэмпла может указываться громкость и панорама по умалчанию.
-------------------- |
| balin_victor |
Вторник, 27 января 2004, 15:25
Отправлено
#20
|
|
Продвинутый ![]() ![]() Группа: Пользователи Сообщений: 39 Регистрация: 19 янв. 2004 Пользователь №: 6 873 ![]() ![]() |
to all:
Люди, если будете делать такую прогу, плз, сделайте возможность вставки мидишек назад !!! -------------------- Just Balin
|
![]() ![]() |
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
| Упрощённая версия | Сейчас: Вс., 25 окт. 2026, 02:42 |




Пятница, 26 декабря 2003, 22:18






















