DIYFACTORY.RU |
|
|
|
|
|
|
|
|
|
( | ) |
: (18) « ... 13 14 [15] 16 17 ... » ( ) |
Diz | |
Unregistered : |
Матрица модуляции и прочее давно есть. Интерфейс примерно так и
выглядит, экран, четыре параметра и под ними четыре энкодера. Те параметры, которые сейчас на экране, энкодерами и рулятся. На экране с adsr так и есть, энкодеры соответствуют attack/delay/sustain/release. Плюс есть четыре (?) потенциометра, которые можно назначить на любой (почти) параметр в рамках пресета - они работают независимо от экрана. Я имел в виду назначение CC, чтобы рулить параметрами извне. Но вроде тоже придумал, как оно будет - утрясаю детали. Суть такая: есть дефолтные назначения CC, применимые ко всем пресетам. Но в каждом пресете можно переназначить какие-то CC на другие параметры - действует это переназначение только в рамках пресета. Sysex не будет, не вижу нужды. Копировать/загружать патчи можно по USB - при подключении синт виден как флешка, пресеты лежат в соответствующих директориях. И выглядят как текстовые .ini файлы, так что можно и из блокнота подкорректировать :-) Ни под каким Proteus-ом проект не взлетит, хехе. Интерфейс сознательно минималистичный, никакой графики - текст, линии, ничего лишнего. Но фотографии попробую сделать. |
|
Diz | |
Unregistered : |
GUI:
|
|
Diz | |
Unregistered : |
Об имитации плаванья (drift-а) аналоговых осцилляторов.
Основная проблема в характере модуляции частоты. Требуется плавная модуляция, не имеющая явно выраженных ступенек и явно выраженной частоты. Можно, конечно, использовать random (step) lfo, сглаженное фильтром, но частота lfo будет явно прослеживаться в сигнале. Пришла в голову следующая идея. Берем генератор псевдослучайных чисел, но используем число на выходе не непосредственно для модуляции, а для задания направления смещения частоты. Иначе говоря: если генератор выдал четное число, увеличиваем частоту осциллятора. Выдал нечетное - уменьшаем. Таким образом, мы получаем плавное изменение частоты (она никогда не меняется более, чем на единицу). Что еще более важно, в модулирующем сигнале будут присутствовать воздействия разных масштабов. А можно представить это в виде интегратора, на которые подаются ступеньки +1/-1. Получается почти классический random walk-алгоритм ! Обычно объясняется на примере с пьяницей, который делает случайный шаг в случайную сторону и выписывает замысловатую непредсказуемую траекторию. Разница лишь в том, что пьяница рано или поздно доберется до канавы, нам же нужно в среднем оставаться на месте (интегратор не должен уйти в насыщение). На помощь приходит генератор псевдослучайных чисел в виде сдвигового регистра (m-последовательность максимальной длины). Тактируя регистр длиной n бит, на каждом шаге получаем случайное число от 1 до 2^(n-1). Более того, регистр выдает все числа от 1 до 2^(n-1) в случайном порядке ни разу не повторяясь. А после 2^(n-1) шагов вся последовательность начинается заново. Получается, что за период повторения последовательности мы получим равное число четных и нечетных чисел (точнее, нечетных на одно больше, что легко учесть). Таким образом, частота осциллятора будет всегда в среднем оставаться на месте, никуда не уползая. А сам закон плаванья частоты будет определяться видом m-последовательности. Для примера, 16-битный регистр с обратной связью на 16, 15, 12 и 1 отводах даст такую картинку: А это 16, 15, 12, 10: Если тактировать такой генератор с частотой 10 Гц, то последовательность повторится через 6554с (1.8 часа). Можно и немного отфильтровать сигнал, если окажется слишком грубым. Прошлая последовательность с ФНЧ: В железе еще не пробовал. Что скажете (кроме того, что надо пробовать :-) ? Diz - 5.11.2009 - 07:24 |
|
BSVi | |
Unregistered : |
Мне кажается, что такой ЧМ - очень жесток будет. Спектр будет весь в гармониках. И то, что ты задумаваешь будет полностью аналогично просто подмешиванию шума.
Аналоговое "плавание", насколько я понимаю, имеет совершенно не шумообразный характер. К примеру, термомодуляция зависит от амплитуды сигнала и предыдущей истории сигнала. Получается эдакий терморевер. (в синтезаторах я шарю очень слабо, это - соображения общего характера ) BSVi - 5.11.2009 - 10:51 |
|
Diz | |
Unregistered : |
Попробовал - весьма занятно !
Качаем сэмпл: http://diyfactory.ru/forum/index.php?act=D...download&id=103 Последовательность проигрывалась с частотой 1кГц и влияла на частоту первого осциллятора (максимальный уход не более 10 центов в обе стороны). Второй осциллятор имел фиксированную частоту и звучал в унисон с первым. Период повторения последовательности, таким образом, около минуты. Diz - 5.11.2009 - 12:14 |
|
General Dead | |||
Unregistered : |
Неплохо я так примерно и думал, можно за пример взять GUI с Waldorf Blofeld,удобно сделано и информативно, но у него 2энкодера под дисплеем. Хотя скорее всего ты в курсе, т.к твой GUI похож . ADSR MOD Matrix Ну и тут остальные картинки http://www.waldorfmusic.de/en/products/blo..._user_interface Если интересно могу GUI с сэммплера сфотать, там 5 энкодеров и дисплей 320х80 General Dead - 5.11.2009 - 18:25 |
||
|
Diz | |
Unregistered : |
Черт, насколько похоже ! Включая полоску под названием экрана, честно взятую у iPod mini :-) Этот Waldorf (да и ничего похожего) не видел и до такого интерфейса дошел независимо.
Из интерфейса осталось реализовать секвенсор (3 трека/16 шагов). Было бы интересно взглянуть, как это сделано в Waldorf. С другой стороны, лучше подождать несколько дней, пока доделаю секвенсор, и уж затем сравнить. Самостоятельный вариант может получиться не менее интересным :-) Попутно пара вопросов. Где бы разжиться интересными волновыми формами для wavetable-осциллятора ? Традиционные формы (saw, square, sine и т.д.) прикрутил, но осталось еще много свободных слотов (не считая 30 юзерских форм). Надо что-то, от чего можно отталкиваться. Подходят любые 16-битные pcm, из них будут проигрываться в цикле первые 256 сэмплов. Где бы достать хороший пиксельный шрифт. Сейчас у меня использован замечательный шрифт standard_07 (miniml.com), но он коммерческий - хотелось бы что-то фришное. Все остальные использованные компоненты бесплатные/открытые, не хочется портить free/open source идиллию несчастным шрифтом :-) |
|
General Dead | |
Unregistered : |
Есть полно волновых форм для синтезатора Rapture от CakeWalk, там один период волны засэмплирован в Wav, есть куча wavetable для Waldorf Microwave в формате VSTI Komplexer, я думаю можно переконвертить в wav, там raw наверное.
Ну исамому нарисовать в sound forge\wave lab можно). ЗЫ В Waldorf Blofeld нету секвенсера, есть только ARP программируемый на 16 шагов. |
|
Diz | |
Unregistered : |
Спасибо, посмотрю. Давно я уже не общался с VSTi-шками :-)
|
|
General Dead | |
Unregistered : |
Да я тоже давно), просто оставил волны, думал в сэмплер пихать но толку в нем от них мало. Вообще как бы от статичных волн толку немного, у меня есть аддитивный синт Kawai k5000s, он любую волну может синтезировать, но вся фишка красивого звука не в вычурной волне, а именно в динамике этих волн. Грубо говоря пила с детюном\хорусом звучит уже интереснее обычной голой пилы.
Кстати унисон\хорус в синте предусмотрен? ЗЫ волны могу выложить архивом куданить General Dead - 6.11.2009 - 19:05 |
|
Diz | |
Unregistered : |
Для унисона разве что настроить осцилляторы на одну частоту (с небольшим detune или drift, как в сэмпле выше).
Хоруса (как и каких-нибудь эффектов) тоже нет. Сигнал рождается в цифре, выходит в аналог и аналога не покидает (идет на микшер, vca, vcf). Есть мысли поиграть с чем-то негармоническим (интересные волны были absynth). Либо с кучей гармоник, как у органа. Если еще и FM такими штуками делать, может быть любопытно. А еще можно те же волны использовать для LFO - тут уже совсем другие эффекты. За архив скажу спасибо :-) Diz - 7.11.2009 - 06:43 |
|
General Dead | |
Unregistered : |
А если попробовать создавать копии генерируемого сигнала и сдвигать ихпо фазе\частоте, что бы при этом изначальная полифония не страдала.
Хорус можно аналоговый сделать на ПЗС . Кстати коротко спецификацию на синт можно? Ну там что из себя представляет...Моно\поли,количество ADSR\LFO\VCO, есть ли FM\Ringmod, будут ли waveshaper? Степ модулятор будет? Вот неплохой синт с вейвтейблами и аналоговым фильтром http://www.avrx.se/spec.html В нем вейвшейперами изрядно волны колбасятся, тут и PWM для любой волны и др. ЗЫ в аттаче архив с волнами с Rapture,там есть и ЛФО волны и в папке prosound волны с МиниМуг ( - : 8 ) Rapture.zip |
|
Diz | |
Unregistered : |
Спасибо ! Кажется, с подключение этих волн не будет проблем.
Все эффекты, если понадобится, будут внешние - а это я так никогда не закончу :-) Спецификация на данный момент такая: Моносинт с тремя осцилляторами. Два аналоговых осциллятора (но с цифровым тактированием), формы волны pulse, saw, pulse+saw. Pulse - дергается ножка проца, Saw - ножкой проца сбрасывается аналоговый интегратор. Есть Sync и PWM. Один wavetable осциллятор (вывод через ЦАП). Есть еще один (неслышимый) wavetable осциллятор-модулятор специально для FM и Ring модуляций первого. Огибающих пока что 4 штуки, ADHSR (с pre-delay). Две их них назначены на vca/vcfa, остальные для модуляции. Можно и больше, количество ограничено производительностью проца (в которую еще не уперся). LFO 4 штуки, несколько встроенных волн (включая Random step) + все те волны, которые могут использоваться wavetable-осциллятором. Есть MIDI-sync. Количество тоже можно увеличить. Матрица модуляции с 10 слотами (тоже можно больше). Практически все параметры можно модулировать, в том числе и сами уровни модуляции. Секвенсор (3 трека / 16 шагов) для модуляции. Фактически step-модулятор и есть. Нотный секвенсор не особо интересен. Осцилляторы смешиваются в аналоге, затем Moog-образный фильтр и аналоговый VCA. MIDI, GUI, USB :-) Diz - 7.11.2009 - 20:06 |
|
General Dead | |
Unregistered : |
Да, неплохо. Я бы еще добавил 5и ступенчатые AD2DSR, с функцией loop, очень неплохо для переливающихся тембров, в том же Waldorf microQ\Blofeld есть выбор между one shot\ADSR\AD2DSR генераторами, т.еодин енвелопер может либо так либо этак работать/
А какие органы управления кроме 4х энкодеров? Хороший вариант энкодеры+обычные потенциометры. Каку меня в yamaha RM1x, под ЖК стоят 4е энкодера для рулежки и есть еще 8 крутилок аналоговых для быстрого доступа к фильтру\адср...С переключателем групп. |
|
Diz | |
Unregistered : |
ADSR с loop это как ? Во время сустейна повторяется в цикле AD (или AHD) ?
С управлением так и задумываю, 4 энкодера + 4 потенциометра (назначаемых). Они будут на отдельной плате с отдельным процом, который будет передавать их положения основному процу. Пока что вместо этой платы макет с джунглями из МГТФ :-) Diz - 7.11.2009 - 20:41 |
|
General Dead | |||
Unregistered : |
Да используется два Decay с своимиу ровнями и между ними loop. |
||
|
Diz | |
Unregistered : |
Понятно. Думаю, что это у меня тоже можно имитировать - плавно ввести LFO (назначив еще одну огибающую на уровень LFO).
|
|
Diz | |
Unregistered : |
Перевел wav'ы в свой формат (16 бит, 256 сэмплов на период), попробовал.
Органные и FM волны отличные, спасибо. |
|
General Dead | |
Unregistered : |
Дык есть еще wavetable от Waldorf,но они там в своем формате WT, но в принципе я думаю расковырять можно с помощью awave или sound forge.
Ну и ВСТ синт Surge тоже типа Rapture с волнами, если нужно могу поискать. General Dead - 10.11.2009 - 20:37 |
|
: (18) « ... 13 14 [15] 16 17 ... » |