Важная информация

User Tag List

Показано с 1 по 7 из 7

Тема: Конвертация музыки Savage

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,058
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Конвертация музыки Savage

    Мне тут задавали вопросы, каким образом конвертируется музыка из Savage - расскажу немного.

    Плеер by J.C.Brooke обязан своим качественным и богатым звучанием главному своему "сердцу" - циклу генерации. В игре Savage 2 этот цикл расположен по адресу E2C5. Характеристики у него следующие:

    - 2 тональных канала
    - частота дискретизации по каждому каналу - ~28.2кГц
    - может генерировать прямоугольные сигналы
    - для сигналов может задаваться частота и скважность. именно скважность, отличная от 2, дает особую тембровую окраску звукам Savage, по сравнению с AY.
    - есть возможность плавного изменения частоты звука вниз (но не вверх)
    - для каждого канала есть режим спецэффекта, который дополнительно усложняет генерируемый звук. Для каждого канала спецэффект разный.

    Как известно, у бипера на спектруме имеется лишь один канал разрешением в один бит. Каким же образом генератор Savage смешивает два канала? Применяется простой принцип: однобитный сигнал генерируется независимо по каждому каналу, а на выход бипера оба сигнала подаются поочередно, через равные промежутки времени. То есть сигнал, подаваемый на бипер, имеет вид:

    s1 s2 s1 s2 s1 s2 s1 s2

    где s1 и s2 - отсчеты сигналов по каждому каналу.

    Несмотря на простоту, этот принцип имеет прекрасное теоретическое обоснование. Спектр сигнала бипера в диапазоне частот от 0 до 14.1кГц является суммой спектров s1 и s2 (с небольшим сдвигом по фазе), что и дает идеальное восприятие смеси двух звуков. Подробнее об этом можно почтитать по тематике Polyphase components.

    Параметры звука, которые генерирует описанный цикл, хранятся в регистрах Z80 во время его работы. Изменение этих параметров происходит по прерыванию. Таким образом, структура плеера Savage очень похожа на типичную структуру плеера на AY, с той разницей, что AY сам генерирует звук, а у Savage этим должен заниматься процессор в промежутках между прерываниями. Тут у Savage больше сходства с плеерами "цифровой" музыки на AY, такими как WTAW by ASC. В плеере Savage широко применяется индексная адресация, при этом в регистр IX помещается адрес структуры, в которой хранятся данные, относящиеся к одному из звуковых каналов, и вызывается подпрограмма, одинаковая для обоих каналов.

    Кроме того, подпрограмма обработки прерываний в Savage воспроизводит шумовые эффекты (звук ударников). На это время работа основного генератора приостанавливается. Поэтому, чтобы не искажать темп мелодии, звуки ударников должны быть короткими. Обработка канала ударников в плеере очень похожа на обработку данных по двум тональным каналам.

    Помимо высоты тона, скользящего тона, скважности и спецэффекта, которые реализует генераторный цикл, на уровне плеера каждая нота имеет еще и следующие параметры:

    - орнамент. действие аналогично орнаментам в AY-музыках;
    - вариация скважности. Действие этого механизма довольно сложное; я даже подозреваю, что автор плеера сам не до конца понимал, каким образом действует этот эффект. Не разобрался до конца и ASC, когда конвертировал музыку на AY в формат ASM.

    Структура данных нот тоже похожа на AY-плееры. Для каждого канала имеется список одноканальных паттернов переменной длины. Данные каждого паттерна содержат ноты, длительность нот, либо команды изменения параметров звука (скважность, вариация скважности, орнамент, скользящая тональность, спецэффект, транспозиция). С применением транспозиции записаны ноты первого (басового) канала, когда для разной тональности баса вызывается один и тот же паттерн с разной транспозицией.

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

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Savage - Remastered
    от Barmaley_m в разделе Музыка
    Ответов: 57
    Последнее: 17.06.2013, 15:08
  2. Savage 4
    от Art_S в разделе Игры
    Ответов: 18
    Последнее: 28.04.2007, 23:14
  3. Savage и Dynamite Dan
    от tmp_online в разделе Игры
    Ответов: 2
    Последнее: 05.03.2007, 21:44
  4. конвертация и эмуляция
    от jimon в разделе Эмуляторы
    Ответов: 12
    Последнее: 25.02.2006, 21:19
  5. Коллекция музыки из +D
    от ^m00h^ в разделе Музыка
    Ответов: 2
    Последнее: 31.05.2005, 23:15

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •