Разработка и ромхакинг > Ромхакинг и программирование
SegaSoundDriver ripped from Sonic1
<< < (2/6) > >>
sergi:
Так и тут сэмплы тоже, синтез это синтез
Segaman:
Ty by eschjo skazal fotosintez :D
Tam vezde golosa ispol'zujutsja 25bajtovye. pervyj point v melodii kak raz na nih i ukazyvaet.
kstati v majom drajvere est' bank s golosami vzjatyj iz S3K. na stranice sonicretro MusicHacking est' nazvanija ehtih golosov. on nazyvaetsja universal voice bank. shtoby dobavit' golos iz banka v golosah na novoj stroke(esli melodija asm) ukazyvaite vXX, gde X-nomer golosa. bukvennye pishutsja s malenkoj bukvy. naprimer:
v1a
v2c
v0f

tak zhe primer est' v asm melodijah dlja tanchikov, kotorye ja nedopisal: tank_begin, tank_go i tank_record
Zephyr:
Segaman,
Но ведь некоторые игры используют для работы звука связки
YM + PSG + DAC, а более ранние только YM - так как они могут быть
одинаковы!? Одинаковы они могут быть только если дампить регистры
кашей в массив. А затем также их закидывать обратно...
По подобному принципу работают GYM форматы (ну это я так думаю)...

sergi,
Сделал тебе для теста - накидал быстренько... Играет силами только YM.
Инструменты подобраны немного не те - чтобы ты понял отличие...
Есть пару чуть заметных багов... Качество зависит напрямую от старания и
времени проведенной за мелодией...
http://webfile.ru/3826608

PS:
Где семплы? В сеге семплы - только DAC (ударные обычно в мелодиях,
в играх речь)... В сеге YM2612 и PSG - синтезируют звук из готовых
алгоритмов. DAC проигрывает оцифровки. Понятие "семпл" - в сеге
иное - это алгоритм для смешивания регистров, а не набор байт оцифровки.
А mod и xm - это целиком оцифровки, но использующие партитуру для
алгоритма вывода в нужном месте этих офицровок с нужной частотой (ноты).
Единственные 2 мелодии использующие семплы в сеге -
это 2 мелодии из ToyStory (по видимому использован mod движок).
Segaman:
Kak znaesh. ja znaju shto DAC, ehto wav, a ym i psg - sintezatory.

vot dorabotal drajver. ter' mona pihat' 16383 melodii i 77 zvukov(ne smog izmenit', no uvelichil). dlja muzyki ispol'zuem PlayMusic, dlja Zvukov - PlaySound. takzhe k muzyke est' StopMusic, SpeedUpMusic, SpeedNormMusic, FadeMusic i StopMusic. eschjo ja rabotaju nad PlayDAC.
Opjat' chitaem readme
Zephyr:

--- Цитата: Segaman от 08 Август 2009, 16:03:52 ---Kak znaesh. ja znaju shto DAC, ehto wav, a ym i psg - sintezatory.

--- Конец цитаты ---
Не совсем так. wav - это формат файла (данные + заголовок)
а DAC (по русски ЦАП) - ЦифроАналоговый Преобразователь.
И на DAC подают только данные.
Ну если по-простому, то верно - я об этом и говорю...

Насчет всех игр - тут тоже не так все просто...
В каждой игре есть свой звуковой драйвер...
Просто есть много игр использующие 1 и тот же драйвер (GEMS).
И если работать без него -
то тут просто делаются дампы всех регистров
на протяжении работы мелодии под универсальный драйвер,
что естественно скажется на размере мелодии...
Segaman:

--- Цитата: Zephyr от 08 Август 2009, 16:51:25 ---Просто есть много игр использующие 1 и тот же драйвер (GEMS).
И если работать без него -
то тут просто делаются дампы всех регистров
на протяжении работы мелодии под универсальный драйвер,
что естественно скажется на размере мелодии...

--- Конец цитаты ---
Ja absoljutno nichevo ne ponjal. Ja sdelal ehtot drajver shtob narod ego ispol'zoval v svoih igrah i hakah.
Zephyr:
Segaman,
Просто исходя из постов выше, я понял что ты твердо уверен что твоим
драйвером можно проиграть все сеговские мелодии!? Что не есть ТРУ...

Чтобы народ использовал нужно: написать качественный трекер
и драйвер к нему, подобно тому как это сделал Shiru.
http://shiru.untergrund.net/index.html
И конечно же хорошую документацию.

Ну как альтернатива подойдет... Успехов.
 
Segaman:

--- Цитата: Zephyr от 08 Август 2009, 17:26:04 ---Segaman,
Просто исходя из постов выше, я понял что ты твердо уверен что твоим
драйвером можно проиграть все сеговские мелодии!? Что не есть ТРУ...

--- Конец цитаты ---
Net tol'ko bnl'shuju chast' iz nih i spisok igr, iz kotoryh mozhno vydrat' muzyku i zapihat' v moj sound driver est' na stranice MusicHacking na sonicretro
Smoke:
Чет попробовал конвертнуть xm в SMPS и нифига... Никакой музыки при вставке в ром, тишина одна. Кто-нибудь может проконсультировать, как правильно сконвертировать(конвертер xm4smps), а то я не в ладах с этим.
Segaman:

--- Цитата: Smoke от 12 Август 2009, 18:21:16 ---Чет попробовал конвертнуть xm в SMPS и нифига... Никакой музыки при вставке в ром, тишина одна. Кто-нибудь может проконсультировать, как правильно сконвертировать(конвертер xm4smps), а то я не в ладах с этим.

--- Конец цитаты ---
Лехко, я раньше тож нифига непонимал. А музыки нет потому што голосов нет. Качай TFM music maker, и TFMvoice2smps или както так, а там уже и методом тыка панятно. если хочеш можеш дождаться када я новый рес с мануалом, примерами и интерфейсом вылажу. 3-е уже готово
Smoke:
Segaman, вообщем качнул кое-что: vgm2tfi и tfi2smps. Первая конвертирует голоса в формат tfi(файлы TFM Music Maker), вторая конвертирует эти голоса непосредственно в голоса SMPS. Короче голоса есть. Еще б прогу, которая из vgm/gym в xm или mod перегоняла.

Ладно, пока не к спеху, могу и мануал подождать. Мне самое главное знать как конвертнуть качественно, чтобы звучание было идентичное. Как в ром вставить музыку и проиграть-то понятно, там ничего сложного.
Fly:

--- Цитата: Smoke ---Еще б прогу, которая из vgm/gym в xm или mod перегоняла.
--- Конец цитаты ---
vgm/gym можно перегнать в mid утилитами с сайта, а mid уже в xm можно перегнать, утилиту в гугле можно найти.
Segaman:
Я сегодня мануал писал и хател уже выкладывать. Пока писал появилось ощущение што комп сейчас взарвётся и представьте, какова была моя реакция, когда дописывая последнюю строчку мануала, комп вылетел и перезагрузился и от мануала остались лишь воспоминания. Кароче я разозлился и ушёл бухать(XD) , так што мануал завтра будет. там уже есть готовый пример конвертирования миди2смпс. CaveStory-GravityXG - мелодия из какойто гамы на комп. прикольная, но с голосами я чуть-чуть с халтурил. ну у меня тогда уже предчуствие было, поэтому поспешил. ща кстати мидюхи качаю, буду самые афигенные катать. кстати, на эту мидюху я потратил 30 минут на перемещение нот среди столбиков и 15 на голоса и 5 на конвертирование. самое афигенное то, что мелодии в асм можно получить.

Добавлено позже:
А ваапще ут http://www.vgmusic.com/ тута дафига мидий. а ссобенно люблю рандом сонг
Smoke:
Segaman, ну ты как там, про мануал не забыл?
Segaman:
Нет, у меня сгорел монитор и я отравился. уже 4 день меня носит и выворачивает и мне не до мануала.
скажу кратко.

берёш мидю, суёш в OpenMPT(это трекер такой), там уже меняеш формат на xm, переносиш ноты, чтоб они не перемешались. например басы с гитарой. сохраняеш. открываеш xm4smps, туда загружаеш свою готовую xm-ку, указываеш каналы из хм в смпс. чтобы выбрать скорость используем прогу smpsTempo, туда вводиш данные о скорости и вероятности совпадения в процентах. вводим всё што нужно, вставляем голоса или строим без голосов, а потом вручную их вписываем в полученный после конвертирования асм-смпс. указываем сопостовления голосов из хм в смпс. например басс в хм 8-й, а в смпс 2-й : из 8в2. также с сэмплами и ноисами. ноисы длинные или короткие. жмём конверт и в папке с прогой находим асм файл с именем мелодии. там в асме можно сделать повтор мелодии не с начала а с середины. асм-мелодию вставляем инклудом в ром и строим... блин, мне хреново, больше немогу. лично я всё методом тыка всё разузнал. ещё я узнал 5 дней назад, что сэмплы: 8KHz и 8bit
они сжаты так:
берётся байт и переводится в 2. берём первые 4 бита или просто первую букву(байт 82, берём 8) и переводим так:
0-0
1-1
2-2
3-4
4-8
5-$10
6-$20
7-$40
8-$80
9-$ff
a-$fc
b-$f8
c-$f0
e-$e0
f-$c0
или както-так
в асме соунд драйвера есть список. тоже самое делается со вторыми 4мя битами(из82-2)
всё - нимагу
Smoke:
Понятно, буду смотреть. А ты выздоравливай :)
Segaman:
Вот спасибо :-)
кстати я сёдня посмотрел папку с моим драйвером и обнаружил, что после исчезновения диска D, она сильно постродала. кароче всё с мануалом исчезло. как же тяжко на куске дерьма работать...
HardWareMan:
Есть мнение, что М68К и так есть чем заняться полезным, негоже его нагружать звуком, когда есть Z80 и YM2612 находится в его подчинении.
Segaman:
Я кстати подумываю драйвер сэмплов перековеркать, чтоб он проигрывал сэмплы с качеством звука заставки сега, т.е. 8-bit и 16KHz. так даже можно будет короткие аудио треки засовывать. а сэмплы я исвлеку и конветирую + своих добавлю. кстати если кто знает хак Sonic1Megamix, то вот там как раз таки так и сделано. и список сэмплов записывается не в соунд драйвер, а отдельно и при проигрывании сэмпла 68k записывает в память z80 адрес, банк, размер и pitch(кто знает, как это слово переводится на русский?) и затем уже драйвер сэмплов проигрывает уже другой звук. вообщем я хачу сделать тоже самое. тогда сэмплы легче засовывать будет и качество звука будет радовать.
HardWareMan:

--- Цитата: Segaman от 26 Август 2009, 19:02:50 ---Я кстати подумываю драйвер сэмплов перековеркать, чтоб он проигрывал сэмплы с качеством звука заставки сега, т.е. 8-bit и 16KHz. так даже можно будет короткие аудио треки засовывать. а сэмплы я исвлеку и конветирую + своих добавлю. кстати если кто знает хак Sonic1Megamix, то вот там как раз таки так и сделано. и список сэмплов записывается не в соунд драйвер, а отдельно и при проигрывании сэмпла 68k записывает в память z80 адрес, банк, размер и pitch(кто знает, как это слово переводится на русский?) и затем уже драйвер сэмплов проигрывает уже другой звук. вообщем я хачу сделать тоже самое. тогда сэмплы легче засовывать будет и качество звука будет радовать.
--- Конец цитаты ---
Pitch в данном контенте можно перевести как "высота тона". Т.е., скорость воспроизведения сэмпла. Все это уже умеет GEMS.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии