1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Однобитная музыка в играх

Тема в разделе "PC Игры", создана пользователем true-grue, 16 окт 2014.

  1. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Однобитный динамик, спикер, бипер... Простейшее устройство для воспроизведения звука в играх. Давным-давно, талантливый инженер Стив Возняк хотел портировать игру Breakout на компьютер, который он тогда создавал, и для это игры требовались звуки. Так однобитный динамик появился на Apple II и было это в 1977-м году. В 1981-м вышел IBM PC с динамиком, а в 1982-м -- ZX Spectrum. Вот три основные "игровые платформы", для которых создавалась однобитная музыка.

    Каким образом музыканты писали музыку для 1-битного спикера? Способов было несколько.

    1. Генерирование простейших тонов, без изменения ширины импульса. "Однобитность", естественно, предполагает использование лишь двух сигналов 0 и 1, то есть двух уровней напряжения. Чередуя эти 1 и 0 в согласии с длиной нужного нам периода, мы можем получить звук заданной частоты. Наиболее эффективно с этой задачей справляется IBM PC, у которого есть аппаратный счетчик, который самостоятельно выставляет уровни для заданного периода. Одна беда, музыка в этом режиме получается слишком невыразительной: монофонические ноты сменяют друг друга, но тембр, громкость остаются прежними.

    2. Предположим, мы хотим воспроизвести 3 голоса на однобитном динамике. Как этого добиться? Можно разбить время звучания на равные последовательные промежутки 1-2-3, в течение которых голоса будут воспроизводиться поочередно. Чередовать голоса, разумеется, надо достаточно быстро. Результат часто звучит привлекательно, а, кроме того, он не требует большого количества процессорного времени.

    3. Более сложный многоканальный звук с различными тембрами и громкостью достигается использованием специальных программных движков-синтезаторов, которые хитрым образом варьируют ширину импульсов, подаваемых на динамик.

    4. Проигрывание сэмплов с помощью ШИМ (модуляция ширины импульса). Самый ресурсоемкий способ: требует больших объемов памяти (для сэмплов) и ресурсов процессора.

    А теперь о самом главном. Любимые однобитные композиции из игр. Какие они у вас? Начну с себя.

    Ghostbusters (Apple II, способы 3 и 4)



    Lotus III (PC, способ 2)



    Chronos (ZX, способ 3)



    H.A.T.E. (ZX, способ 3)



    Space Racer (PC, способ 4)



    А вот и современная игра L’Abbaye des Morts. Музыка в ней имитирует звучание 1-битного динамика.

    http://www.gr87.com/?page_id=21
     
    Последнее редактирование модератором: 12 июн 2015
    Steel Rat, AxXxB, -Beholder- и 12 другим нравится это.
  2.  
  3. Evil Snake 蛇の王

    Evil Snake

    Регистрация:
    9 июн 2006
    Сообщения:
    1.775
    Вообще, недавно уже заводили похожую тему. Хотя там вроде только каталог игр с подобной музыкой составляли, и только в пределах одной платформы. Но примеров любимой музыки набросали достаточно. :]
     
    unreal doom и true-grue нравится это.
  4. MetalManiac32

    MetalManiac32

    Регистрация:
    23 июл 2013
    Сообщения:
    362
    Интересно, существуют ли игры, использующие 3 и 4 способы одновременно? Там, сэмплы ударных вклинивали композиторы, например?
     
  5. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Ваще то вот тру 1 бит. Без аппаратных таймеров. Чисто процессором. В порт.



    А ведь была ещё и полубитная музыка. Это когда целый бит не влезал в порт. %)
     
    Последнее редактирование модератором: 12 июн 2015
  6. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Дело в том, что способ 3 предпочтительнее в условиях ограниченных ресурсов. По сути, с его помощью моделируются что-то вроде PSG (так называют звуковые чипы, такие как AY-3-8910 на ZX или SID на С64).

    Способ же 4 (http://en.wikipedia.org/wiki/RealSound ) позвляет выводить на динамик произвольный PCM-поток (PCM это то же, что и несжатые данные WAV-файла, в данном случае 6-битные -- это максимум). Тут уже можно все: синтезировать, проигрывать сэмплы, добавлять эффекты. Многие на форуме, думаю, застали Fast Tracker 2 (http://en.wikipedia.org/wiki/FastTracker_2 ), который вполне прилично звучал на спикере. Или можно вспомнить драйвер PC Speaker для Windows, который позволял проигрывать WAV-файлы. Если Вы прислушаетесь к музыке из Space Racer из исходного сообщения, то заметите, что она состоит из коротких отрывков-сэмплов, как и в трекерной музыке. Собственно, даже на Amiga, где трекерная музыка и родилась, не принято было сочетать чистый синтез с выводом сэмплов. Сэмплов хватало для всего. Тем не менее, я встречал демо для Амиги, где использовался программный FM-синтез. Короче говоря, способ 4 (подразумевая в данном случае проигрывание сэмплов безо всякого программного синтеза) устраивал, видимо, почти всех. Те же звуки PSG прекрасно воспроизводятся короткими сэмплами. Но, естественно, способ 4 (для воспроизведения речи, например) и иные способы, могли чередоваться во время игры.

    Я однажды написал реализацию алгоритма колебания струны для 8-битного процессора с 4-битным выводом звука.

    Исходный код: https://github.com/true-grue/tiny_pluck/blob/master/tiny_pluck.c

    Звучание: http://sovietov.com/tmp/chameleon8.mp3

    Не хуже оно должно звучать и на PC Speaker. Другой вопрос, не достаточно ли обойтись теми же сэмплами, а процессорное время употребить на более эффектную графику? :)

    ---------- Сообщение добавлено в 22:20 ---------- Предыдущее сообщение размещено в 22:15 ----------

    Спасибо, но, справедливости ради, версия от Apple II в исходном сообщении звучит поинтереснее. А ведь там тоже "чистый процессор", да еще и послабее который, чем Z80!
     
  7. MetalManiac32

    MetalManiac32

    Регистрация:
    23 июл 2013
    Сообщения:
    362
    Кстати, горжусь Россией(и СНГ), потому-что не слышу никакой музыки во время игрового процесса различных классических игр. В то же время, русские программисты позволяли себе это, например.
     
    Последнее редактирование модератором: 12 июн 2015
  8. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Ну, это все-таки AY-чип звучит, совсем другая музыкальная эстетика :)
    PSG-музыка достойна отдельной темы.
     
  9. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Не скажи. В том то и дело, что по однобитности она не может соперничать по звучанию со спековской версией.
    Ну и про процессор. Сразу видно, что в живую ты с ним не работал. Иначе бы знал ужасную правду, которая довлеет над миром и по сей день.:D
     
  10. realavt Борец с форумным фашизмом

    realavt

    Регистрация:
    11 окт 2006
    Сообщения:
    8.035

    Чотаржу...
     
    Последнее редактирование модератором: 12 июн 2015
    true-grue и Bato-San нравится это.
  11. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
     
    Последнее редактирование модератором: 12 июн 2015
    AxXxB, Shadow[13] и true-grue нравится это.
  12. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    По однобитности? Это как? :)

    Я в курсе того, что многие инструкции Z80 требуют для выполнения больше тактов, чем 6502, однако 6502 в Apple II работает на частоте 1 МГц, а Z80 в ZX Spectrum -- на 3.5 МГц. Наверное, правильнее было бы сказать, что они примерно равны по быстродействию. Или, как пишут тут (http://www.alfonsomartone.itb.it/aunlzr.html ), Z80, все же, чуть быстрее ;)

    ---------- Сообщение добавлено в 23:27 ---------- Предыдущее сообщение размещено в 23:23 ----------

    Да, современная неигровая однобитная музыка впечатляет.
    Множество информации по теме можно почерпнуть из этого блога: http://shiru.untergrund.net/1bit/index.php
    Несколько лет назад еще был вот такой забавный проект: http://www.1bitsymphony.com/

    Но, все же, хотелось бы сконцентрироваться на играх :)
     
    Последнее редактирование: 16 окт 2014
  13. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ну, на спектруме она вся такая и была —*по сути, музыка в статичной заставке игры не особо-то игровая.
     
  14. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Подборка однобитной музыки от Тима Фолина (у него все способом 3 генерируется), моего любимого автора музыки для игр. Так сказать, чтобы закрыть тему Фолина тут :)











     
    Последнее редактирование модератором: 12 июн 2015
  15. Кишмиш

    Кишмиш

    Регистрация:
    6 апр 2008
    Сообщения:
    15.595
    Фоллин - ультрамощь. А то, понимаешь ли, про русских программеров слоганы слогают. Все же надо уважать реального БАТЮ, выжимавшего и потом (с нес, снес максимум отжимал тоже)
     
    Ravosu нравится это.
  16. MetalManiac32

    MetalManiac32

    Регистрация:
    23 июл 2013
    Сообщения:
    362
    Не надо устраивать демагогию и подмену понятий, ковбой. Композиции у Фоллина, без сомнения, офигенные, но это конкретно к ВЫЖИМКЕ не имеет прямого отношения, просто музыкальный талант. Прямое отношение имеет запил музыки прямо в игровой процесс или 3-4 канальный MOD-музон на спекке.

    Да и как по мне, так прогеры и композиторы из России и СНГ смогли с использованием PSG-чипа "модели" 128К(который многими, от онанимуса-васи до самого Фоллина, критикуется за бедное и примитивное звучание) написать самые потрясные треки на всей спекковской сцене среди остальных ay-треков.
     
    Последнее редактирование: 17 окт 2014
  17. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Я знаю, почему вы ругаетесь. Вы утомились ждать очередной порции хорошей однобитной музыки из игр! :)

    The First Samurai (PC, способ 2)



    Agent Orange (ZX, способ 3)



    Quazatron (ZX, способ 3)




    Knight Lore (ZX, способ 1)

     
    Последнее редактирование модератором: 12 июн 2015
  18. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161










     
    Последнее редактирование модератором: 12 июн 2015
    Дарк Шнайдер, quazatron, Ogr 2 и ещё 1-му нравится это.
  19. quazatron

    quazatron

    Регистрация:
    22 дек 2007
    Сообщения:
    550










     
    Последнее редактирование модератором: 12 июн 2015
    Дарк Шнайдер, -Beholder- и true-grue нравится это.
  20. balakshin

    balakshin

    Legacy

    Регистрация:
    11 июл 2007
    Сообщения:
    2.330
    Нет ли где-нибудь одной пачкой коллекции хороших однобитных мелодий, которые можете посоветовать послушать? Не важно, с какого железа.
     
  21. true-grue

    true-grue

    Регистрация:
    15 окт 2014
    Сообщения:
    161
    Небольшая подборка однобитной музыки для ZX: http://z80.i-demo.pl/music.html
     
    balakshin нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление