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

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Работа со звуком силами МК » Синтез примитивного звука MIDI? Разнотональные пищалки.


Синтез примитивного звука MIDI? Разнотональные пищалки.

Сообщений 1 страница 19 из 19

1

И снова я возможно с глупым вопросом но вот как можно организовать примитивный синтезатор звука не средствами ЦАП МК по причине ресурсов ядра.
Вот какие есть идеи? То есть много не надо там генерация указанных частот на указанное время. Пока что идея применять МК который будет в реальном времени работать и генерить.
Но MIDI ведь не требует передачи большого потока данных что подсилу такому МК. Для инфы ведущий МК mega1284. Для инфы это в доску крутой ПДУ в котором ясно дело будет и сотовый телефон. Для озвучки событий было бы очень хорошо на фоне что max7456 при шуме на картинке OSD гасит, примитивные пищалки не эффективно с точки зрения уникальности. Отлично бы полошёл полноценный звук.
EEPROM ясно дело есть на несколько метров, но точнее будет сейчас плата в разработке.

Отредактировано RadioHAM-433 (2020-02-28 22:01:12)

0

2

Сядь и разберись в формате миди, прежде чем задавать тучу вопросов на форуме.

+1

3

Проще всего использовать готовые чипы миди-синтезаторов. Подключаем к МК чип, отправляем ему миди-команды, и занимаемся своими делами, пока от чипа не придет прерывание, говорящее о том, что команда исполнена (нота прозвучала), и чип готов принимать следующую.

0

4

профессиональные (с банками звуков) стоят Хорошо. Я как раз один щупаю (дали для проекта).
"Моща" в них не детская! там камешки на частоте в сотни МГц работают, по 6 миди-каналов одновременно может воспроизводить...

0

5

А мне эта тема очень по душе, но уж очень аппаратная поддержка MIDI дорого стоит, жаба давит.

0

6

Ну, так-таки и дорого. Например, платка со всей обвязкой на базе VS1053 стоит менее 300 р на Алике. За эти деньги умеет не только в MIDI, но и в декодирование всех популярных сжатых аудио.
Например, https://aliexpress.ru/item/400030041727 … web201603_

Конечно, мне попадался код настоящего FM-синтеза, но мощности дешевых AVR хватает на синтез в обрез: вряд ли данный чип сможет без ущерба для качества звука заниматься во время синтеза чем-то еще. Вы, конечно, можете пытаться -- но это больше смахивает на извращения вроде натягивания совы на глобус.

Еще можно попытаться раздобыть старые чипы Yamaha, которые синтезировали звук в компьютерах типа Yamaha MSX-II (известные как КУВТ) или IBM PC Junior (была такая странная ветка на заре PC). Они имели на борту 3 канала звука + 1 канал шума. Путем хитрых манипуляций двумя каналами можно было получить некое подобие FM-синтеза, а изощренное программирование канала шума -- имитации ударных и хэта, все еще скорее похожих на бряцанье и жужжание. В дальнейшем Yamaha выпускала несколько чипов для синтезаторов, их даже можно раздобыть на какой-нибудь радиосвалке, но наверняка будут трудности с datasheet -- в те годы фирмы часто делали закрыты продукты и не слишком охотно делились спецификациями.

Отредактировано Cirno_9 (2020-03-05 08:46:36)

+1

7

Cirno_9 написал(а):

Еще можно попытаться раздобыть старые чипы Yamaha

Например, AY- 3-8910 (AY-3-8912).
Они весьма недурно пели под управлением Спектрума... ;)

+1

8

дык, так еще дело и в умении программиста, а банальный плеер миди - это "пришла нота -- включил звук". Несколько разные вещи
Вспомните, как на пищалке IBM-совместимых народ голос и сложную музыку получал! Я на днях случайно в архивной папке запустил говорилку. И знаете: весьма впечатлило! а работало то у меня на 486 проце ))

+1

9

Няп, чип звука в РС был совмещен с системным таймером, выдающим 3,18 МГц системных тиков. Использование 8-битной ШИМ давало 3,18М / 256 ~= 12 кГц сэмплрэйт, что хотя и воспринималось как мерзостный свист, все-таки позволяло организовать простейший 1-битный ШИМ-ЦАП, особенно если динамик включить через простейший ФНЧ из дросселя и конденсатора.

0

10

Так вот я и пытаюсь найти просто и дешёвое решение.
Чипы vs1053 и vs1003 это идеальный вариант!!! Применительный корпус к примеру BGA я уже не могу применять для этого потребуется заказывать платуууу.
Я так понял что данный чип после завершения воспроизведения MIDI прерывание выставляет?
Всё дело в том что можно отправить пакет, но как раз и идёт работа в пакетном режиме то есть обработка разных данных со временем обработки до 20мс. Мне не надо там ни чего сложного и длинного.

На такой получится ли на данном чипе организовать как раз такое проигрывание нескольких звуков с уходом на обработку до 20 или пусть 30мс?

Я не могу заказывать чипы да еще и применить а потом выясниться что нельзя вдобавок уже такая сложная плата будет сделана и другой чип уже не применишь! Пачку купишь штук 5 миним или 10.

Зы может там еще можно и с АЦП сигнал с микрофона захватывать но скажем для оченки уровня сигнала весьма полезно! Но а так же получается что уже можно с файла там чёт простое воспроизвести это ж будет оочень круто! Я бы прямо сейчас заказал данные чипы!!! Если выделить на задачу чисто можно же воспроизвести звук с файла, например DTMF сигналы.

Отредактировано RadioHAM-433 (2020-03-06 02:22:58)

0

11

Выше я привела как пример ссылку на Али, там макетная плата с VS, на которой Вы можете отладить весь софт взаимодействия с чипом, прежде, чем покупать чипы и заказывать для них печатные платы. И да, там на плате есть и микрофон.

0

12

Спасибо! Но мне софт отлажить не надо, мне надо реализовать какой то синтез звука при таких задачах.
И я задал вопрос про работу чипа если ли смысл заказывать вообще! Софт отладится когда железо будет готово, никакого смысла делать это наперёд нет!
Вопрос у меня один единственный можно ли синтезировать что то адекватное при уходе на обработку до 20мс? Но а дальше всё как у мотросов никаких вопросов!

Всё же я не матрос и у меня может возникнуть вопрос!
Если Вы имели дело должны же знать получится или нет? Я бы конечно с радостью поэкспеременитровал бы НО пока что заказы с Али не телепортируют это не менее 2 месяца ожадания нинЧА если не потеряется, брать для теста это непозволительная роскошь! Такие тесты могут растянуться на 4-5 месяцев! Если сразу наберать всё что потенциально подходит то это дорого. Отладочную плату я буду собирать продвинутую, и если смысл этот чип поставить туда сразу, я туда все микры которые будут использоваться поставлю.
В чип и дип получается цена из ряда фантастики (https://www.chipdip.ru/search?searchtext=vs1003)
В том если не заниматься ни чем кроме синтеза звука то точно всё будет зашибись.
Я в кратце поясню! 1 это формирование пакетов передачи через старндартные чипы трансиверы NRF, SiLab и прочее время подготовки пакета хз но мало, время загрузки по SPI там до 32 байт тоже мало, частота посылок до 200Гц, 4-5 каналов где то не менее 25Гц а лучше 50 обновление данных что бы задержки были незаметными. Приём данных с аппарата каждый 150-250мс там где то до 10мс. Конечно 200Гц отправка не вяжется с 10 или даже 20мс обработкой да это так. Но тут всё иначе. При работе по нашему протоколу пакет с аппарата большой обработка до 20мс, при работе с фирменным аппаратами телеметрия минимальная обработка 2-3мс. Наса система полностью с обратнйо связью тупо не надо лупить по нескольким каналам что бы сигнал не потерять если на каком то канале будет помеха, аппарат просто запросит другой канал и частота пакетов там где то 30-50Гц все то получается. Вывод на на монитор max7456 может тоже что то более продвинутое есть?
Просто мне нужно более менее норм озвучивание событий что бы слишком много текста на монитор не выводить да и всё глядеть неудобно.
Я кратко обрисовал чем занимается вычистельный МК то есть ведущий, за приём и передачу данных через трансиверы есть свой МК то есть аналоговые задачи не лежат на ведущим, кроме АПЦ джойстиков и кнопок. Обмен данными между МК чисто фоновый, за 1 такт функции обрабатывается макс 1 байт но это ниочём.
В любом случае частоту отправки пакетов можно снижать это лишь увеличит время отклика.

Отредактировано RadioHAM-433 (2020-03-06 15:35:55)

0

13

Nord написал(а):

AY- 3-8910

Они ничего общего с MIDI не имеют, чисто генераторы звука.

Cirno_9 написал(а):

VS1053

Тема давняя, интересная, но там пока научишься работать с этим чипом...он и FLAC кушать может, если загрузить патерн.

RadioHAM-433 написал(а):

Я так понял что данный чип после завершения воспроизведения MIDI прерывание выставляет?

Вообще там идея потока, гонишь данные синхронные и не дай бог замешкаться.) Ну и настроить надо чип перед работой.

0

14

RDW написал(а):

AY- 3-8910
Они ничего общего с MIDI не имеют, чисто генераторы звука.

Неоспоримо, но для работы с ними не надо грызть протокол MIDI, а "поют" вполне достойно... ;)
Аналоги, да и последние чипы ххх-8912(13) вполне доступны.

0

15

Nord написал(а):

Неоспоримо, но для работы с ними не надо грызть протокол MIDI, а "поют" вполне достойно... ;)
Аналоги, да и последние чипы ххх-8912(13) вполне доступны.

Я раньше на ZX Spectrum писал код на ассемблере на них, так вот, там очень ограниченное количество каналов синтеза (уже точно не помню, но то ли 3 или 4 канала под тон, плюс есть один шумовой генератор, который как правило в музыки бесполезен, чисто эффект какой-то сделать, ударные например делались тоже на тональном генераторе) и серьёзную музыку не сделать, каналов мало (даже если делать быстрые манипуляции/имитацию многоголосовости):

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

Т.е. WAV table нет, а чипы от VLSI в себе сдержат его.

https://www.youtube.com/watch?v=7xIEA66e7eI

Разница как бы на лицо. :)

+1

16

RDW написал(а):

серьёзную музыку не сделать, каналов мало

Все верно, то ТС требуется "Для озвучки событий было бы очень хорошо" (см. #1).
Думаю, речь про что-то "симфоническое" тут не ведется... ;)
Ну и в случае миниатюрности устройства, разумеется "AY-3-8910 и K°" не лучший вариант... ;)

0

17

На самом деле можно озвучку сделать подцепив внешнюю память (EEPROM, FRAM, Flash) и в них хранить обычные 8 битные звуки, а выводить обычным ШИМом (минимум будет кушать производительности МК).

+2

18

А еще есть легендарный SID, возможно, незаслуженно забытый
https://ru.wikipedia.org/wiki/MOS_Technology_SID
Под него написано более 25000 композиций
Некоторые можно заценить например, тут
https://www.goto80.com/music

Слушайте, AVR и чиптюн, они же созданы друг для друга! )

Ну вот например, первая же шикарная композиция отсюда https://remix.kwed.org/ на 6+ минут весит в чиптюн-коде всего 5к

Отредактировано Cirno_9 (2020-03-10 11:15:25)

+2

19

Cirno_9 написал(а):

Ну вот например, первая же шикарная композиция отсюда

Звучит классно, но ничего знакомого не нашел.

0


Вы здесь » Программирование ATMEL в BASCOM. » Работа со звуком силами МК » Синтез примитивного звука MIDI? Разнотональные пищалки.