PCSPE - создание музыки для PC Speaker в современных DAW

Вас мучает непреодолимое желание сделать демку для предельно олдскульного IBM PC, не имеющего даже звуковой карты, но вы не знаете, как же быть с музыкой? Можно расслабиться, ведь теперь есть альтернатива трекеру MONOTONE. Свежий VSTi плагин PCSPE позволяет создавать прекрасно ужасную одноканальную музыку для PC Speaker, подобную звучавшей в играх Monkey Island или Lotus III, с помощью любой современной DAW — FL Studio, Cubase, Reaper, и им подобных.

Полученный результат можно экспортировать для использования в ваших программах для IBM PC или других компьютеров, использующих таймер 8253 для генерации звука (Микроша, Корвет), а также прочих причудливых затей — экспорт представляет собой обычный текст очень простого формата и легко парсится. Пример простейшего проигрывателя на QBasic прилагается.

Плагин позволяет создавать инструменты, подобные тем, что используются в трекерах для AY и других звуковых чипов. Огибающие громкости, арпеджио (орнамент) и изменения питча задаются в виде строк текста с очень простым форматом, аналогично MML или FamiTracker. Условная громкость инструментов является основой системы приоритета. В один момент времени всегда звучит только тот инструмент с наибольшей текущей громкостью. Например, инструмент баса имеет громкость 1, а инструменты ударных имеют громкость 2 — значит, они будут прерывать бас в момент своего звучания. Таким образом несколько одновременно звучащих музыкальных партий утрамбовываются в один канал спикера, что, конечно, требует вдумчивого подхода при сочинении музыки и создании аранжировок.

Типичное чиптюновое арпеджио можно создавать как соответствующей огибающей, так и более удобным способом, с помощью арпеджиатора ChipArp, что позволит использовать в редакторе традиционные аккорды.

Небольшая демонстрация в MP3
Скачать плагин

6 комментариев

avatar
Музыка из Lotus III ужасная? Она замечательная! Я настолько привык к версии для PC Speaker, что потом совершенно не мог уже слушать вариант для Amiga :)

Я когда-то к этой задаче подошел значительно проще. Сделал VSTi-плагин, который позволяет управлять реальным PC Speaker. Прямо с помощью winapi-функции Beep (интересно, кстати, а делал ли кто-нибудь 1k-4k intro для Windows с музыкой через функцию Beep?). Помню, кто-то на KVR даже что-то записывал с его помощью :)

Нашел, вот, у себя: sovietov.com/app/beeper.dll
avatar
Музыка в Lotus III конечно же не ужасна, но звучит весьма своеобразно. И это прекрасно.

Идея с управлением реальным спикером через VSTi отличная. Я тоже об этом думал. Но есть проблема, в современных Windows (7 и выше, наверное) Beep вместо реального спикера играет синусоиду из колонок.
avatar
Действительно. К тому же, работа Beep блокировала выполнение программы (прямо как на Спектруме в Бейсике!). И я не уверен, помогает ли здесь многопоточность.
avatar
т.е. бипер даже на современном железе всё блокирует, как и на наших спектрумах?
прикольно :)
avatar
Ага. Только дело не в железе, а в старых (уже) версиях Windows. Для управления 8253 там использовался драйвер режима ядра beeper.sys. Вот он-то все и блокировал :)
avatar
Да и на наших спектрумах ничего не блокируется вообще-то.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.