Александр Семенов @shiru8bit
Узкий специалист широкого профиля
Information
- Rating
- 17-th
- Location
- Москва, Москва и Московская обл., Россия
- Works in
- Date of birth
- Registered
- Activity
Specialization
Game Developer, Application Developer
Senior
From 9,000 $
English
C++
C
Programming microcontrollers
Code Optimization
Software development
System Programming
Assembler
Да, конечно, использовать PWM для звука на Arduino так себе идея. Я даже думал добавить вариант с самодельным стерео-Covox на резисторах. Но статья и так выходила слишком большая по объёму, оставил на другой раз.
Были эксперименты по синтезу без сэмплов, всеми тремя каналами с шумом, на 50 Гц. Но разобрать это можно было только зная, что там предположительно звучит. Примерно как эффект имиации человеческого голоса в чиптюне, когда очень точно подбирают изменения питча, был популярен одно время. Типа https://www.youtube.com/watch?v=LLYedwpeTfc&t=8683s
Это совершенно отдельная тема, звуковой чип с принципиально другим устройством, которое очень сложно объяснить на пальцах. Но возможно доберусь и до неё.
У WS2812 последовательный протокол на 800 кГц, ни больше, ни меньше. Быстрее этого не поуправляешь.
У одноплатников есть некоторые вопросы со временем готовности к работе после включения (загрузки ОС). Я пока не особо разобрался, но лучшее, чего удавалось добиться - порядка 30 секунд. Многовато.
В каждом маленьком городке давно есть специализированные скупки, выкупающие телефоны. В больших городах их десятки. Также есть скупки широкого профиля, где тоже полно телефонов. И в страшный интернет не надо ходить.
Про редакторы с сэмплами для ZX Spectrum и аналогичных по мощности машин я давеча писал большую статью. Не Scream Tracker, но тоже впечатляло в определённый исторический период. Статья тут: https://habr.com/ru/companies/ruvds/articles/789392/
Алгоритм Витерби чуть похитрее простого вывода в ЦАП. Идея в том, чтобы использовать сумму выходов трёх ЦАП для получения более высокого разрешения по амплитуде. Это тоже давно известный трюк, но в данном случае учитывается тот факт, что значения трёх ЦАП меняются не одновременно, а поочерёдно с некоторой задержкой между изменениями, то есть сумма меняется по компонентам. Алгоритм позволяет найти оптимальную схему изменения, и таким образом улучшить соотношение сигнал-шум. Код здесь: https://www.msx.org/downloads/related/sound/pcm-encoder-001
Использую Алису за рулём в движении: установка другого маршрута, открытие ворот звонком, не отвлекаясь на тыкание в экран.
Понял. Попробую на досуге воспроизвести и такой подход (явно будет трещать 50 Гц), и сделать вариант с оптимизированным потоком данных, с более чистым звуком. Посмотрим, чего интересного можно добиться, обладая современным пониманием вопроса.
Мощно! А на входе синтезатора было что, прямо оригинальный проигрыватель, который пишет в регистры AY, с конверсией на лету, или через дамп регистров и пересчёт делителей под новый синтезатор заранее?
Конверторы из XM делались для первых новодельных движков - QChan, Octode, Huby, потому что тогда ещё не было редакторов для них. Конвертеры не поддерживают команды вообще, и музыку для них нужно готовить определённым образом. Просто случайно взятый модуль сконвертировать не получится. По сути из модуля берётся только нотный текст, с некоторыми ограничениями, завязанными на возможности движков (у каждого движка свои).
Идея проиграть какую-никакую AY музыку через бипер уже давно будоражит умы энтузиастов, и мы прикидывали разные возможности. Но пока так ничего конкретного и не придумали. Теоретически что-то сделать можно, вопрос в том, насколько далеко оно будет от оригинала. В прошлом даже был написан программный эмулятор AY для General Sound, но там 12 МГц Z80, прерывания и ЦАПы, и даже так качество было посредственным. На 3.5 МГц с бипером придётся идти на очень большие компромиссы. Впрочем, это весьма интересный челлендж, нужно будет сделать к нему ещё один подход.
Если не ошибаюсь, это современный движок ZBMOD, по сути типа MOD, но изначально рассчитанный на однобитные сэмплы. Крутая вещь, но пока очень мало кто смог ей эффективно воспользоваться.
Да, это примерно похоже, но там сложный вариант: голый МК, код на ассемблере, выжимающий максимум.
У меня уже пару лет без трёх букв не открывается.
Тут соображения были следующие: одиночный динамик непосредственно к пинам — это наглядно, как на картинках, для читателя «о, ну это я могу». Для подключения нормального динамика нужен усилитель, и психологически это — «ой, ещё платы какие-то нужны, проводов много, ну его».
Я записал именно видео, потому что не знаю работающих сервисов для выкладывания встраиваемого аудио. Для видео нужна хоть какая-то картинка, поэтому хотел записать и Z80 с реального ZX, но это оказалось несколько проблематично, сроки поджимали, пришлось переключаться на эмулятор. Записать Ардуину в линию могу, сделаю чуть попозже.
Материал на русском языке вряд ли написан для китайцев; Москва часть России; в текущей мировой ситуации Россия является растущим не-азиатским рынком для китайцев; и в тексте нигде не указывается, где сей мощный выстрел прозвучал, и что нас он никак не касается. Вроде бы не совсем не при чём?
Какой-то не очень понятный мощный выстрел. В Москве можно каждый день встретить каких угодно китайцев, поездить на такси и каршеринге на многих из них, но BYD на дороге вижу даже не каждый месяц. И вообще на моей памяти вблизи я видел их всего несколько штук, в основном ранних F3, уже десять лет назад насквозь гнилых. И на авто.ру в продаже в Москве сейчас всего сотня BYD'ов всех моделей.