Ковокс это когда биты подмешиваются с разными весами, которые при этом являются степенями двойки - если же подмешивается всё через резисторы одного номинала, то все каналы равносильны - ковокса (по сути ЦАП-а) нет...
Вот три канала с резисторами сходятся в кучу. Когда на всех трех ноль, мы на выходе имеем ноль. Когда на всех трех единица, то на выходе имеем максимальную амплитуду. Когда два канала равны 1, а третий 0, то на выходе 0.67 максимальной амплитуды. Ну и в оставшемся варианте имеем 0.33 максимальной амплитуды.
4 значения амплитуды это уже хорошо. Это уже ЦАП.
ну это не 3-битный ковокс тогда, а куцый аналог 2-битного
ну это не 3-битный ковокс тогда, а куцый аналог 2-битного
Правильно! Поэтому у ковокса разные значения резисторов, чтобы можно было получать разные значения амплитуды на делителе. Желательно, чтобы можно было синусоиду "нарисовать". Соответственно, если заменить два резистора, то вариантов амплитуды сразу станет больше.
26 Apr 2024 23:53
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22757 Location: Silicon Valley
Просто ВИ53 не надо использовать как ковокс - он не для этого существует
На Апогее он уже есть штатно, а значит можно получить сэмплы без доработок, программно. И это хорошо!
AY тоже не для этого был, но именно в сэмплере я написал много интересного. А написание музонов для классического звука AY мне вообще не поддавалось. Так что и тут есть свои плюсы.
27 Apr 2024 00:08
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22757 Location: Silicon Valley
Апогей ещё встроенный динамик имеет, который зачем-то присобачен напрямую к нулевому каналу - по идее его надо оторвать нафиг, оставив только линейный выход на усилок, а если уж ковыряться в схеме, то можно и ковокс на ВВ55 навесиком припаять
В тоже время и у РК, и у Апогея есть магнитофонный выход, подключаемый единообразно через младший бит порта C клавиатурной ВВ55 (правда номиналы RC-цепочек у этих компов разные):
Компьютер Микроша имеет аналогичую RC-цепочку, но опять же с другим набором номиналов.
Наверное выводить звук через магнитофонный выход не очень хорошая идея т.к. там стоит полосовой фильтр, который срезает слишком низкие и слишком высокие частоты пропуская средние. Я посимулировал эти RC-цепочки в LTSpiceIV, вписав нужные номиналы резисторов и конденсаторов - в итоге самая узкая полоса пропускания получилась у Апогея:
Attachment:
freq-response-apogey.jpg [ 73.83 KiB | Viewed 649 times ]
Далее идёт стандартный РК:
Attachment:
freq-response-rk.jpg [ 72.33 KiB | Viewed 649 times ]
И самая широкая полоса получается у Микроши:
Attachment:
freq-response-mikrosha.jpg [ 71.43 KiB | Viewed 649 times ]
(жирная линия это амплитуда сигнала, а линия потоньше - это фаза)
Для выдачи голоса оно наверно норм будет (аля телефонная линия), а вот для музыки наверное не очень...
Если использовать ВВ55, то кроме двух магнитофонных линий можно использовать и РУС/ЛАТ = трёхбитный ковокс.
Такое пробовал и на PC делать относительно недавно. Сперва, научился переключать индикаторы USB-клавиатур независимо друг от друга, но в такт:
Затем подключил пьезоизлучатель в параллель одному из светодиодов, но генерация получилась слишком низкочастотной (несколько сотен Герц), при том, что в моём коде все потоки работали на пределе.
А так, да: В РК можно все 4 бита использовать. Можно пойти жёстче: На PBA-клавиатуры повесить два 4-битных ЦАП-а + ещё на PBC ещё один: Получим трёхканальный 4-битный звук. (Правда, нужно придумать блокировку, чтобы при сканировании клавиатуры ЦАП-ы не срабатывали.)
Да это можно и в параллельный порт 8-ми битный ковокс воткнуть. Но где брать для него данные в нужном количестве? Нужно подбирать частоту сэмплирования и разрешение ковокса, чтобы получилась выгодная комбинация.
Я всё надеюсь на ЦАП из резистора и конденсатора. У меня на микропроцессоре эта штука очень хорошо работала. Но в МК есть аппаратный ШИМ, чтобы изменить амплитуду, я менял скважность и всё. Минимальная загрузка процессора.
Можно имитировать ШИМ программно, если использовать таймер ВИ53. Включать INTE если значение таймера ниже порогового значения, а выключать, когда выше. Но тут надо проверять, будет ли это всё работать хотя бы немного точно. Аппартный ШИМ нужен с управлением через порт, тогда бы все проблемы с сэмплированием решились.
27 Apr 2024 05:03
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 327 Location: Tashkent
В тех же Atari/NES/Sega и ZX-Spectrum - всюду 4 бита амплитуды всем, как бы, хватало.
Не совсем так. 4 бита на сопроцессоре, без загрузки основного процессора. У РК сопроцессора нет, поэтому я сдвинулся в сторону аналоговых схем затухания амплитуды, чтобы не тратить ресурсы процессора.
Alikberov wrote:
Есть ли смысл снова разрабатывать то, что тридцать лет назад уже было?
За это время были найдены более простые варианты генерации и трансформации звука. Почему бы их не применить?
Меня больше интересует не сэмплерный звук, а аналоговый. И как раз на архитектуру РК с ВИ53 он очень хорошо ложится.
27 Apr 2024 06:29
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22757 Location: Silicon Valley
Да это можно и в параллельный порт 8-ми битный ковокс воткнуть. Но где брать для него данные в нужном количестве? Нужно подбирать частоту сэмплирования и разрешение ковокса, чтобы получилась выгодная комбинация...
Где брать? Из ромдиска вестимо
Я когда писал свой 2-битный плеер 10 лет назад, то мне удалось 22050 Гц получить при сжатом RLE потоке (правда предполагалось, что ПДП во время проигрывания отключается и играние идёт "в тёмную" без проседания быстродействия ЦПУ) - сжатый 3-битный звук наверное тоже удастся утолкать в 22кГц, а вот 4-битный надо посмотреть...
На базе РК подобное уже было (ссылка 1, ссылка 2) или вообще целый ЭМИ. Есть ли смысл снова разрабатывать то, что тридцать лет назад уже было?
Кстати эту самую статью про "целый ЭМИ" я в то время активно штудировал, разбирая по схеме как оно работает, и думал когда-нибудь собрать - сразу после РК
Attachment:
Screenshot from 2024-04-27 09-48-57.png [ 743.31 KiB | Viewed 564 times ]
Наверное авторы хотели получить звук близкий к профессиональному (или хотя бы похожий на трекерные стандарты того времени) - нам сейчас такого ненадо ибо 4-битных сэмплов для чиптюнового звука хватит за глаза...
Кстати эту самую статью про "целый ЭМИ" я в то время активно штудировал, разбирая по схеме как оно работает, и думал когда-нибудь собрать - сразу после РК
Кстати было бы эмулятор этого ЭМИ-девайса разработать хотя бы поверхностный, чтобы понять, какой Sound Blaster мог быть у РАДИО-86РК!
27 Apr 2024 11:04
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22757 Location: Silicon Valley
Кстати эту самую статью про "целый ЭМИ" я в то время активно штудировал, разбирая по схеме как оно работает, и думал когда-нибудь собрать - сразу после РК
Кстати было бы эмулятор этого ЭМИ-девайса разработать хотя бы поверхностный, чтобы понять, какой Sound Blaster мог быть у РАДИО-86РК!
Я думаю оно уже устарело - надо делать аппаратный "трекер", где сэмплы не имеют ограничения по длине как тут...
нам сейчас такого ненадо ибо 4-битных сэмплов для чиптюнового звука хватит за глаза...
Сэмплы жрут много ресурсов и для чиптюнистых мелодий они не нужны. Сэмплы нужны только для звуков в вашем видео.
В то время уже были крутые аналоговые синтезаторы типа Ритм-2 и Поливокс. Понять их крутизну легко! Ритм-2, это советский Moog Prodigy. Группа Prodigy взяла название от синтезатора. Поливокс вы можете слышать в музыке Rammstein и в саундтреке к Doom 2016-го года. Оба синтезатора аналоговые. ЭМИ из РК копирует в цифровом виде сигналы прямоугольной формы, пилу и прочее.
Примерно то, что на этой схеме я делал на ATtiny85. Так же в память забил таблицы с формами сигналов, и воспроизводил их на частоте, соответствующей MIDI команде.
Если делать всё это в аналоге, то схема получается сильно меньше!!! В цифре это сделали для того, чтобы был материал для радиолюбителей.
Стабильный генератор прямоугольных импульсов есть, это ВИ53. Один канал можно переделать в пилу. Для этого нужно заряжать конденсатор через резистор, и разряжать его через тиристор по фронту меандра - схема предельно простая. Но уже вы будете слышать эти два канала сильно красивее.
Есть два варианта затухания амплитуды, оба на микросхеме 561ЛН2. Первый вариант, это усилитель, управляемый напряжением. Второй вариант, это активный фильтр низких частот. Когда он режет все частоты, амплитуда падает. Именно фильтры являются "фишкой" Ритма и Поливокса.
Users browsing this forum: No registered users and 5 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum