Свежие обсуждения
Микроконтроллеры

Вэйвтэйбл синтезатор

1 8 26

Gregory: Тогда уж - полупериод.
да, описался

Gregory: Только что-то у меня сомнения, однако...
Никаких сомнений, посмотрите анализатором спектра, увидите нужную гармонику. В теорема Котельникова-Шеннона речь идет именно о частоте высшей гармоники в сигнале. Т.е частота дискретизации должна быть как минимум в два раза выше (именно выше, а не равно) частоты максимальной гармоники в сигнале.

 

Кажись возникла новая проблема.
По первым прикидкам, при использовании внешней памяти, будет ограничение многоголосности, из-за пропусконой способности I2C.
Кто-нибудь знает, как это обойти?

 

Вы во внешнюю память что пишите? надеюсь не "синусоиду"?
если партитуру, то при минимальной ноте 1/32 и ШИМе 19531Гц времени для считывания следующей ноты более чем достаточно.
ВЫ определитесь что вы хотите сделать - для "звонка" вероятно определяющим будет цена и соответственно необходимо "выжать" возможности выбранного вами пик628 и тут НЕВАЖНО какая таблица лучше - делайте так чтоб влезло и успело посчитать.
если вы собираете инструмент и необходим качественный звук, то определяющим будет именно качество звука, а исходя из средств достижения нужного качества получится и цена.

 

AnSi:
надеюсь не "синусоиду"
Зря надеетесь. Именно сэмплы хочу записать.
Это я уже немного вперёд забегаю. Со звонком, в принципе разобрались. Будет на трёх канальном тон-генераторе. А записывать мелодии во внешнюю память... Используя свой метод записи, у меня на 1Kb памяти влезает 4-5 мелодий (при чём не маленьких). Если использовать 64Kb внешнюю память, получается 256-320 мелодий. Это - сперва заколебёшься составлять, а потом - заколебёшься перебирать.

Так что, тут уже пытаюсь реализовать идею сэмплера (например драм-аппарата), или речевого информатора. Со вторым проще. Ему не нужна многоголосность, и пропускной способности I2C, вроде хватает.
А вот, для первого, многоголосность необходима. Соответственно и "перекачивать" надо больше информации. Видимо, придётся ограничить многоголосность, хотя общую полифонию можно и оставить.
Вот и спрашиваю, есть ли какие способы увеличить пропускную способность? Пока на ум приходит только: организация буфера, чтоб можно было организовывать "постраничное чтение", тем самым экономя на служебных байтах.

 

Gregory:
на 1Kb памяти влезает 4-5 мелодий
Извиняюсь за дезу. Речь идёт о 2Kb. И хоть все остальные цифры, соответственно в два раза меньше, но всё-равно получаются внушительные.

 

== Вот и спрашиваю, есть ли какие способы увеличить пропускную способность?

++ странный вопрос
1 - применить более быструю память
2 - запараллелить медленную
3 - разогнать медленную до предела работоспособности.

 

AnSi:
применить более быструю память
Тут, увы, ничего не поможет. МК - на пределе.

запараллелить медленную
А это-то что даст? Интерфейс-то, как был один, так и остался. Или предлагаете, для каждой м/сх свой I2C делать?

Третий пункт - то же, что и первый.

 

Сейчас глянул уже проходившую ссылку http://elm-chan.org/works/mxb/report_e.html
Возникли вопросы.
Если смотреть на схему, то там ничего собственно нет. Кто знаком с данной м/сх, поясните:
Там что, есть ЦАП? И где ФНЧ на выходе?
Какой звукоизлучатель можно подключать таким варварским способом? Пьезик? Так, судя по демке, это - далеко не пьезик.

P.S.: Вот глянул. Ну нет же у него ЦАПа. ШИМы только.

 

Gregory: Кто знаком с данной м/сх,
http://www.atmel.com/dyn/products/product_card.asp?part_id=3618

 

Gregory: Ну нет же у него ЦАПа
Нет. Обычная тинька. Видимо, реализовали синтез программным путем. Смысл?