
DIYFACTORY.RU |
ФОРУМ |
УЧАСТНИКИ |
ПОМОЩЬ |
КАЛЕНДАРЬ |
ПОИСК |
ГАЛЕРЕЯ |
ФАЙЛЫ |
ПРАВИЛА |
РЕПУТАЦИЯ
|
Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Страницы: (18) « Первая ... 10 11 [12] 13 14 ... Последняя » ( Перейти к первому непрочитанному сообщению ) | ![]() ![]() ![]() |
Diz |
Дата 8.06.2009 - 16:52
|
Unregistered ќткуда: ![]() |
Без деления может не получиться.
Как реализовано LFO - как DDS (фазовый аккумулятор + вывод по таблице) ? Как это сделано у меня. Пересчет параметров (в том числе нового значения LFO) каждую миллисекунду. Есть отдельный высокоскоростной таймер (f=200 kHz), одна из его функций измерять время между приходами соседних миди клоков. Измеренные тики сглаживаются простым фильтром типа скользящего среднего (так как миди-клок может и будет плавать). Затем смотрится, на какой позиции находится LFO - сколько осталось до окончания цикла. И сколько миди-клоков должно придти до окончания цикла. И определяется новый инкремент для фазового аккумулятора LFO так, чтобы миди клок и LFO засинхронизировались ровно через цикл LFO. В итоге получается очень мягкая синхронизация, как будто музыкант догоняет или подтормаживает свою партию так, чтобы со следующего такта вступить со всеми одновременно. А четкая синхронизация на каждый миди-клок звучит очень грубо с большим джиттером, не рекомендую. В коде есть одно целочисленное деление. |
|
EternalEngine |
Дата 9.06.2009 - 15:18
|
Unregistered ќткуда: ![]() |
а какого порядка? интересно, сколько циклов на него потратит 8 бит AVR ядро?
И зачем такая высокая ч-та? 1кгц не хватит? Это сообщение отредактировал EternalEngine - 9.06.2009 - 16:37 |
|
Diz |
Дата 9.06.2009 - 19:25
|
Unregistered ќткуда: ![]() |
В принципе, хватит - но так исторически сложилось.
Попробую прикинуть. За один такт нам приходит 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. Это сообщение отредактировал Diz - 9.06.2009 - 19:49 |
|
EternalEngine |
Дата 11.06.2009 - 15:03
|
Unregistered ќткуда: ![]() |
Вроде всё правильно. это выходит порядка 1000 тактов на одну операцию деления 16 разрядном аккумуляторе?
![]() скоро зарплатэ) вот подумал, а можно ли заменить ca3046 на 198нт1 в экспоконверторе осциллятора? там на ней ещё термостабилизация сделана... схемка там ниже лежит. Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() |
|
EternalEngine |
Дата 11.06.2009 - 15:47
|
Unregistered ќткуда: ![]() |
да, и не знаешь где можно добыть AD5206BN, их даже на заказ найти не могу...
|
|
Diz |
Дата 11.06.2009 - 16:21
|
Unregistered ќткуда: ![]() |
Если 1000 тактов, то нормально - скажем, при системном клоке 16 МГц это всего 62 мкс. Можно попробовать ограничить число возможных bpm,
округлять к ближайшему, заменить деление умножением+сдвигом и свести множители в таблицу. AD5206 не знаю. Чем AD5204 не устраивают ? Вполне доступны. |
|
EternalEngine |
Дата 11.06.2009 - 20:09
|
Unregistered ќткуда: ![]() |
в 5206 6 потенциометров. ставить 2 по 4 не хочется(
а что насчёт 198нт1? на счёт таблицы - я так делал в цифровых осцилляторах - слишком много памяти кушает) Это сообщение отредактировал EternalEngine - 11.06.2009 - 20:11 |
|
Diz |
Дата 13.06.2009 - 16:43
|
Unregistered ќткуда: ![]() |
Думаю, лучше поставить то, что можно достать. Цена так для несерийного изделия вообще не критична. И с разводкой чуть проще - можно поставить
каждый корпус поближе к сигналу. Если получатся неиспользуемые каналы, то им тоже найдется применение - подстройка/калибровка фильтра, например. С 198нт1 не знаком. 1-2кб - разве много ? :-) |
|
EternalEngine |
Дата 15.06.2009 - 00:29
|
Unregistered ќткуда: ![]() |
ну если учесть что там было всего обин кб SRAM то да))))
|
|
Diz |
Дата 15.06.2009 - 03:54
|
Unregistered ќткуда: ![]() |
А RAM-то зачем ? Все таблицы во флэш !
|
|
EternalEngine |
Дата 15.06.2009 - 04:03
|
Unregistered ќткуда: ![]() |
Накопал такую микросхему, она использовалась в старых синтах. Интересно, а что-нибудь типа неё сейчас выпускают?
на счёт флэша- тогда он был забит банками под завязку(, но впринципе сейчас банков то не будет) Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|
Diz |
Дата 16.06.2009 - 00:25
|
Unregistered ќткуда: ![]() |
Сомневаюсь. Также как и микросхемы фильтров и т.д.
Каким должен быть динамический диапазон VCA, кто сталкивался ? Понятно, что в нуле делаем максимальное подавление, а дальше, в рабочей области ? У меня экспоненциальная зависимость для VCA и получается не очень хороший эффект. Скажем, если сделать плавную атаку на ADSR, значительную часть времени ничего не слышно - подползаем к -50дБ. А вот затем довольно естественно выходим к максимуму. При линейной зависимости, ясное дело, эффект обратный - быстрое нарастание и долгое малозаметное набирание последних 6 дБ. Попробовать степенную зависимость типа x^3, x^4 ? Это сообщение отредактировал Diz - 16.06.2009 - 00:26 |
|
Tuvalu |
Дата 16.06.2009 - 01:10
|
||||
Unregistered ќткуда: ![]() |
Интересная тут у вас тема, разрешите поучаствовать. Для Diz Если я правильно понял вопрос, то вот мой ответ (совет): Для того, чтобы было равномерное на слух регулирование, VCA должен иметь управление вида dB/V. Т.е. при каком-то линейном приросте управляющего U получим равномерный в дБ, а, значит, и на слух, прирост громкости. Такие VCA широко применяются в студийных приборах динамической обработки. Серия THAT218х - самое то. На них есть пару проектов компрессоров на этом форуме. Раньше это была серия THAT215х (2150, 2151, 2155, 2159) - тоже хорошие, их можно найти в старом оборудовании, начиная от примочек БОСС и .... Если их применять, то ADSR-генераторы должны вырабатывать линейно изменяющиеся сигналы. Так будет намного проще получить плавное равномерное регулирование в очень широком диапазоне, т.к. эти чипы обеспечивают точную децибельную хар-ку по управляющему входу. Плюс к этому - малые шумы.
Возможно, VCA по управляющему входу нелинейный. Возможно, у него есть какая-то начальная "зона нечувствительности". Кстати, по какой схеме он собран? И точно ли соблюдается экспоненциальный закон упр. сигнала в широком диапазоне? Как вариант, при линейных сигналах управления и линейном VCA (например, перемножитель или ОТА типа 3080, 13700) необходимо собрать конвертор управляющего напряжения, чтобы получить нужную функцию управления.
Чем шире, тем лучше, учитывая насыщенный синтюковый "исходник", никак не меньше 60-70дБ. Чипы THAT обеспечат его с большим запасом. Это еще одно их преимущество. Примерно так... Удачи! Это сообщение отредактировал Tuvalu - 16.06.2009 - 05:21 |
||||
|
Diz |
Дата 16.06.2009 - 05:02
|
Unregistered ќткуда: ![]() |
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 Это сообщение отредактировал Diz - 16.06.2009 - 05:03 |
|
Tuvalu |
Дата 16.06.2009 - 05:37
|
||
Unregistered ќткуда: ![]() |
А фиг его знает, товарищ майор! В своих экспериментах (гитарные синтезаторы) я не сталкивался с такой проблемой. Там, видимо, попроще с этим. Может, надо что-то делать с кривой управления (начальный скачок, что ли?). Ну, не компрессировать же синт, в конце-концов.
Ваша правда, есть такая всеобщая тенденция - ужимать все подряд. |
||
|
EternalEngine |
Дата 16.06.2009 - 12:24
|
Unregistered ќткуда: ![]() |
Интересно, а что стоит в Minimoog Voyager? не думаю что там всё на операционниках... кто нибуд кстати видел от него сервис мануал?
|
|
Diz |
Дата 16.06.2009 - 14:17
|
Unregistered ќткуда: ![]() |
Думаю так и сделать, начальный скачок. В нуле максимальное подавление,
затем 1/8 диапазона подъем линейно до -50dB, а затем уже экспонента. Впрочем, попробую выложить вечером сэмпл для обсуждения - может, не так все и страшно ? Попробовал применить ADSR к регулятору гейна на цифровом потенциометре (256 позиций, с движка на землю нагрузочный резистор Rpot/6 для имитации логарифма). Результат приятно удивил - ступенек (zipper noise) на слух не заметно. Если дело дойдет до следующей ревизии железа, откажусь полностью от OTA (LM13700) и заменю на цифропоты. Плюс аналоговые осцилляторы на FPGA/CPLD для уменьшения алиасинга, хех. EternalEngine, а этот муг какого года ? Современный ? PS Гитарные синтезаторы тоже было бы очень интересно обсудить, наверное в другой теме. Немного копал в этом направлении. Это сообщение отредактировал Diz - 16.06.2009 - 14:19 |
|
EternalEngine |
Дата 16.06.2009 - 15:11
|
Unregistered ќткуда: ![]() |
Или 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 Это сообщение отредактировал EternalEngine - 16.06.2009 - 15:58 |
|
Tuvalu |
Дата 16.06.2009 - 16:49
|
Unregistered ќткуда: ![]() |
По поводу SSM2164. У нее врожденный порок сердца - она при ослаблении 30 с чем-то дБ добавляет к сигналу какой-то мерзкий острый пик. Сам не проверял, это мне рассказал один мой знакомый - отличный инженер, автор нескольких хороших публикаций на тему регулирования. Говорит, что пробовал чипы из разных партий.
Если нужна линейная функция регулирования, то самое лучшее, что я знаю - это 525ПС3 (AD534), но дорогой, собака. Читал эту ветку, так там был вопрос про управление 13700. Могу посоветовать филипсовский даташит на NE5517(тот же самый 13600/13700) - там самое подробное описание на эту тему. Это сообщение отредактировал Tuvalu - 16.06.2009 - 16:50 |
|
EternalEngine |
Дата 16.06.2009 - 17:57
|
Unregistered ќткуда: ![]() |
да, 525ПС3 50р стоит вроде сейчас, и шумит на порядок меньше чем любой ОТА)
За NE5517 спасибо, а то методом научного тыка всё делал. VCF, VCO вот кстати как работало всё это дело Это сообщение отредактировал EternalEngine - 16.06.2009 - 18:16 Присоединённый файл ( Кол-во скачиваний: 15 ) ![]() |
|
![]() |
![]() ![]() ![]() |