Не так давно в среде спектрумистов в очередной раз была поднята тема про Covox. Как «старый спектрумист» формально понимаю, о чём речь, но вот железного устройства у меня, ни когда не было. В моём городе на точках продажи оно не прижилось, а для самостоятельного интереса на тот момент не было необходимого понимания и знания. Поиск информации выдал значительное количество разных схем и прочих технических вещей, но к моему большому удивлению, нигде не было описания для обывателя «что это такое и с чём его едят». Считаю, что стоит восполнить этот пробел.
Статья была опубликована в 2021 году в 29 номере журнала по ZX Spectrum'у "ЗаRulem Печатное Слово".
Статья написана в соавторстве с Вадимом Чертковым.
На просторах интернета можно найти следующее определение:
Covox — простейшее устройство для воспроизведения цифрового звука. Представляет собой 8-разрядный резистивный ЦАП (R-2R схема), подключаемый к параллельному порту. Под таким названием оно изначально было выпущено в 1986 году фирмой Covox для IBM PC-совместимых компьютеров. Впоследствии это название стало применяться ко всем подобным устройствам. Примерно в то же время появились аналогичные устройства других производителей, а устройство стало использоваться на различных платформах, в том числе и на ZX Spectrum.
Другими словами Covox можно назвать первой в мире звуковой картой. К его достоинствам относятся:
-
Простота схемы и невысокая цена готового устройства.
-
Хорошее качество 8 битного звука. Технические характеристики, которого зависят от возможностей компьютера и программного комплекса. Теоретически можно получить звук на уровне музыкальной карты Sound Blaster 1.0.
-
Простота подключения к компьютеру. Обычно подключают к LPT порту, но могут быть и другие варианты.
-
Простота программирования.
К недостаткам относится то, что сам Covox только воспроизводит звук, что требует значительной нагрузки на центральный процессор и несопоставимо большой, по сравнению с AY, расход оперативной памяти.
Но на Спектруме есть музыкальный сопроцессор AY, в чем, же выгода для нас?
Для полноценного ответа на этот вопрос нужно понять, в чем же разница между AY и Covox.
Музыкальный сопроцессор AY является трёхканальным генератором звука. Его правильнее назвать синтезатором, обладающим дополнительными возможностями по синтезу звука, что бы музыка была более интересной. То есть основная программа только даёт команду AY, что нужно проиграть такую ноту с такими-то характеристиками и в таком-то режиме, остальное музыкальный сопроцессор всё делает сам. Именно при подобной схеме центральный процессор нагружается незначительно, что позволяет использовать AY в широком диапазоне задач.
Covox же воспроизводит только оцифрованный звук (Samples), который был ранее получен с помощью аналого-цифрового преобразователя (АЦП). Оцифрованные инструменты (Samples) представляют собой файл, состоящий из набора мгновенных значений амплитуды в каждый период выборки сигнала. Чем меньше период между выборками, тем выше частота оцифровки инструментов, а значит, качество звука оцифрованного инструмента будет более близко к реальному.
Музыкальный сопроцессор AY также способен воспроизводить оцифрованный звук, но разрядностью только 4 бита, тогда как Covox воспроизводит полноценный 8 битный звук. Музыка, проигранная на Covox, будет звучать ближе к оригиналу.
Что же лучше: генерация звука или воспроизведение цифрового звук (Samples)?
В конечном итоге многое будет зависеть от мастерства и таланта автора мелодии. Но синтез нот музыкальным сопроцессором AY ограничен его техническими характеристиками, хотя он и позволяет выполнять над ними различные дополнительные эффекты, не требуя для этого дополнительного процессорного времени.
Тогда как Covox воспроизведёт совершенно любой звук, который ранее был оцифрован. Что позволяет воспроизводить голос и другие сложные звуковые эффекты.
По личным ощущениям, при прочих равных, качество мелодий на Covox выше. Но за это приходиться платить значительной нагрузкой на центральный процессор и расходом оперативной памяти.
Считаю, что Covox является одним из самых недооцененных устройств на Спектруме, использование которого подняло бы звуковое оформление программ на совершенно новый уровень. С одной стороны это можно объяснить упомянутыми выше недостатками Covox: значительная нагрузка на центральный процессор и большой расход оперативной памяти. С другой стороны, память более 128 Кб, стала появляться на клонах Спектрума с первой половины 90-х годов – вот оно место до 1 Мб под качественный звук. Проблема высокой нагрузки на центральный процессор может решаться использованием «турбо режима», который имеется на большинстве отечественных клонах. А так же организационными мерами – качественными звуками можно озвучивать те места, когда в игре уже нет иного большого расхода процессорного времени, например «фаталити» или гибель главного героя, подбор предметов в играх типа «Диззи» и т.п. При этом если на компьютере не установлено устройство Covox, эти же эффекты можно вывести на AY, пусть и в худшем качестве. Совместное использование AY и Covox способно открыть совершенно новые горизонты. Например: музыка, в которой будет использованы оба устройства, не только позволит совместить достоинства обоих, но увеличит общее число независимых голосов.
Схем Covox существует «вагон и маленькая тележка». Причем как самых простых, на 18 резисторах, так и с использованием специализированных микросхем цифро-аналогового преобразования (ЦАП). В СССР и России наиболее часто в этой роли применяется микросхема 572ПА1 (аналог AD7520). Надо отметить, что устройства собранные по схемам на 18 резисторах обладают неприятным эффектом в виде наличия при воспроизведении звука большого количества посторонних шумов. Хотя даже в таком виде звук будет значительно лучше, чем на AY. При использовании микросхемы 572ПА1 или аналогичной - звук будет ещё лучше, но и в этом случае полностью избавиться от посторонних шумов не получится, хотя услышать их можно только в наушниках. Существует обратно совместимое устройство Soundrive, представляющее собой четырёхканальный вариант Covox, в котором удалось полностью избавиться от всех шумов. Но оно уже значительно сложнее, а значит и дороже.
На разных машинах при использовании разных схемах подключения устройства Covox для вывода звука используются разные порты. Обычно для Pentagon используется порт #FB, а для Scorpion используется порт #DD. На Profi подключается стереоковокс по портам #3F и #5F. На других клонах, могут быть иные порты. Но общая схема вывода звука от этого не меняется. Поэтому, при использовании Covox, нужно уточнять в настройках программы порт вывода.
В настоящее время для Спектрума уже существует значительное количество музыкальных карт с большими возможностями. Но все они требуют уникального кода для своей поддержки. Однако большинство из них способно работать в режиме имитации устройства Covox. В силу этого можно использовать Covox, как объединяющий элемент и на его базе реализовать поддержку сразу всех музыкальных карт написав универсальный код вывода музыки и звуковых эффектов.
Программная поддержка Covox на Спектруме к сожалению не очень велика. Под TR-DOS есть пару десятков demo, несколько игр были озвучены под Covox, существуют несколько музыкальных плееров разных форматов, редактор цифровой музыки и редактор оцифрованных звуков. Большинство программ можно найти на сайте «Virtual TR-DOS» (https://vtrd.in/). Так же существует программы под ОС CP/M.
Так как я являюсь пользователем компьютера Profi, мне наиболее интересна версия Covox созданная для него. Давайте более подробно с ней и познакомимся.
Эту версию принято назвать Profi Covox. Ключевой его особенностью является то, что это стерео устройство, то есть имеет два физических канала звука. Не смотря на то, что эта версия Covox разрабатывалась под конкурентный компьютер, его без проблем можно установить на любой клон Спектрума. С программированием Profi Covox разберёмся в одной из следующих статей. А пока ознакомимся с общими вопросами. Вот схема Profi Covox.
Из программного обеспечения в ОС CP/M существуют два плеер «WAV» файлов. Первый из них, распространяемый фирмой Кондор, способен проиграть файл максимального размера в 51 кб. Второй из них за авторством Черткова Вадима, работает в ОС PQ-DOS и способен проиграть файл ограниченный лишь размером оперативной памяти. Так же есть музыкальная система «ADJ» (автор Крестьяников А.А.) для проигрывания музыкальных файлов одноименного формата и музыкальный редактор «Synth-Master» (авторы Дмитрий Вольвач и Дмитрий Тищенко) позволяющий редактировать и прослушивать музыку в форматах «ADJ» и «STM». Музыкальный редактор «Synth-Master» обладает полной совместимостью с аналогичными редакторами музыки в формате «STM» на компьютерах Amiga и IBM PC, что позволяет свободное переносить музыку с этих платформ. В музыкальной системе «ADJ» так же можно проиграть музыку с других платформ, но после конвертирования её в формат «ADJ» с помощью специальной утилиты.
В настоящее время существуют версии программ «ADJ» и «Synth-Master» адаптированные под музыкальную карту General Sound.
Вот характеристики программ:
|
«Synth-Master» |
«ADJ» |
Количество голосов |
4 |
4 |
Количество каналов воспроизведения |
2 |
2 |
Разрядность данных на каждом из каналов |
8 бит |
8 бит |
Разрядность воспроизводимых инструментов |
7 бит |
--- |
Максимальный размер одного инструмента |
64 кб |
--- |
Общий объем инструментов |
Неограниченно |
до 152 кб |
Количество инструментов в мелодии |
до 32 |
до 31 |
Длина партитуры |
до 128 партий |
до 128 партий |
Количество партий |
до 99 |
до 99 |
Длина партии |
64 такта. 1 Кб |
64 такта, 1 Кб |
Частота дискретизации в режиме TURBO |
12 КГц |
10 КГц |
Формат готовых файлов |
STM |
ADJ |
Как видно музыкальный редактор «Synth-Master» обладает немного лучшими характеристиками. Что ещё раз подтверждает тезис о том, что качество звучания Covox зависит не только от железных возможностей компьютера, но и от используемых программных алгоритмов.
Обе программы имеют в комплекте хорошую документацию, так что сейчас ограничимся описанием минимальной последовательности действий необходимых для запуска проигрывания мелодии.
Музыкальной системы «ADJ» использует в своей работе резидентную библиотеку оконного интерфейса «Windows» и её нужно предварительно загрузить. Так что для запуска программы лучше использовать файлы «adj.bat» или «adj-gs.bat» для загрузки версии под Profi Covox или под музыкальную карту General Sound, соответственно.
Музыкальный редактор «Synth-Master» использует внутренний оконный интерфейс, для него грузить ни чего не нужно. Зато есть две версии программы «Synth-Master» обычная и FAST (быстрая). Обычная версия (syntmast.com) поддерживает загрузки музыкальных файлов ограниченных только объемом оперативной памяти. Тогда как в FAST версии (smfast.com) объём загружаемого файла ограничен 128 кб для инструментов, но при этом качество звука на порядок выше. Для обеих версий есть адаптация под музыкальную карту General Sound (sm-gs.com и smf-gs.com соответственно).
После загрузки программы нужно настроить на скорость работы компьютера (эмулятора). В «ADJ» для этого нужно воспользоваться пунктом меню «OptionsAutoDefinition», а в «Synth-Master» пунктом меню «SystemAuto Definition». Для музыкальной системы «ADJ» данная операция строго обязательна, в противном случае качество воспроизведения музыки будет сильно страдать. Для музыкального редактора «Synth-Master» это действие необязательное, так как в большинстве случае он сам производит корректную настройку на скорость компьютера. Но её нужно выполнить, в случае если кнопка «Турбо» нажималась уже после запуска программы.
Музыкальный редактор «Synth-Master»Далее при необходимости через пункт меню «FileDrive…» выбираем дисковод, в котором находиться диск с музыкой, и собственно загружаем музыку. Для чего в музыкальной системе «ADJ» выбираем меню «FileLoad…», а в музыкальном редакторе «Synth-Master» выбираем пункт меню «FileRead STM» или «FileRead ADJ».
Для запуска проигрывания с начала мелодии, нужно выбрать пункт меню «PlayBegin».
Для прерывания проигрывания в обеих программах нужно нажать клавишу «Пробел». Для выхода на предыдущий уровень меню, если у вас IBM клавиатура: необходимо нажать клавишу «Esc», а если у вас стандартная клавиатура Спектрума то комбинацию клавиш «Shift+1».
У нас в наличии имеются исходники музыкальной системы «ADJ» (автор Крестьяников А.А.). А вот исходников музыкального редактора «Synth-Master» (авторы Дмитрий Вольвач и Дмитрий Тищенко) к сожалению нет. В инструкции к программе указано, что авторы проживают в Запорожье, Украина и указаны телефоны для связи: Дмитрий Тищенко (0612) 63-40-63, Дмитрий Вольвач тел. (0612) 68-04-82. К сожалению, связаться с ними по этой информации не удалось. Поиск контактов в других местах так же не дал положительного результата. Так что у нас будет просьба к читателям журнала, если у кого есть какая-либо информация об авторах программы или возможность с ними связаться, поделиться её или попросить авторов выйти с нами на связь, напрямую или через редакцию журнала.
Теперь скажем пару слов об эмуляторах. Поддержка Profi Covox есть в эмуляторе «ZXMAK2» и в «UnrealSpeccy» к сожалению, только в версии «0.37.1m0 30 XT keyboard controller jan 2009 molodcov_alex». К недостаткам эмулятора «ZXMAK2» следует отнести отсутствие турбо режима, что сказывается на качестве воспроизведения мелодий. А к недостаткам эмулятора «UnrealSpeccy» версии 0.37 можно отнести отсутствие поддержки образов диска в формате «PRO», что в данном случае несущественно. Так что в приложении к статье вы найдете ссылку на архив эмулятора «UnrealSpeccy» версии 0.37 настроенного на работу в режиме компьютера Profi. В дисководе «A:» будет «стоять» образ диска с музыкальной системой «ADJ», в дисководе «B:» образ диска с музыкальным редактором «Synth-Master».
Статьи, графика – это все очень хорошо и полезно. Но в современном мире есть еще один способ передачи информации, который мы пока обходили стороной - я говорю о видео роликах. Не смотря на то, что этот способ имеет, целый ряд недостатков, он же обладает и некоторым набором плюсов. Поэтому было, приятно решения попробовать себя в этом направлении. Для чего был создан YouTube канал «Зазеркалье».
Компьютерщик, не совсем обычный человек. Жизнь его состоит из двух частей, и грань раздела проходит по стеклу монитора. Одна часть находится в реальном мире, а вторая в удивительной стране - Зазеркалье. И сложно сказать какая из частей главнее. Канал посвящен всем аспектам жизни по ту сторону монитора, в Зазеркалье. В первую очередь он будет отражать те грани этого мира, которые интересны нам, это: и ZX Spectrum, и OS/2, и различный языки программирования, и многое другое. Но мир Зазеркалья гораздо многограннее, так что если у кого-то вдруг появиться желание отразить интересные ему грань, будем рады предоставить эту площадку. Сложно надеяться на частый выход видео, но точно они будут - это однозначно.
Первыми видео на канале «Зазеркалье» выложены примеры воспроизведения музыки на устройстве Profi Covox. Это видео клип на песню «Бухгалтер» группы Комбинация и видео клип на музыку по мотивам фильма «17 мгновений весны». Видео рядом идут кадры в формате расширенного экрана компьютера Profi с палитрой 16 из 256 цветов.
Вот теперь, пожалуй, всё. Если появиться вопросы их можно задать по следующим адресам:
-
FidoNet: Tarasow Aleksey 2:5053/57
-
E-mail: tae1980(очень злая собака)yandex.ru
Дополнительный материал можно найти по этим ссылкам:
-
Группа поддержки компьютера Profi: https://vk.com/profi1024
-
Группа поддержки компьютера Profi: https://t.me/Profi1024
-
YouTube канал «Зазеркалье» https://www.youtube.com/@user-lw7ey5yu1e
Приложение:
-
образ диска «.td0» с музыкальной системой «ADJ». Яндекс Диск: https://yadi.sk/d/acvQcNGJQIwq-Q; ВК: https://vk.com/doc359059980_556932577.
-
образ диска «.td0» с музыкальным редактором «Synth-Master». Яндекс Диск: https://yadi.sk/d/WF6cfRdpSrKLAw; ВК: https://vk.com/doc359059980_556932616.
-
архив эмулятора «UnrealSpeccy» версии «0.37.1m0 30 XT keyboard controller jan 2009 molodcov_alex». Яндекс Диск: https://yadi.sk/d/x3APO5LxkwoJYA; ВК: https://vk.com/doc359059980_593424058.
Автор: tae1980