Автор Тема: Diy синтезаторы  (Прочитано 54612 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Diz

  • Гость
Diy синтезаторы
« Ответ #220 : Июня 08, 2009, 05:52:54 pm »
Без деления может не получиться.

Как реализовано LFO - как DDS (фазовый аккумулятор + вывод по таблице) ?

Как это сделано у меня. Пересчет параметров (в том числе нового значения LFO) каждую миллисекунду. Есть отдельный высокоскоростной таймер (f=200 kHz), одна из его функций измерять время между приходами соседних миди клоков. Измеренные тики сглаживаются простым фильтром типа скользящего среднего (так как миди-клок может и будет плавать).

Затем смотрится, на какой позиции находится LFO - сколько осталось до окончания цикла. И сколько миди-клоков должно придти до окончания цикла.
И определяется новый инкремент для фазового аккумулятора LFO так, чтобы миди клок и LFO засинхронизировались ровно через цикл LFO.

В итоге получается очень мягкая синхронизация, как будто музыкант догоняет или подтормаживает свою партию так, чтобы со следующего такта вступить со всеми одновременно. А четкая синхронизация на каждый миди-клок звучит очень грубо с большим джиттером, не рекомендую.

В коде есть одно целочисленное деление.

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #221 : Июня 09, 2009, 04:18:47 pm »
а какого порядка? интересно, сколько циклов на него потратит 8 бит AVR ядро?
И зачем такая высокая ч-та? 1кгц не хватит?
« Последнее редактирование: Июня 09, 2009, 05:37:54 pm от EternalEngine »

Diz

  • Гость
Diy синтезаторы
« Ответ #222 : Июня 09, 2009, 08:25:49 pm »
В принципе, хватит - но так исторически сложилось.

Попробую прикинуть.

За один такт нам приходит 96 клоков. Будем считать, что предельная частота
клоков 1 кГц/2 = 500 Гц, затем вылезает ошибка. Частота полного такта 500/96 = 5.2 Гц, частота появления четвертей 5.2 * 4 = 20.8 Гц. Это 20.8 * 60 = 1248 bpm :-)  При таком темпе и быстрее начнет появляться ошибка измерения в 1/96 ноту.

Нигде не ошибся ?

О делении.
В первом приближении делимое = разрядность фазового аккумулятора  * ( частота измерительного таймера / частота пересчета LFO).
Делитель:число насчитанных измерительных тиков * максимальный множитель синхронизации (у меня два такта, 96*2 = 192).

Максимальное число изм. тиков можно определить через мин. bpm.
Скажем, минимум 20 bpm. Это 20 четвертей в минуту, 20/4*96/60 = 8 миди-клоков в секунду, 8 Гц. Максимальное число тиков 1 кГц/8 Гц = 125.
« Последнее редактирование: Июня 09, 2009, 08:49:05 pm от Diz »

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #223 : Июня 11, 2009, 04:03:14 pm »
Вроде всё правильно. это выходит порядка 1000 тактов на одну операцию деления 16 разрядном аккумуляторе?  :blink:

скоро зарплатэ) вот подумал, а можно ли заменить ca3046 на 198нт1 в экспоконверторе осциллятора? там на ней ещё термостабилизация сделана... схемка там ниже лежит.

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #224 : Июня 11, 2009, 04:47:43 pm »
да, и не знаешь где можно добыть AD5206BN, их даже на заказ найти не могу...

Diz

  • Гость
Diy синтезаторы
« Ответ #225 : Июня 11, 2009, 05:21:46 pm »
Если 1000 тактов, то нормально - скажем, при системном клоке 16 МГц это всего 62 мкс. Можно попробовать ограничить число возможных bpm,
округлять к ближайшему, заменить деление умножением+сдвигом и
свести множители в таблицу.

AD5206 не знаю. Чем AD5204 не устраивают ? Вполне доступны.

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #226 : Июня 11, 2009, 09:09:49 pm »
в 5206 6 потенциометров. ставить 2 по 4 не хочется(

а что насчёт 198нт1?

на счёт таблицы - я так делал в цифровых осцилляторах - слишком много памяти кушает)
« Последнее редактирование: Июня 11, 2009, 09:11:23 pm от EternalEngine »

Diz

  • Гость
Diy синтезаторы
« Ответ #227 : Июня 13, 2009, 05:43:36 pm »
Думаю, лучше поставить то, что можно достать. Цена так для несерийного изделия вообще не критична. И с разводкой чуть проще - можно поставить
каждый корпус поближе к сигналу. Если получатся неиспользуемые каналы, то им тоже найдется применение - подстройка/калибровка фильтра, например.

С 198нт1 не знаком.

1-2кб - разве много ? :-)

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #228 : Июня 15, 2009, 01:29:04 am »
ну если учесть что там было всего обин кб SRAM то да))))

Diz

  • Гость
Diy синтезаторы
« Ответ #229 : Июня 15, 2009, 04:54:15 am »
А RAM-то зачем ? Все таблицы во флэш !

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #230 : Июня 15, 2009, 05:03:37 am »
Накопал такую микросхему, она использовалась в старых синтах. Интересно, а что-нибудь типа неё сейчас выпускают?

на счёт флэша- тогда он был забит банками под завязку(, но впринципе сейчас банков то не будет)

Diz

  • Гость
Diy синтезаторы
« Ответ #231 : Июня 16, 2009, 01:25:42 am »
Сомневаюсь. Также как и микросхемы фильтров и т.д.


Каким должен быть динамический диапазон VCA, кто сталкивался ?
Понятно, что в нуле делаем максимальное подавление, а дальше, в рабочей области ? У меня экспоненциальная зависимость для VCA и получается не очень хороший эффект. Скажем, если сделать плавную атаку на ADSR, значительную часть времени ничего не слышно - подползаем к -50дБ. А вот затем довольно естественно выходим к максимуму.  

При линейной зависимости, ясное дело, эффект обратный - быстрое нарастание и долгое малозаметное набирание последних 6 дБ.

Попробовать степенную зависимость типа x^3, x^4 ?
« Последнее редактирование: Июня 16, 2009, 01:26:33 am от Diz »

Tuvalu

  • Гость
Diy синтезаторы
« Ответ #232 : Июня 16, 2009, 02:10:16 am »
Интересная тут у вас тема, разрешите поучаствовать.
Для Diz
Если я правильно понял вопрос, то вот мой ответ (совет):
Для того, чтобы было равномерное на слух регулирование, VCA должен иметь управление вида dB/V. Т.е. при каком-то линейном приросте управляющего U получим равномерный в дБ, а, значит, и на слух, прирост громкости. Такие VCA широко применяются в студийных приборах динамической обработки. Серия THAT218х - самое то. На них есть пару проектов компрессоров на этом форуме. Раньше это была серия THAT215х (2150, 2151, 2155, 2159) - тоже хорошие, их можно найти в старом оборудовании, начиная от примочек БОСС и ....
Если их применять, то ADSR-генераторы должны вырабатывать линейно изменяющиеся сигналы. Так будет намного проще получить плавное равномерное регулирование в очень широком диапазоне, т.к. эти чипы обеспечивают точную децибельную хар-ку по управляющему входу. Плюс к этому - малые шумы.
Цитировать
У меня экспоненциальная зависимость для VCA и получается не очень хороший эффект
Возможно, VCA по управляющему входу нелинейный. Возможно, у него есть какая-то начальная "зона нечувствительности". Кстати, по какой схеме он собран? И точно ли соблюдается экспоненциальный закон упр. сигнала в широком диапазоне?
Как вариант, при линейных сигналах управления и линейном VCA (например, перемножитель или ОТА типа 3080, 13700) необходимо собрать конвертор управляющего напряжения, чтобы получить нужную функцию управления.
Цитировать
Каким должен быть динамический диапазон VCA, кто сталкивался ?
Чем шире, тем лучше, учитывая насыщенный синтюковый "исходник", никак не меньше 60-70дБ. Чипы THAT обеспечат его с большим запасом. Это еще одно их преимущество.
Примерно так... Удачи!
« Последнее редактирование: Июня 16, 2009, 06:21:10 am от Tuvalu »

Diz

  • Гость
Diy синтезаторы
« Ответ #233 : Июня 16, 2009, 06:02:24 am »
You are welcome :-)

Все так, LM13700, линейные ADSR и экспоконвертор. Смотрел в спектралабе,
нарастает как надо, линейно в логарифмическом масштабе. А вот на слух
что-то не так. Возможно, ухо привыкло к укомпрешенному звучанию с динамикой в 6 дБ, хех ?

Вот тут, кстати, тоже упоминается подобный эффект (Theory and Techniques of Electronic Music by Miller Puckette):
http://crca.ucsd.edu/~msp/techniques/lates...tml/node60.html
« Последнее редактирование: Июня 16, 2009, 06:03:10 am от Diz »

Tuvalu

  • Гость
Diy синтезаторы
« Ответ #234 : Июня 16, 2009, 06:37:22 am »
А фиг его знает, товарищ майор! В своих экспериментах (гитарные синтезаторы) я не сталкивался с такой проблемой. Там, видимо, попроще с этим. Может, надо что-то делать с кривой управления (начальный скачок, что ли?). Ну, не компрессировать же синт, в конце-концов.
Цитировать
Возможно, ухо привыкло к укомпрешенному звучанию с динамикой в 6 дБ, хех ?
Ваша правда, есть такая всеобщая тенденция - ужимать все подряд.
 

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #235 : Июня 16, 2009, 01:24:53 pm »
Интересно, а что стоит в Minimoog Voyager? не думаю что там всё на операционниках... кто нибуд кстати видел от него сервис мануал?

Diz

  • Гость
Diy синтезаторы
« Ответ #236 : Июня 16, 2009, 03:17:37 pm »
Думаю так и сделать, начальный скачок. В нуле максимальное подавление,
затем 1/8 диапазона подъем линейно до -50dB, а затем уже экспонента.
Впрочем, попробую выложить вечером сэмпл для обсуждения - может, не так все и страшно ?

Попробовал применить ADSR к регулятору гейна на цифровом потенциометре (256 позиций, с движка на землю нагрузочный резистор Rpot/6 для имитации логарифма). Результат приятно удивил - ступенек (zipper noise) на слух не заметно.

Если дело дойдет до следующей ревизии железа, откажусь полностью
от OTA (LM13700) и заменю на цифропоты. Плюс аналоговые осцилляторы
на FPGA/CPLD для уменьшения алиасинга, хех.

EternalEngine, а этот муг какого года ? Современный ?

PS Гитарные синтезаторы тоже было бы очень интересно обсудить, наверное
в другой теме. Немного копал в этом направлении.
« Последнее редактирование: Июня 16, 2009, 03:19:46 pm от Diz »

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #237 : Июня 16, 2009, 04:11:33 pm »
Или Prophet 08 тоже интересно посмотреть что внутри...

http://www.arttechnology.ru/ourcatalog.asp...showmodel&id=40

http://arttechnology.ru/catalog.asp?mode=showmodel&id=8566

насчёт VCA может вот этот поможет http://www.analog.com/static/imported-file...ets/SSM2164.pdf
« Последнее редактирование: Июня 16, 2009, 04:58:44 pm от EternalEngine »

Tuvalu

  • Гость
Diy синтезаторы
« Ответ #238 : Июня 16, 2009, 05:49:42 pm »
По поводу SSM2164. У нее врожденный порок сердца - она при ослаблении 30 с чем-то дБ добавляет к сигналу какой-то мерзкий острый пик. Сам не проверял, это мне рассказал один мой знакомый - отличный инженер, автор нескольких хороших публикаций на тему регулирования. Говорит, что пробовал чипы из разных партий.

Если нужна линейная функция регулирования, то самое лучшее, что я знаю - это 525ПС3 (AD534), но дорогой, собака.  

Читал эту ветку, так там был вопрос про управление 13700. Могу посоветовать филипсовский даташит на NE5517(тот же самый 13600/13700) - там самое подробное описание на эту тему.
« Последнее редактирование: Июня 16, 2009, 05:50:42 pm от Tuvalu »

EternalEngine

  • Гость
Diy синтезаторы
« Ответ #239 : Июня 16, 2009, 06:57:33 pm »
да, 525ПС3 50р стоит вроде сейчас, и шумит на порядок меньше чем любой ОТА)

За NE5517 спасибо, а то методом научного тыка всё делал.


VCF, VCO
вот кстати как работало всё это дело
« Последнее редактирование: Июня 16, 2009, 07:16:08 pm от EternalEngine »