Веб-синтезатор с открытым исходным кодом, созданный с помощью React, TypeScript и Tone.js. Этот полисинт включает в себя два генератора, которые можно сыграть в тандеме, нажимая клавиши на пианино. Каждый осциллятор имеет четыре формы волны на выбор и направляется через амплитудную оболочку, биквадратический фильтр и эквалайзер из трех бин, позволяющий полный контроль над формой и частотами звука. Звук может быть изменен дальше с помощью эффектов, включая задержку обратной связи, битовой пуш, искажения и реверберации. Вывод инструмента также визуализируется на дисплее, в то время как ноты воспроизводятся.
Живая демонстрация

Синтезаторы могут быть довольно пугающими, если вы не знакомы с ними, но довольно просты, как только вы понимаете, что все делает. Если вы новичок в синтезаторах, я рекомендую начать, воспроизводив клавиши с настройками по умолчанию и медленно настраивая основные настройки, такие как формы волны генератора или игра с эффектами с примерно 30% на соответствующей мокрой ручке. Будьте осторожны, чтобы не вносить слишком много радикальных изменений в настройках, которые вы не понимаете, потому что это может быть очень громким!
A single cycle waveform looped to match a specific pitch which creates the synthesizer's base voices.
Форма звука вывода генератором. Можно установить на: синус, квадратный, треугольник или пиломурку.
Выход громкости осциллятора в децибелах.
Начальная позиция в цикле генератора в градусах. Например, фаза 180 ° начнется на полпути через цикл генератора.
Сигнал управления определения в центах. Например, распущен 100 центов изменит звук вперед на полшага.
Совет: попробуйте установить один осциллятор на -1200, а другой -1200 для прохладного эффекта!
An amplitude envelope which shapes the attack, decay, sustain, and release of the sound.
Количество времени, которое требуется для конверта, чтобы достичь максимального значения за считанные секунды.
После части атаки конверта значение упадет в течение времени распада до его устойчивой ценности за считанные секунды.
Значение, в котором конверт опирается после атаки конверта, запускается перед выпуском.
Количество времени, которое требуется, чтобы конверт упал на его минимальное значение за считанные секунды.
A biquad filter which blocks certain frequencies while allowing others to pass through.
График, который визуализирует частотные данные (FFT) и частотную характеристику фильтра. Ось Y-это децибел, а ось X-частота в Герце (шкала логарифмического базы 10).
Форма фильтра. Может быть установлен на: Allpass, Lowpass, Highpass, Lowleaff, Highsleffice, Notch или BandPass.
ПРИМЕЧАНИЕ. Некоторые типы не зависят от определенных настроек, например, Allpass позволяет всем частотам, независимо от настройки.
Капля в децибелс на октаву.
Q или коэффициент качества фильтра.
Частота, в которой фильтр падает.
Отношение выходной мощности к входной мощности сигнала в децибелах.
A feedback delay which postpones a signal and can feed the signal back into itself.
Процент сигнала эффекта, который пройдет на выход. 0% не имеет эффекта, и 100% вытащит эффект только без исходного сигнала.
Количество времени между исходным сигналом и отсроченным сигналом в миллисекундах.
Количество сигнала, которое возвращается к входу эффекта.
BitCrusher down-samples the incoming signal to a different bit depth. Lowering the bit depth of the signal creates distortion.
Процент сигнала эффекта, который пройдет на выход. 0% не имеет эффекта, и 100% вытащит эффект только без исходного сигнала.
Глубина эффекта.
A simple effect which alters a signal creating a distorted sound.
Процент сигнала эффекта, который пройдет на выход. 0% не имеет эффекта, и 100% вытащит эффект только без исходного сигнала.
Процент интенсивности искажений.
A simple convolution which emulates the sound in a closed space with decaying noise.
Процент сигнала эффекта, который пройдет на выход. 0% не имеет эффекта, и 100% вытащит эффект только без исходного сигнала.
Продолжительность реверберации за считанные секунды.
An EQ3 which provides three isolated frequency bins and can boost them, lower them, or leave them unchanged.
Усиление в децибелах для каждой частотной мусорной корзины.
Низкая/средняя частота кроссовера.
Средняя/высокая частота кроссовера.
Мастер -объем синтезатора.
Базовая октава синтезатора.
Ключи можно сыграть, нажав/касаясь их, с клавиатурой MIDI или с клавиатурой компьютера с горячими клавишами, показанными ниже.
Ручки могут быть перевернуты, нажав/касаясь и перетаскивания, или парить над ними с помощью мыши и прокрутки.
Удерживая сдвиг при прокрутке, поворачивая ручки быстрее.
Ползунки можно перемещать вверх и вниз, щелкнув/касаясь и перетаскивая или парят над ними с помощью мыши и прокрутки.
Удерживая сдвиг при прокрутке движения ползунков быстрее.
Этот проект был создан в виде портфеля для практики и изучения новых навыков развития фронта, в частности, с использованием React.js и TypeScript. Я также хотел ограничить использование внешних библиотек и использовать все пользовательские CSS для стиля.
Среда
Веб -фреймворк
Язык
Тестирование
Не стесняйтесь вносить свой вклад, отправляя проблемы или вытягивайте запросы на GitHub. Предложения по улучшениям и конструктивной критике приветствуются!
Вы можете связаться со мной, отправив мне сообщение на Linked In.