nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 15 May 2024 12:13



Reply to topic  [ 75 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Превращаем РК в годный музыкальный синтезатор 
Author Message
Fanat

Joined: 10 Apr 2024 05:15
Posts: 70
Reply with quote
Shaos wrote:
Я так понимаю они тоже должны сгодиться (у них правда в теории, если соединить входы вентилей ради их использования в качестве инверторов, должны быть в разные стороны смещены пороги срабатывания)...


Ничего по этому поводу сказать не могу. Главное для ОУ, это иметь высокое входное сопротивление, что с ним и как при соединении входов, не могу сказать.

4069/561ЛН2 - не очень правильные ОУ, потому, что они как бы логические элементы. Звук из них очень напоминает лампы. Есть много противников такого использования этих микросхем. Но в советских журналах встречается и усилитель на них, и генератор синуса и другие варианты аналогового использования. 4069 тоже активно используется в западных синтезаторах, самый известный из них WASP и бесконечное количество простых синтезаторов класса LUNETTA.



561ЛН2 более высокочастотная, и более чистый звук даёт. Я использую ОУ только там, где нельзя использовать эти буферы.

Фильтры есть тоже с разной топологией. Я фанат State Variable, поэтому и собрал его. В Коргах используется фильтр Sallen-Key, в Moog лестничный транзисторный фильтр (запатентован), Roland переделал этот фильтр на диоды, чтобы не нарушать патент.

SID - единственный чип для 8-ми битных компьютеров, где использовался фильтр. Причем он был криво сделан, и мог звучать по-разному на разных чипах. И мне кажется, что резонансом у него нельзя управлять. Я бы тоже резонанс зафиксировал.

Вот нижний канал, басс сделан прямоугольным импульсом и фильтром:



Для того, чтобы амплитуда жалась к середине, а не к минусу, я делал цифровой манипулятор амплитудой.

Image

Вот так он жмёт амплитуду:

Image

Только нафиг он не нужен, если использовать фильтр или управляемый усилитель на 561ЛН2, который я выкладывал уже. Они жмут амплитуду к середине. Использовать цифровой манипулятор амплитудой имеет смысл только если планируется управлять им через каналы ВИ53.


29 Apr 2024 07:04
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
X9C104 чото дороговат (от 7 до 9 баксов за штучку), но Гугл мне предложил дешёвую альтернативу, причём в DIP :)


Attachments:
IMG_6310.jpeg
IMG_6310.jpeg [ 266.55 KiB | Viewed 529 times ]

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973
29 Apr 2024 12:26
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
Если делать управляемый резистор "на коленке", то можно взять аналоговый ключ CD4066 (их у меня много и на DigiKey прямо сейчас 1 штуку можно за 32 цента купить, а если кучей брать, то по 17), у которого есть советский аналог К561КТ3А, и подсоединить цепочкой резисторы 68к, 33к, 15к и 6к8 (если выбирать из общедоступного ряда сопротивлений), шунтируя каждый одним из четырёх управляемых ключей из 4066 (сопротивление замкнутого ключа обещается быть менее 5 Ом) - в итоге получим 16 разных значений для общего сопротивления цепочки от 0 (на самом деле ~20 Ом) до 123 кОм, выбираемых 4-битным кодом от 1111 (все ключи замкнуты) до 0000 (все ключи разомкнуты). Таким способом можно сделать и управляемое усиление ОУ в (каждом канале звука), и управление фильтром.

P.S. Если брать 2% резисторы, то тогда линейку можно такую сделать: 6.49k, 13.3k, 26.1k, 53.6k (общее сопротивление 99.49k)


Attachments:
RK-synth-resistors.jpg
RK-synth-resistors.jpg [ 78.42 KiB | Viewed 472 times ]

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973
29 Apr 2024 18:19
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 70
Reply with quote
Есть ещё один древний, но рабочий способ управления сопротивлением, это оптопара. В музыке это называется "Вактрол". Схем много, вот одна из них, с небольшой фильтрацией.

Attachment:
LowPassGate.jpg
LowPassGate.jpg [ 38.08 KiB | Viewed 476 times ]

https://benjiaomodular.com/post/2021-03-12-vactrol-vca/

Если ШИМить светодиод, меняя его яркость, можно управлять сопротивлением. Недостаток - долгая атака, фильтр может давать немного булькающий звук.


29 Apr 2024 22:00
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
Интересная штука

Приуменьшил картинку и прицепил прям сюда на форум...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


29 Apr 2024 22:05
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 70
Reply with quote
Shaos wrote:
можно взять аналоговый ключ CD4066


Надо проще. Музыкальный сопроцессор не хотелось бы превращать в ещё один РК по сложности.

Совсем простой вариант может быть таким... Берём мой или любой другой усилитель, у которого усилитель управляется разрядом конденсатора:

Image

Ставим на три канала ВИ53, но с разной длительностью затухания. В итоге при программировании мелодии пишем ноты в соответствующие каналы. На каком из каналов активировать атаку огибающей выбираем сигналом INTE. Через счётчик, или ещё как-то, пока это не важно. Если получилось хорошо - делаем аналогично канал с шумом, один из каналов превращаем в пилу, у другого сглаживаем меандр через интегратор.

Это уже даст много интересных возможностей для фоновой музыки в играх при очень простой схеме, звучать будет почти, как NES.

Почему так просто?

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

Quote:
Таймер

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

Построим основной цикл движка по образу счётчика-делителя.


Code:
MAIN:

; Ждём обратный ход луча для синхронизации
CALL VG75_READY

; Счетчик-делитель

LXI H, clock
INR M

; X1
CALL X1

; X2 FLIP
LDA clock
ANI 1
CZ X2
   
; X2 FLOP
LDA clock
ANI 1
CNZ X2_

; X4
LDA clock
ANI 3
CZ X4

JMP MAIN

X1:
RET

X2:
RET

X2_:
RET

X4:
RET

VG75_READY:   
; Ждем обратный ход

LXI HL, KR580VG75 + 1
MOV A, M

VG75_WAIT:

MOV A, M
ANI $20
JZ VG75_WAIT
RET

clock:  db $00


В начале цикла мы ожидаем, когда закончится отрисовка кадра. Далее увеличиваем значение ячейки памяти, и проверяем его.

Мы синхронизируем основной цикл движка с самым точным из доступных таймеров - кадровой частотой. Получаем четыре выхода на подпрограммы:

X1 - подпрограмма вызывается каждый цикл, основное тело программы;
X2 - подпрограмма вызывается каждый нечётный цикл;
X2_ - подпрограмма вызывается каждый чётный цикл;
X4 - подпрограмма вызывается каждый четвёртый цикл.

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

X4 удобен для процедуры генерации фоновой музыки, медленного движения звёзд, опроса клавиатуры и других фоновых задач.


С такими таймингами получается, что для проигрывания мелодий удобно использовать подпрограмму X2. Именно ток сделано в предсказательнице и в сквоше. А под эти тайминги и два-три варианта затухания амплитуды можно разумно подобрать.

Вот пример, как звучит мелодия с разной скоростью, скорость меняется стрелкой вверх/вниз.


Attachments:
tracker_EMU80.zip [996 Bytes]
Downloaded 9 times
29 Apr 2024 23:14
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
Ты всё предлагаешь каналы ВИ53 по разному использовать

А если автор хочет аккорд взять из трёх нот состоящий?...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


29 Apr 2024 23:28
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 70
Reply with quote
Shaos wrote:
А если автор хочет аккорд взять из трёх нот состоящий?...


Не вижу проблем. Будет аккорд, но из меандра, пилы и почти синуса.

Но только ты посмотри осциллограммы C64, AY и NES - нет там никаких аккордов.

Где-то читал интервью Роба Хаббарда, так он там рассказывал, что сначала делается линия баса с ударными, максимально сочная, потом лид, потом оставшееся на аранжировку.

Если соответствовать названию топика про годный синтезатор, так его надо отдельным картриджем для ППА делать, там вообще на всё управления хватает. Мне же достаточно будет простой в пайке приблуды, которая даст возможность делать фоновую музыку и эффекты для игр, не нагружая процессор. Того, что я предложил, более, чем достаточно:

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

Для управления атаками каналов можно использовать счетчик, управлять им сигналом INTE (выбор канала) и RUS/LAT (сброс), заодно светодиод в такт нотам мигать будет. А можно и без сброса даже. Наверняка таким способом можно будет управлять уровнем заряда на конденсаторах огибающих, тогда вообще всё, что надо есть.


30 Apr 2024 01:35
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
Hammer wrote:
Если соответствовать названию топика про годный синтезатор...
то синтезатор должен быть многоголосым :lol:

Должна оставаться возможность получить 3 разных ноты абсолютно одинакового инструмента (возможно с разной громкостью плюс шумовой канал):


https://www.youtube.com/watch?v=yU5ITdUy0TI&list=PLmbYQnB4VKE3FkFyjltuPdieVlFHoaV1_&index=1


https://www.youtube.com/watch?v=il62-PM0PyQ&list=PLmbYQnB4VKE3FkFyjltuPdieVlFHoaV1_&index=2

P.S. Не обязательно все 3 сигнала должны быть прямоугольные - могут быть все синусы (и может быть даже пилы и треугольники):


https://www.youtube.com/watch?v=PQM8ozRQzI8

(разнотипные сигналы тоже можно мешать конечно, но слышится это не очень по-моему)

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


30 Apr 2024 06:57
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 70
Reply with quote
Shaos wrote:
то синтезатор должен быть многоголосым :lol:


Странно, все самые крутые синтезаторы одноголосые)

Shaos wrote:
Должна оставаться возможность получить 3 разных ноты абсолютно одинакового инструмента


Не соглашусь, наоборот, большинство музыкантов стараются выделить инструменты на фоне друг друга, чтобы получить объём гармоник, а не слить их в один плоский звук.

Shaos wrote:
Не обязательно все 3 сигнала должны быть прямоугольные - могут быть все синусы


Когда они все синусы, это частотный синтез, а не аддитивный, совсем другая схема и тема, другое поколение синтезаторов, ВИ53 сдвиги сигналов по фазе делать не умеет, ничего не получится, а программировать частотный синтез вообще кукушку свернёшь. И да, в частотном синтезе сливают несколько синусоид в один сигнал, чтобы получить ОДИН инструмент.

Shaos wrote:
разнотипные сигналы тоже можно мешать конечно, но слышится это не очень по-моему


Ну тогда и не стоит мечтать о звуке уровня хотя бы NES.


30 Apr 2024 08:12
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
Hammer wrote:
Shaos wrote:
то синтезатор должен быть многоголосым :lol:


Странно, все самые крутые синтезаторы одноголосые)

Ну как сказать: https://muted.io/synth-list/

Одноголосые только аналоговые модели эконом-класса от Behringer типа того же wasp и ещё есть один дешёвый Korg и один не такой дешёвый Moog (хотя для кого и этот за штуку дешёвка), а все остальные многоголосые (аналоговые 2, 4, иногда больше, а цифровые 8, 16, 32 и т.д.)

Тот же поливокс пишут был двухголосый…

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


30 Apr 2024 14:24
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 70
Reply with quote
Shaos wrote:
Ну как сказать: https://muted.io/synth-list/


Всё правильно, я про крутые синтезаторы говорил, а не про популярные. Moog крутой, наверное половина синтезаторов из этого списка используют фильтр по схеме Moog, за исключением Коргов, они до сих пор часто используют фильтр по схеме Sallen-Key.

Ещё из знаковых в этом списке Korg MS-20 Mini, подозрительно дешёвый. Все Volca, это улучшенный Monotron с секвенсором.


30 Apr 2024 15:14
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
Hammer wrote:
Ещё из знаковых в этом списке Korg MS-20 Mini, подозрительно дешёвый
Амазон прямо сейчас предлагает вот такую цену:

Attachment:
Screenshot from 2024-04-30 20-49-09.png
Screenshot from 2024-04-30 20-49-09.png [ 85.69 KiB | Viewed 299 times ]


А вот MS-20 FS (Full Size) больше штуки стоят...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


30 Apr 2024 20:59
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22737
Location: Silicon Valley
Reply with quote
Hammer wrote:
Не соглашусь, наоборот, большинство музыкантов стараются выделить инструменты на фоне друг друга, чтобы получить объём гармоник, а не слить их в один плоский звук.
Инструмент то может и один, но клавиш у него много (или струн) :lol:

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


30 Apr 2024 21:07
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 70
Reply with quote
Это тебя не отпускает призрачная возможность портирования музыки) Забей, ничего не получится)

Даже в современных клонах РК, где ВИ53 остаётся только для звука, разработчики ставят её в непонятный частотный диапазон. Ноты попадают в правильные частоты в пределах двух октав + по половине октавы сверху и снизу. Частота в большинстве клонов аппаратно ограничена сверху т.е. не вырваться за эти пределы. Формально-то конечно можно, но обеспечить точность частоты ноты в 2% уже не получится, мелодия будет фальшивить.

По этим же причинам падает разрешение частот. Чем выше частота, тем меньше возможность для вибрато.

Т.е. не только ноты портировать не получится, но и простейшие эффекты.

Заново придется музыку писать, или портировать вручную, сдвигая партии разных каналов на на октаву-две вниз, если это возможно.

Аккорд из трёх нот, как ты писал ранее, может не получиться, если ноты удалены друг от друга на октаву. Поэтому надо смотреть в сторону секвенсорной музыки, это круто и полностью ложится на схематоз РК.


01 May 2024 00:22
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 75 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 3 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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.