Прослушал на Youtube с десяток мелодий. Для дверного звонка слишком сложно и слишком мало время проигрывания мелодии, не раскрывает все возможности AY. А вот музыкальная шкатулка — это лучшее применение, особенно, если сделать шкатулку в стиле техно или с намеком на старый компьютер/игровую приставку — звук специфический. Неплохо классику играет, но с двумя AY еще лучше.
На дверной звонок можно коротких забористых семплов настругать. Два AY — понятно, что лучше, но для такого тандема надо уже целенаправленно музицировать, а не брать имеющееся.
Использование двух чипов AY одновременно уже было реализовано в звуковой карте для Спектрума TSFM (поддерживается многими эмуляторами) и, соответственно, уже есть мелодии под два музыкальных процессора.
Есть очень безбашенная идея, но не совсем уверен что такое можно реализовать.
Идея такая:
1. Есть источник стререо звука (Left Front и Right Front).
2. Есть микроконтролер (Аtmega32 должна успеть в ряд фурье разложить).
3. Есть музыкальный сопроцесор на YM2149F.
4. МК получаете сигналы (от Left Front и Right Front) и разлаживает их в спектр.
5. Полученые спектры (от Left Front и Right Front) МК фильтрует, выбрасывая все не музыкально нотные частоты.
6. Получая самые громкие по амплитуде «ноты» МК посылает значение частоты на YM2149F.
7. В итоге получаем Left Back = A + 0.5B, Right Back = 0.5B + C.
8. Все что будет приходить от источника стерео звука будет «подзвучиватся» олдскульным синтезатором.
9. Получается псевдоквадрофония методом вокодера.
Не знаю насколько большой будет задержка от начала сигнала до вывода на YM2149F. Поэтому и считаю идею безбашенной :)
2% может оказаться недостаточно, если все настроено выше или ниже на четверть тона, а расширять полосу захвата нельзя, так как в нее попадут соседние ноты.
К тому же, подстраивать нужно не только анализатор, но и AY, иначе она фальшиво звучать будет.
Идея точно забавная. Насчет реализуемости — можно для начала сделать ее более софтовой — переложить анализ на ПК. Чтобы в итоге получился, скажем, плагин к программному аудиоплееру, толкающий «подзвучку» в UART.
Да именно забавная, просто выходит как бы добавление олдскульно синтезатора ко всем стерео записям… потому я ее и предложил. Думаю звучать должно прикольно ;)
А по-хорошему, надо иметь возможность тактирования на 1.7(много цифр) МГц — как это делается в Speccy.
Если точнее, то 1,7734 МГц (хотя в интернете и другие цифры встречаются) — это частота в оригинальном 128K. В большинстве отечественных клонов ровно 1,75 МГц (3,5 (для Z80) / 2), так что если слушать постсоветское, то лучше, IMHO, использовать эту частоту. Посмотрел кварцы в ЧиД — я так понимаю, для 1,75 придётся взять 7 МГц и поделить на 4 (как в клонах и делалось, вроде как)?
И ещё (из разряда чиптюновой аудиофилии) — в варианте tronix286, как я понимаю, в устройстве реализован буфер, а тут таймингом занимается хост, выдавая данные в порт с частотой 50 Гц (как в варианте AY-LPT), так что для максимальной точности воспроизведения (чтобы не «плыло», так скажем) нужно что-то «поточнее» пайтоновских слипов (например, всё тот же ZX Tune с соответствующей (гипотетической) либой для вывода).
Кварцы на 3.58 МГц есть, можно на 2 делить. Этим я пока не заморачивался, но вообще — надо. Насчет тайминга — да, есть проблема «подплываний», причем, что интересно, на одном компе она проявляется сильно, на другом — практически не встречается, на третьем — вообще не удалось повторить — это все с одним питоньим кодом. Кстати, специально сравнивал работу со слипом и с дерганьем микросекунд из часов — на слух идентично, с теми же граблями.
Переписал полностью код атмеги и частично — питоний. Теперь 50 Гц тактирует атмега, она же следит за своим приемным буфером и периодически запрашивает у хоста еще пачку байт. Играет это дело на порядок лучше.
Олдскул, хардкор, AY-3-8912. «Железный» чиптюн с последовательным входом