Записи с меткой: Renoise
Ray Nickkols,
04-06-2011 12:10
(ссылка)
Мышите - не мышите (подходы к борьбе с альясингом в MIDI)
Наверняка многие, пищущие музыку на компьютере или даже на железках и управляя параметрами инструментов через MIDI протокол сталкивались с таким эффектом как aliasing - ступенчатое изменение параметра, связанное с дискретностью передаваемых данных MIDI протоколом. На рядовой CC (осноной тип контроллеров) приходится 128 значений (0-127) или по другому - 7 bit (не помню, но сдается мне еще один бит ушел куда то по служебным делам).
http://ru.wikipedia.org/wiki/MIDI
http://en.wikipedia.org/wiki/General_MIDI
Все это приводит к ступенчатому изменению параметров - яркий пример управление фильтром - Cutoff через выкрученный на половину резонанс. На некоторых значениях при поворотах ручки слышно как звук изменяется шажками, а не непрерывно. Естественно реализма это не добавляет. Простой пример - управление синтезатором Nord Lead/Rack 2/2x ручками с собственной панели или по MIDI (с внешней MIDI клавиатуры).
Собственно существуют и разные решения данной проблемы, о чем хочется немного рассказать.
1.Это расширение существующего стандарта MIDI в плане повышения разрядности контроллеров, например до 12, 14 16 бит. Например тот же протокол Mackie, поддерживаемый профессиональным цифровым оборудованием (микшеры) - обеспечивает 1024 значения контроллера вместо 128 (10 бит - уже лучше).
http://www.mackie.com/products/mcupro/mcupro_faq.html
Также есть довольно дорогие контроллеры Euphonix (которые теперь прибрал к рукам концерн AVID) http://www.avid.com/US/products/Artist-Mix - там свой протокол EUCON - что то наподобии AUTOMAP у Novation - тоже имеет повышенное разрешение контроллеров.
Минус всего этого - требуется расширенная поддержка со стороны ПО.
2.Некоторые програмные инструменты имеют функцию интерполяции MIDI - при этом промежуточные значения вычисляются и диапазон становится больше на кратное число раз (в 2 , 4 и т.д. раза), пример - модульный инструмент NI Reaktor.
3.Исследуя свой любимый хост-трекер Renoise я обнаружил там, что эффект фильтра и модули автоматизации, которые напрямую получают доступ к параметрам VST плугинов управляются с контроллера так, что никаких ступенек в звуке не слышно. Повнимателней глянув, я обнаружил что там используется все те же 128 значений контроллера, а гладкость звука достигается засчетр разбивки всего диапазона не на равные части (20000Гц/128 = 156,25 Гц), а в некоей прогрессии, похожей на логарифмическую. При этом в у нижней границы диапазона одному делению MIDI шкалы соответсвует изменение на 1-5 Гц, а у верхней границы - 500-1000 Гц. Учитывая нелинейную природу человеческого слуха получаем вполне плавный результат.
Собственно, чтобы все вышеприведенное не было слишком абстрактно нашел таки пару примеров. Звук одного старого виртуального инструмента (эмулятор Roland Juno-6, собранный в реакторе кем-то когда-то и очень наглядно демонстирует альясинг). В одном примере закрытие фильтра (Cutoff) управлялось с миди клавиатуры серез MIDI CC назначенные в реакторе на фильтр через Learn, а в другом случае использовался встроенный плагин Renoise для автоматизации (в этом случае хост управлял VST инструментом, получая доступ к параметрам управления изнутри).
Test_MIDI.wav - управление по "MIDI" (пример утрированный, контроллер управлялся с ручки в реальном времени, но суть понятна).
Test_MIDI
Test_Autom.wav - Управление через автоматизацию.
Test_Autom
P.S. на удивление, упрвление внешним инструментом по MIDI из Host'а не вызвало какой-либо ступенчатости как изначально ожидалось
http://ru.wikipedia.org/wiki/MIDI
http://en.wikipedia.org/wiki/General_MIDI
Все это приводит к ступенчатому изменению параметров - яркий пример управление фильтром - Cutoff через выкрученный на половину резонанс. На некоторых значениях при поворотах ручки слышно как звук изменяется шажками, а не непрерывно. Естественно реализма это не добавляет. Простой пример - управление синтезатором Nord Lead/Rack 2/2x ручками с собственной панели или по MIDI (с внешней MIDI клавиатуры).
Собственно существуют и разные решения данной проблемы, о чем хочется немного рассказать.
1.Это расширение существующего стандарта MIDI в плане повышения разрядности контроллеров, например до 12, 14 16 бит. Например тот же протокол Mackie, поддерживаемый профессиональным цифровым оборудованием (микшеры) - обеспечивает 1024 значения контроллера вместо 128 (10 бит - уже лучше).
http://www.mackie.com/products/mcupro/mcupro_faq.html
Также есть довольно дорогие контроллеры Euphonix (которые теперь прибрал к рукам концерн AVID) http://www.avid.com/US/products/Artist-Mix - там свой протокол EUCON - что то наподобии AUTOMAP у Novation - тоже имеет повышенное разрешение контроллеров.
Минус всего этого - требуется расширенная поддержка со стороны ПО.
2.Некоторые програмные инструменты имеют функцию интерполяции MIDI - при этом промежуточные значения вычисляются и диапазон становится больше на кратное число раз (в 2 , 4 и т.д. раза), пример - модульный инструмент NI Reaktor.
3.Исследуя свой любимый хост-трекер Renoise я обнаружил там, что эффект фильтра и модули автоматизации, которые напрямую получают доступ к параметрам VST плугинов управляются с контроллера так, что никаких ступенек в звуке не слышно. Повнимателней глянув, я обнаружил что там используется все те же 128 значений контроллера, а гладкость звука достигается засчетр разбивки всего диапазона не на равные части (20000Гц/128 = 156,25 Гц), а в некоей прогрессии, похожей на логарифмическую. При этом в у нижней границы диапазона одному делению MIDI шкалы соответсвует изменение на 1-5 Гц, а у верхней границы - 500-1000 Гц. Учитывая нелинейную природу человеческого слуха получаем вполне плавный результат.
Собственно, чтобы все вышеприведенное не было слишком абстрактно нашел таки пару примеров. Звук одного старого виртуального инструмента (эмулятор Roland Juno-6, собранный в реакторе кем-то когда-то и очень наглядно демонстирует альясинг). В одном примере закрытие фильтра (Cutoff) управлялось с миди клавиатуры серез MIDI CC назначенные в реакторе на фильтр через Learn, а в другом случае использовался встроенный плагин Renoise для автоматизации (в этом случае хост управлял VST инструментом, получая доступ к параметрам управления изнутри).
Test_MIDI.wav - управление по "MIDI" (пример утрированный, контроллер управлялся с ручки в реальном времени, но суть понятна).
00:07
- Test_MIDI Test_Autom.wav - Управление через автоматизацию.
00:07
- Test_Autom P.S. на удивление, упрвление внешним инструментом по MIDI из Host'а не вызвало какой-либо ступенчатости как изначально ожидалось
Метки: MIDI, Renoise, Автоматизация, Host, VST
В данном сообществе, возможно, есть записи, доступные только его участникам.
Чтобы их читать, Вам нужно вступить в сообщество
Чтобы их читать, Вам нужно