Флейм
GameDev.ru / Флейм / Форум / NSF - балалайка

NSF - балалайка

nesПостоялецwww26 июня 201819:20#0
Есть ли у кого опыт проигрывания nes музыки из nsf файлов не стандартными чипами, а инструментами, например миди?
Если я правильно понимаю концепцию формата nsf, то в данных содержатся значения амплитуд для выбранного набора чипов в текущем временном тике.
Т.о. можно заменить чипы-пищалки на более мелодичные инструменты и получить более качественную мелодию, так?
0iStalkerМодераторwww26 июня 201820:03#1
nes
> то в данных содержатся значения амплитуд для выбранного набора чипов

Не амплитуд, а данных для APU и чипа расширения на картридже.

nes
> Т.о. можно заменить чипы-пищалки на более мелодичные инструменты

Нельзя, сами чипы это и есть инструменты, там нечего улучшать

nes
> так?

Нет

=A=L=X=Постоялецwww26 июня 201820:04#2
Если я правильно понимаю, то Nsf хранит выдранный кусок кода воспроизведения музыки в игре, то есть звуковой драйвер игры плюс данные. то же самое справедливо для геймбоя.  То есть воспроизведению надо не только эмулировать чип звука, но и CPU с куском программы.
Хранятся не просто значения амплитуд, а вообще параметры зашитых в звуковой чип интсрументов.
Но их трудно назвать инструментами, там слишком простые звуки. Поэтому не очень понятно можно ли даже обогатить улучшив. Например если звуки выстрелов начнут звучать как барабаны это же хрень, а не улучшение. То есть скорее всего нужно будет подбирать вручную что и как.
=A=L=X=Постоялецwww26 июня 201820:25#3
Кстати в теме про 8 бит недавно я упоминал про порт ежика соника с sega master system на навороченный спектрум https://gamedev.ru/flame/forum/?id=226622&page=21#m305
Там можно по последней кажется ссылке посмотреть и послушать что получается при прямолинейной попытке конверсии звука между разными PSG. По мне так чудо что вообще мелодия узнается.
AlikberovПостоялецwww27 июня 20186:13#4
Темa напомнила мои попытки реализации трекерного арпджио-эффекта в мидиях. :)
«Балалайка» в МИДИях
nesПостоялецwww27 июня 20189:30#5
0iStalker
>Не амплитуд, а данных для APU и чипа расширения на картридже.
>Нельзя, сами чипы это и есть инструменты, там нечего улучшать
Погоди, чип это по сути генератор звуковолн разной формы и тональности, разве нет?

=A=L=X=
>Если я правильно понимаю, то Nsf хранит выдранный кусок кода воспроизведения музыки в игре, то есть звуковой драйвер игры плюс данные.
Не, это nes, nsf это чистый звук + всякая метаинформация об артисте, названии трека и прочее, подобное.

Alikberov
Звучит прикольно, если я правильно понял, то вместо чипов используются инструменты midi?

=A=L=X=Постоялецwww27 июня 20189:35#6
nes
> Не, это nes, nsf это чистый звук

Не: https://wiki.nesdev.com/w/index.php/NSF

NES Sound Format (.nsf) ...
rips the music/sound code from an NES game and prepends a small header to the data.
An NSF player puts the music code into memory at the proper place, based on the header, prepares sound hardware, then runs it to make music.

=A=L=X=Постоялецwww27 июня 20189:57#7
nes
> Погоди, чип это по сути генератор звуковолн разной формы и тональности, разве
> нет?

Ага. И так как генератор этот довольно примитивный, то "инструментом" он становится именно потому что программа постоянно меняет ему параметры звучания.
В отличие от этого тот же OPL2 из Adlib/Sound Blaster может действительно звучать как инструмент за счёт сложных настроек звучания - то есть FM-синтезу бывает достаточно дать затравочные значения и он начнёт звучать самостоятельно достаточно долго.
То есть тут во многом неприменимо понятие инструмента как в MIDI. Автоматическая какая то конверсия вряд ли будет интересной вещью.
Я писал подробнее в теме про 8 бит: https://gamedev.ru/flame/forum/?id=226622&page=18#m265 но думаю ты это уже видел.

Правка: 27 июня 2018 9:57

nesПостоялецwww27 июня 20189:58#8
=A=L=X=
Это получается во времена неса была специальная должность программиста музыки? )
AlikberovПостоялецwww27 июня 201810:05#9
nes
> если я правильно понял, то вместо чипов используются инструменты midi?
Дa.
Написал под IE в своё время JS, в котором миди-дамп кодируешь, а он на «C:» сохраняет файл и тут же проигрывает…
Подобие языка, где пишешь, типа «REPEAT n [xx xx xx xx ...]»… Причём, можно вкладывать много циклов друг в друга, генерируя очень быстрые и гигантские миди-файлы.
Это я изучал структуру миди-формата.

P.S.: Это - самый удачный результат сгенерировался…

=A=L=X=Постоялецwww27 июня 201810:07#10
nes
> Это получается во времена неса была специальная должность программиста музыки? )

Вся эпоха до воспроизведения CD-музыки средствами прямой проброски массива данных PCM-аудио на аудиовыход звуковухи требовала от программистов написания platform-specific звукового кода.
Это верно даже для DOS с Sound Blaster с тем что мы называем сейчас MIDI-музыкой. По ссылке выше всё это рассказано подробно.

/ Форум / Флейм / Общее

2001—2018 © GameDev.ru — Разработка игр