Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

Reply to this topicStart new topicStart Poll

Каскадный · [ Стандартный ] · Линейный

> Музыка на ГБА, Как это работает?

Mad Mirror
post Пятница, 26 декабря 2003, 22:18
Отправлено #1


Фанат
***

Группа: Пользователи
Сообщений: 115
Регистрация: 04 дек. 2002
Пользователь №: 69





Кто-нибудь пробовал разобраться в этом деле?
Я тут позапускал разные игры, покопался в RAM, и обнаружил, что все они (почти) воспроизводят музыку одинаково: недалеко от начала IRAM (0x03...) размещаются структуры, отвечающие за каждый канал. В каждой игре - свое количество каналов и свой стартовый адрес, но сами структуры похожи. Они состоят из нескольких 32-битных слов, часть из которых в процессе воспроизведения меняется редко (видимо, это указатели на сэмплы в РОМе, т.к. имеют вид 0x08...), а другая часть - часто, "в такт" музыке. Вот тут самое интересное. Если также считать эти значения указателями - попадаем в РОМ на кучу будто-бы случайных байт, однако их изменение приводит к непредвиденному изменению музыки (или один канал пропадает или играет быстрее других и т.д). Интересно было бы узнать, какой формат имеют эти "паттерны"...
Если кто-нибудь заинтересуется, приведу пример для конкретной игры.


--------------------
Вы только что начали читать предложение, чтение которого уже заканчиваете.user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
balin_victor
post Вторник, 20 января 2004, 14:51
Отправлено #2


Продвинутый
**

Группа: Пользователи
Сообщений: 39
Регистрация: 19 янв. 2004
Пользователь №: 6 873





lol2.gif Расскажи про музычку в Pokemon Saphire !!!


--------------------
Just Balin
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Manwe/SandS
post Вторник, 20 января 2004, 15:07
Отправлено #3


Фанат
***

Группа: Пользователи
Сообщений: 154
Регистрация: 01 дек. 2003
Пользователь №: 6 341





Это обычная трэкерная музыка. Самая обычная.
Существуют разные форматы - MOD, S3M, XM, 669, IT и др., а некоторые плееры конвертируют эти форматы в свой внутренний формат (у каждого такого плеера он свой). Конвертируют обычно для повышения скорости воспроизведения: например, номера инструментов заменяются сразу на адреса памяти, по которым лежат эти инструменты, номера нот - на частоту тона этой ноты и т.д. Однако, общая структура при этом сохраняется. Её ты и наблюдаешь.
А если плеер не конвертит в свой формат, то из игры можно даже выдрать музыку в виде MOD'а или, скажем, S3M'a и слушать отдельно на PC любым плеером. Но это редкость, обычно музыку конвертят и пакуют. В том числе и чтобы не выдирали.
Когда я писал музыку для GBA-шной игрушки, я использовал формат MOD - он небогат возможностями, но зато нетребователен к ресурсам.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Manwe/SandS
post Вторник, 20 января 2004, 15:11
Отправлено #4


Фанат
***

Группа: Пользователи
Сообщений: 154
Регистрация: 01 дек. 2003
Пользователь №: 6 341





Да, иногда, конечно, используют другой метод - включают старый ГеймБоевский муз-процессор о трёх каналах. FM-синтез + шум - ну, кто играл в старый GB, знает: звук такой ala Dandy.
Ещё иногда конвертят midi с набором сэмплов - получается практически то же, что и трэкерная музыка. Только такой фарш уже точно не провернёшь назад (в смысле, выдрать и проиграть на PC не получится).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Mad Mirror
post Среда, 21 января 2004, 01:44
Отправлено #5


Фанат
***

Группа: Пользователи
Сообщений: 115
Регистрация: 04 дек. 2002
Пользователь №: 69





Pokemon Sapphire как раз использует и DirectSound и FM-каналы. Драйвер судя по всему "стандартный" Нинтендовский (сигнатура "Smsh" в некоторык участках памяти). Рядом с одним из таких участков находится байт скорости воспроизведения (адрес 0x030073A0).

QUOTE
Некоторые плееры конвертируют в свой внутренний формат... Однако, общая структура при этом сохраняется.

Вот именно! Осталось только разобраться в этом формате, а именно в формате нот. Тогда можно будет использовать их для преобразования в обычный MOD/S3M. Не думаю, что коммерческие игры используют много разных плееров. Максимум, штук 5...


--------------------
Вы только что начали читать предложение, чтение которого уже заканчиваете.user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Manwe/SandS
post Среда, 21 января 2004, 11:37
Отправлено #6


Фанат
***

Группа: Пользователи
Сообщений: 154
Регистрация: 01 дек. 2003
Пользователь №: 6 341





QUOTE (Mad Mirror @ Среда, 21 Января 2004, 1:44)
QUOTE
Некоторые плееры конвертируют в свой внутренний формат... Однако, общая структура при этом сохраняется.

Вот именно! Осталось только разобраться в этом формате, а именно в формате нот. Тогда можно будет использовать их для преобразования в обычный MOD/S3M.

В том-то и дело, что это не всегда возможно (см. выше). Например, такая проблема: используются адреса, а не номера, инструментов. Ну, допустим, ты просканируешь все эти адреса и попробуешь восстановить по ним количество инстрментов, их длину и нумерацию. А если на некоторых нотах используется sample offset? Сразу адрес ускакивает на сотни байт вперёд. И пойди пойми - это другой инструмент или тот же, но с offset'ом. Придётся всё вручную расковыривать, сэмплы ручками вытаскивать.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
balin_victor
post Четверг, 22 января 2004, 17:07
Отправлено #7


Продвинутый
**

Группа: Пользователи
Сообщений: 39
Регистрация: 19 янв. 2004
Пользователь №: 6 873





to Manve:
Слушай, а что за игра про которую ты говоришь ?
Если она есть в инете, то дай ссылочку.


--------------------
Just Balin
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Manwe/SandS
post Четверг, 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'ы переведёт?.. Кстати, там почти у всех музонов большинство сэмплов одинаковые, следовательно, хранятся они один раз и в одном месте, а нотные паттерны - отдельно кучей. задача усложняется.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Mad Mirror
post Четверг, 22 января 2004, 18:36
Отправлено #9


Фанат
***

Группа: Пользователи
Сообщений: 115
Регистрация: 04 дек. 2002
Пользователь №: 69





mp3 это, конечно, хорошо, но файлы слишком большие...
А есть ли в Advanced Wars 2 soundtest?
Кстати, ты с реального ГБА будешь записывать или с эмуля?

И напоследок: как узнать базовую частоту сэмпла (ту, которая C-5)? На слух что ли? wink.gif Я открываю РОМ в редакторе как raw pcm, а дальше? Стандартная 11025 много, 8000 - мало...


--------------------
Вы только что начали читать предложение, чтение которого уже заканчиваете.user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
balin_victor
post Четверг, 22 января 2004, 18:59
Отправлено #10


Продвинутый
**

Группа: Пользователи
Сообщений: 39
Регистрация: 19 янв. 2004
Пользователь №: 6 873





to all:
Подскажите есть ли редактор музыки в играх на gba?
Я хочу сделать total remake Pokemon Saphire. Все могу редактировать кроме музыки >sad.gif .


--------------------
Just Balin
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
balin_victor
post Четверг, 22 января 2004, 19:01
Отправлено #11


Продвинутый
**

Группа: Пользователи
Сообщений: 39
Регистрация: 19 янв. 2004
Пользователь №: 6 873





to Manve:
Слушай, если можешь, сделай прогу, которая могла бы музыку из Pokemon S/R выколупывать и назад вставлять! Или, если знаешь, то дай линк на такую прогу, а то замучался искать.


--------------------
Just Balin
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
PokePerevod
post Суббота, 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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
balin_victor
post Суббота, 24 января 2004, 16:48
Отправлено #13


Продвинутый
**

Группа: Пользователи
Сообщений: 39
Регистрация: 19 янв. 2004
Пользователь №: 6 873





to Pokeperevod:
Огромная спасиба !!!


--------------------
Just Balin
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
balin_victor
post Суббота, 24 января 2004, 16:57
Отправлено #14


Продвинутый
**

Группа: Пользователи
Сообщений: 39
Регистрация: 19 янв. 2004
Пользователь №: 6 873





Люди, если кто-нить знает как вставить музыку в Pokemon Saphire, помогите !!!!


--------------------
Just Balin
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Manwe
post Суббота, 24 января 2004, 18:34
Отправлено #15


demoscener
*******

Группа: Пользователи
Сообщений: 3 349
Регистрация: 21 нояб. 2003
Из: Moscow
Пользователь №: 6 169





to Mad Mirror: soundtest есть. Могу с GBA оцифровывать, могу с эмулятора. Первым способом уже 4 мелодии оцифровал.


--------------------
каждый судит по себе
user posted imageuser posted image user posted image user posted image user posted image user posted image user posted image user posted image
3DS friend code: 1375-7248-0959
Switch friend code: SW-7841-4926-2788
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Mad Mirror
post Воскресенье, 25 января 2004, 13:54
Отправлено #16


Фанат
***

Группа: Пользователи
Сообщений: 115
Регистрация: 04 дек. 2002
Пользователь №: 69





to Manve: Интересно, сильно ли отличается реальный звук от эмулируемого?

to PokePerevod: Прога - просто артефакт! wink.gif

Оказалось, что она играет музыку из любых РОМов на Нинтендовском муз. движке! Только ее надо правильно найти... Кстати, вот программка для поиска этих самых таблиц: http://www.geocities.co.jp/Playtown-Yoyo/6...130/dl/stos.zip
Как выяснилось, все не просто, а очень просто. В каждом РОМе есть таблица указателей на мелодии, притом одному указателю соответствует одна мелодия со всеми своими паттернами! Таким макаром прога может проиграть любую мелодию из РОМа и сохранить ноты в midi.


--------------------
Вы только что начали читать предложение, чтение которого уже заканчиваете.user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Manwe
post Воскресенье, 25 января 2004, 19:57
Отправлено #17


demoscener
*******

Группа: Пользователи
Сообщений: 3 349
Регистрация: 21 нояб. 2003
Из: Moscow
Пользователь №: 6 169





Сохранить в midi? Так сохраняй! Переведём в S3M, добавим оригинальных сэмплов - и дело в шляпе!


--------------------
каждый судит по себе
user posted imageuser posted image user posted image user posted image user posted image user posted image user posted image user posted image
3DS friend code: 1375-7248-0959
Switch friend code: SW-7841-4926-2788
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Mad Mirror
post Воскресенье, 25 января 2004, 22:59
Отправлено #18


Фанат
***

Группа: Пользователи
Сообщений: 115
Регистрация: 04 дек. 2002
Пользователь №: 69





QUOTE
Переведём в S3M, добавим оригинальных сэмплов - и дело в шляпе!

Сейчас как раз пишу прогу для выдирания сэмплов из РОМа.


--------------------
Вы только что начали читать предложение, чтение которого уже заканчиваете.user posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Manwe
post Понедельник, 26 января 2004, 10:39
Отправлено #19


demoscener
*******

Группа: Пользователи
Сообщений: 3 349
Регистрация: 21 нояб. 2003
Из: Moscow
Пользователь №: 6 169





Можно и вручную выдрать, но если получится автоматизировать процесс - вообще супер. Кстати, посмотри - там для каждого сэмпла может указываться громкость и панорама по умалчанию.


--------------------
каждый судит по себе
user posted imageuser posted image user posted image user posted image user posted image user posted image user posted image user posted image
3DS friend code: 1375-7248-0959
Switch friend code: SW-7841-4926-2788
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
balin_victor
post Вторник, 27 января 2004, 15:25
Отправлено #20


Продвинутый
**

Группа: Пользователи
Сообщений: 39
Регистрация: 19 янв. 2004
Пользователь №: 6 873





to all:
Люди, если будете делать такую прогу, плз, сделайте возможность вставки мидишек назад !!!


--------------------
Just Balin
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Сб., 22 июня 2024, 14:46
Skin Designed (c) by Rooq.net, All Rights Reserved.