www.diyfactory.ru



Страницы: (18) « Первая ... 12 13 [14] 15 16 ... Последняя »  ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темыСоздание опроса

> Diy синтезаторы, вместо приветствия
vilager
Дата 10.07.2009 - 23:38
Цитировать сообщение




Unregistered












ќткуда:


можно сделать 2 регулятора: первый "диапазон", а второй - "линза" или "масштабер", чем он больше введён, тем грубее перестройка по диапазону.
Top
Diz
Дата 29.07.2009 - 09:13
Цитировать сообщение




Unregistered












ќткуда:


Спасибо за советы. Подумал, и сделал так - параметр при вращении
ручки энкодера грубо меняется от 0 до 100 (0,1,2,3 ... 100). А при нажатой
ручке тонкая настройка, меняются десятые - 0.1, 0.2, 0.3
Привел к таком виду не только LFO, но и многие другие параметры, оказалось
удобно.

PS Забавный наивный сэмпл с тремя осцилляторами и полным отсутствием огибающих - http://www.sendspace.com/file/54btoh
Top
EternalEngine
Дата 29.07.2009 - 19:50
Цитировать сообщение




Unregistered












ќткуда:


Оригинальная идея. круто!

З.Ы. Давайте тут семплы выкладывать - так удобнее.

Это сообщение отредактировал EternalEngine - 29.07.2009 - 19:55
Top
echowave
Дата 30.07.2009 - 18:42
Цитировать сообщение




Unregistered












ќткуда:


вот интересный ресурс по теме http://musicfromouterspace.com/
проекты подробно описаны, ко многим есть лэйауты
Top
Diz
Дата 1.08.2009 - 00:56
Цитировать сообщение




Unregistered












ќткуда:


music from outer space хороши, но там в основном традиционный аналог.

PS Сэмпл доброго и теплого басового sweep-а:
http://rghost.ru/375792
Top
Serge_D
Дата 24.08.2009 - 15:37
Цитировать сообщение




Unregistered












ќткуда:


Парни а никто не рассматривал возможность создания DCO аналогичного Juno6 jx3p на таймерах http://ru.wikipedia.org/wiki/8253 ??
Посути такой синт сможет обслужить один из массовых контроллеров PIC или AVR.. особенно когда надо ... 12 осциляторов как у JX3P..
(ранние синты роланда строились на Z80 и 8031 контроллерах)
Top
AceessTI
Дата 24.08.2009 - 18:16
Цитировать сообщение




Unregistered












ќткуда:


вроде в маэстро на них построены DCO...
Top
Diz
Дата 24.08.2009 - 21:25
Цитировать сообщение




Unregistered












ќткуда:


Осцилляторы в полисинте - мелочь по сравнению с фильтрами, огибающими
и коммутацией на каждый голос :-)

Железные таймеры, конечно, можно использовать - только тогда уже не на отдельных микросхемах городить, а ставить FPGA/CPLD.
Top
Serge_D
Дата 25.08.2009 - 18:57
Цитировать сообщение




Unregistered












ќткуда:


конечноже FPGA/CPLD в идеале.. но если пока не шарим в плис можем и на отдельных чипах ))
Top
EternalEngine
Дата 26.08.2009 - 17:44
Цитировать сообщение




Unregistered












ќткуда:


Ребят, а не подскажете схему линейного VCA на LM13700?
Top
Serge_D
Дата 26.08.2009 - 18:42
Цитировать сообщение




Unregistered












ќткуда:


MFOS в помощь
Top
Serge_D
Дата 26.08.2009 - 18:44
Цитировать сообщение




Unregistered












ќткуда:


Top
Serge_D
Дата 4.09.2009 - 21:27
Цитировать сообщение




Unregistered












ќткуда:


DIZ а как в твоём синтезаторе реализован "трекинг" нот.. (если я правильно выражаюсь).. тоесть попросту как контроллер вычисляет нужную частоту ноты? по формуте или из таблички ?? если из таблички то как тогда организовать плавный питч??
Top
EternalEngine
Дата 6.09.2009 - 18:21
Цитировать сообщение




Unregistered












ќткуда:


Цитата (Serge_D @ 4.09.2009 - 21:27)
DIZ а как в твоём синтезаторе реализован "трекинг" нот.. (если я правильно выражаюсь).. тоесть попросту как контроллер вычисляет нужную частоту ноты? по формуте или из таблички ?? если из таблички то как тогда организовать плавный питч??

fn = Atune + 2^(n/12) + 2^(dtune/1200)

где

fn - частота звука
Atune - частота настройки (А=440Hz)
n - номер ноты
dtune - частота растройки в центах

TAB1(n) = 2^(n/12), n={1..12}

TAB2(dtune) = 2^(dtune/1200), dtune={1..100}

100центов=1нота(полутон)

для переключения октав илпользуй сдвиг влево, если на октаву ниже, и вправо - на октаву выше (fn<<1, fn>>1)

если делать по принципу накопления фазы, то там ещё сильно упростить можно (в частности можно избавиться от деления)

Это сообщение отредактировал EternalEngine - 6.09.2009 - 18:28
Top
Diz
Дата 6.09.2009 - 18:38
Цитировать сообщение




Unregistered












ќткуда:


Табличка инкрементов DDS (фазового аккумулятора) на самую нижнюю
октаву с шагом в 1 цент. Итого 1200 32-битных значений, 4.8 кБ.

Для других октав сдвигаем значение влево (умножаем на 2^n) на нужное кол-во октав.
Код

   ulong octaveNum;
   for ( octaveNum = 0; Cent >= CENTS_IN_OCTAVE; Cent -= CENTS_IN_OCTAVE,  octaveNum++ );   // Find octave

   *oscP->incP = incTable[Cent] << octaveNum;


Если жалко памяти, то разбиваем таблицу на несколько блоков,
так, чтобы в каждом блоке диапазон значений укладывался в 8 бит
(ведь значения инкремента плавно возрастают с небольшим шагом).
Top
Serge_D
Дата 6.09.2009 - 20:22
Цитировать сообщение




Unregistered












ќткуда:


кое что проясняется. слишком сложные формулы с делением для простых контроллеров конечно не желательно... Значит заранее расчитываем значения этой самой таблички в центах на 4.8 кБ..

Я пока смутно представляю что такое DDS.. фазовый акумулятор я так понял это значения счётчика (32 битового в данном случае) задающего время периода сигнала..?? как только он сбрасывается в 0 начинается новая фаза..
Гдето так.. я правильно мыслю?

И ещё мысли.. в JUNO использовались таймеры 8253 с 16 битными счётчиками.. я гдето читал что в связи с этим синтезатор не точно воспроизводил некоторые ноты. в связи с низким разрешением счётчиков особено на высоких октавах.
Правильно ли я понимаю что в твоём DIZ синтезаторе значение частоты задаётся в 32битных значениях а значит ошибка будет ничтожно мала.??
Top
Diz
Дата 7.09.2009 - 00:00
Цитировать сообщение




Unregistered












ќткуда:


Не совсем. На каждом шаге к фазовому аккумулятору прибавляется инкремент.
Вот когда аккумулятор переполнится (и продолжит считать дальше), это и будет началом нового периода.

Если в варианте со счетчиком инкремент фиксированный, а задаем
предельное значение, то тут наоборот - предельное значение фиксированно (2^32), а управляем инкрементом.

http://caxapa.ru/lib/MyDDS.pdf

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

Это сообщение отредактировал Diz - 7.09.2009 - 00:11
Top
Diz
Дата 3.10.2009 - 23:47
Цитировать сообщение




Unregistered












ќткуда:


Работа над синтом несколько приостановилась - в работе графическая библиотека, которая будет использоваться в нем (и не только).
Top
Serge_D
Дата 26.10.2009 - 02:06
Цитировать сообщение




Unregistered












ќткуда:


Будешь использовать графический дисплей?
Top
Diz
Дата 26.10.2009 - 08:22
Цитировать сообщение




Unregistered












ќткуда:


Ага. Небольшой (128x64), мононхромный, но графический :-)

Библиотеку и GUI синта, в принципе, доделал.

Сейчас решаю, как лучше сделать назначение MIDI-контроллеров для
автоматизации. Делать ли глобальную настройку, или для каждого пресета свою ? Делать ли просто менюшку с выбором контроллер->параметр, или
прикрутить MIDI Learn ? Пока в сомнениях.
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Страницы: (18) « Первая ... 12 13 [14] 15 16 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса

 

<% COPYRIGHT %>