Код Хэмминга – не цель этой статьи. Я лишь хочу на его примере познакомить вас с самими принципами кодирования. Но здесь не будет строгих определений, математических формулировок и т.д. Эта просто неплохой трамплин для понимания более сложных блочных кодов.
Читать полностью »
Рубрика «цифровая обработка сигналов» - 2
Помехоустойчивое кодирование. Часть 1: код Хэмминга
2016-11-03 в 11:05, admin, рубрики: кодирование хаффмана, логические операции, поле галуа, помехи, Программирование, связь, цифровая обработка сигналов, метки: кодирование хаффманаПрограммирование&Музыка: Delay, Distortion и модуляция параметров. Часть 4
2016-10-22 в 1:18, admin, рубрики: .net, CLIP, delay, distortion, dsp, LFO, overdrive, VST, VST .NET, VSTi, Алгоритмы, дилэй, дисторшн, модуляция параметров, Программирование, синтез звука, Синтезатор, цифровая обработка сигналовВсем привет! Вы читаете четвертую часть статьи про создание VST-синтезатора на С#. В прошлых частях мы генерировали сигнал, применяли к нему амплитудную огибающую и фильтр частот.
В этот раз мы рассмотрим эффекты Distortion — искажение сигнала, знакомое любому электрогитаристу и Delay (оно же эхо).
Множество различных интересных звучаний можно получить, если менять (модулировать) значения параметров составляющих частей синтезатора (генератора, фильтра, эффектов) во времени. Рассмотрим вариант, как это можно сделать.
Исходный код написанного мною синтезатора доступен на GitHub'е.
Скриншот VST плагина GClip
Программирование&Музыка: Частотный фильтр Баттервота. Часть 3
2016-10-19 в 1:40, admin, рубрики: .net, dsp, VST, VST .NET, VSTi, Алгоритмы, Программирование, синтез звука, Синтезатор, фильтр баттервота, фильтр частот, цифровая обработка сигналовВсем привет!
Вы читаете третью часть статьи про создание VST-синтезатора на С#. В предыдущих частях был рассмотрен SDK и библиотеки для создания VST плагинов, рассмотрено программирование осциллятора и ADSR-огибающей для управления амплитудой сигнала.
В этой части я расскажу, как рассчитать и закодить фильтр частот, без которого не обходится ни один синтезатор. А без эквалайзера немыслима обработка звука.
Будет рассмотрен исходный код и применение эквалайзера из библиотеки NAudio (библиотека для работы со звуком под .NET).
Внимание — будет много матана — будем рассчитывать формулы для коэффициентов фильтра.
Исходный код написанного мною синтезатора доступен на GitHub'е.
Скриншот VST плагина-эквалайзера Fab Filter Pro Q
Программирование&Музыка: ADSR-огибающая сигнала. Часть 2
2016-10-05 в 1:06, admin, рубрики: .net, ADSR, dsp, VST, VST .NET, VSTi, Алгоритмы, метки .NET, огибающая, Программирование, синтез звука, Синтезатор, цифровая обработка сигналов, метки: метки .NETВсем привет!
Вы читаете вторую часть статьи про создание VST-синтезатора на С#. В первой части был рассмотрен SDK и библиотеки для создания VST плагинов, рассмотрено программирование осциллятора.
В этой части я расскажу про огибающие сигнала, их разновидности, применение в обработке звука. В статье будет рассмотрено программирование ADSR-огибающей для управления амплитудой сигнала, генерируемого осциллятором.
Огибающие есть в любом синтезаторе, применяются не только в синтезе, а повсеместно обработке звука.
Исходный код написанного мною синтезатора доступен на GitHub'е.
Программирование&Музыка: понимаем и пишем VSTi синтезатор на C# WPF. Часть 1
2016-09-28 в 11:00, admin, рубрики: .net, dsp, VST, VST .NET, VSTi, Алгоритмы, Программирование, синтез звука, Синтезатор, цифровая обработка сигналовЗанимаясь музыкальным творчеством, я часто делаю аранжировки и записи на компьютере — используя кучу всяких VST плагинов и инструментов. Стыдно признаться — я никогда не понимал, как "накручивают" звуки в синтезаторах. Программирование позволило мне написать свой синтезатор, "пропустить через себя" процесс создания звука.
Я планирую несколько статей, в которых будет пошагово рассказано, как написать свой VST плагин/инструмент: программирование осциллятора, частотного фильтра, различных эффектов и модуляции параметров. Упор будет сделан на практику, объяснение программисту простым языком, как же все это работает. Теорию (суровые выводы и доказательства) обойдем стороной (естественно, будут ссылки на статьи и книги).
Обычно плагины пишутся на C++ (кроссплатформенность, возможность эффективно реализовать алгоритмы), но я решил выбрать более подходящий для меня язык — C#; сфокусироваться на изучении самого синтезатора, алгоритмов, а не технических деталей программирования. Для создания красивого интерфейса я использовал WPF. Возможность использования архитектуры .NET дала возможность библиотека-обертка VST. NET.
Ниже представлен обзорный ролик моего простого синтезатора, полученных интересных звучаний.
Предстоит нелегкий путь, если вы готовы — добро пожаловать под кат.
Измерим гармонию — анализатор звукового спектра на STM32L4 Discovery
2016-03-08 в 19:46, admin, рубрики: diy или сделай сам, dsp, fft, freertos, ili9341, open source, stm32, гаджеты, Носимая электроника, Программирование, цифровая обработка сигналовВ предыдущей публикации мы подключали дешевый китайский LCD экран к плате STM32L4 Discovery. Теперь мы попробуем реализовать на этой комбинации что-то выходящее за рамки традиционного моргания светодиодом, а именно анализатор звукового спектра, который использует имеющийся на плате микрофон. Заодно я расскажу, как пользоваться операционной системой FreeRTOS, и зачем она нужна, а также почему в нотной октаве 12 нот, и чем 53 ноты лучше, чем 12.