В свете последнего обсуждения в ветке про con moto, мне бы хотелось прояснить одну (кому-то, думаю, очевидную) вещь.
А именно: для чего и когда использовать breath-контроллер (сюда 't и электробаян отнесем) кошерно.
Я не отрицаю, что это замечательные инструменты, которые справляются с некоторыми задачами на голову выше других. Задачи эти относятся к мокапу исполнительской техники.
Вот а теперь надо расшифровать словосочетание
мокап исполнительской техники.
Мокап - захват движения, с этим понятно. Как реальный исполнитель дует (водит меха или карандаш над leap), так мы и фиксируем его. Это огромный комплекс информации, дискретизированной в двумерной плоскости экспрессия\время. И выходная миди-партия получается в виде последовательности точек разной экспрессии, расположенных на тайм-лайне (миди-дорожке).
исполнительская техника не ограничивается экспрессией. Большая часть инструментов предполагает постановку пальцев, соответственно звуковысотности (в брассах и флейтах все сложнее чутка, но не суть), и приложения некоторого усилия средством звукоизвлечения (воздухом, смычком, мехом и т.д.).
Так вот, исходя из установки на захват и воспроиведение исполнительской техники, мы приходим к некоторым ограничениям, а именно:
- захватывать мы можем только одного исполнителя
- мы захватываем движения, специфичные для инструмента, соответственно, восстанавливать их тоже надо со спецификой инструмента.
А теперь обратимся к способам воспроизведения звука, на основе зафиксированных движений.
Первым делом стоит отметить, что по части управления инструментами, стандарт MIDI не является временно-ориентированным. Инструмент получает исключительно сообщения, когда, и что было до и после стандарт управления не волнует. Вот "до" как раз не проблема, инструмент может фиксировать необходимую информацию о прошедших событиях и считать время от них прошедшее, по что будет после, никто не знает.
Наглядно: вот у нас есть некая кривая контроллера экспрессии:
Инструмент знает, что до этого был планомерный подъем экспрессии, и вдруг встречает резкий спад. Что будет дальше он не знает.
Соответственно, ему надо как-то отреагировать на это. Он сбрасывает громкость, да. Но он не знает, мы остановили смычок, или пробросили. Он может об этом догадываться по косвенным признакам, что здесь мы остановили. Но для настоящего "фидбека" конкретно по смычку ему нужен другой способ подачи (как мы видим в SWAM-S), а именно, реальное движение смычком, то-есть интерпретация контроллера экспрессии, не как динамику, а как положение смычка.
Для духовых, соответственно, это будет немного по-другому. Там все немного однозначнее.
Но конкретно здесь мы не знаем, снимаем ли мы смычок, или меняем.
Теперь возьмем следующий кусок, еще менее однозначный: резкий взлет вверх. Смычок-таки сменился (допутим, мы придумали, как это делать в реальном времени), но что будет дальше - нам неизвестно.
Нам неизвестно, где будет апогея нашего подъема
Нам неизвестно, будет ли звук продолжительным. Мы просто начали новый звук и поднимаем громкость на уровень контроллера.
Это что касается осознания того, что произошло.
Теперь о реализации.
- Чтобы это все работало более-менее похоже на исходную задумку исполнителя, мы должны оперировать одним инструментом.Ограничение это в первую голову из-за пункта 2. Но дополнительно отмечу, что много исполнителей играют не совсем так, как один исполнитель.
- Все операции должны быть достижимы в момент. Они не должны требовать "заглядывания в будущее". Они должны допускать любое будущее
А теперь посмотрим, что подходит под эти условия. Не так много, прям скажем. В первую (и на самом деле, в единственную) голову физическое моделирование: SWAM, SWAM-S, скрыпочка на реакторе, и некоторые совсем экотические инструменты, не являющиеся моделями реальных инструментов.
То, что с breath контроллером корректно работает accordions Тортильонне и samplemodeling (которые на контакте), это большое исключение, и то не соответствует всем требованиям. Достижимость точности переходных процессов в мире сэмплирования достижимо только при условии беэховой камеры и крайне большого количество одновременно-звучащих голосов
на канал. Для оперативной подмены.
Теперь об оговорках про сэмплмоделинг. Были бы они честно-используемы с breath контроллером, у них бы не было ок 20 кействитчей для спец-случаев.
Что касается сэмплирования вообще, и оркестрового в частности:
В силу того, что сэмплы имеют смысл преимущественно только тогда, когда мы сэмплируем все возможные сэмплы для разных ситуаций: разные атаки, разные сустейны, разные релизы, разные переходы. Не зная будущего, мы не можем предугадать, какой сэмпл использовать. Мы даже предположить толком не можем. И чем больше у нас вшитого ревера и микрофонов, тем хуже все работает с breath контроллером просто по причине несоответствия технологии захвата.
Немного обобщенно получилось, но чуть уходить в конкретику будет стоить недельной работы над огромной статьей...