Blog

Рекомендации по оптимизации программы FL Studio

ВНИМАНИЕ ДАННАЯ СТАТЬЯ НАПИСАНА НЕ МНОЙ И РАСЧИТАНА КАК НА НОВИЧКОВ ТАК И НА УЖЕ СЛОЖИВШИХСЯ САУНД ПРОДЮССЕРОВ!!!

Нередко можно встретить высказывания типа «То-то можно с 10% загрузкой процессора получить в программе X, но то же самое получается с 50% в FL Studio» и т.п. Может, FL и не самая производительная система. Возможно, потому что написана не на том языке, что те самые программы X, но порой причина кроется в другом – неэффективном использовании самим пользователем. Что ж, попробуем снизить нагрузку на систему, работая во фруктах. (примечание: эта статья является информацией к размышлению, а не руководством к действию)

Документация FL Studio гласит:

  • Не используйте сразу много эффектов. Воспользуйтесь send-треками.
  • Воспользуйтесь функцией Smart Disable (буквально: интеллектуальное отключение эффектов).
  • Не включайте функцию эхо/задержки в функциональном разделе параметров каналов.
  • Ограничивайте полифонию с помощью параметра Maximum Polyphony.
  • Подрезайте затишья в сэмплах с помощью звуковых редакторов (вы ничего не слышите, но микширование все равно идет и расходует ресурсы системы).
  • Не включайте MIDI-выходы если не планируете их использовать.

Разберемся сначала с этими рекомендациями

SEND-треки. Они же «групповые эффект-шины», они же «треки посыла» и т.д.
Наверняка есть люди, которые без необходимости для каждого канала-генератора или сэмплера задают отдельный канал микшера (шину). В 99.9% случаев это неправильно. Пример из жизни – у меня есть трек с 34 каналами-генераторами и 11 шинами эффектов в микшере. Все эти 34 канала были распределены по 11 шинам. Ради эксперимента я размножил эффекты в 11 шинах на 34 шины (в точности подстраивая все параметры) и каждому каналу назначил свою шину. Если раньше в самом тяжком месте этот трек без запинок игрался с загрузкой около 85%, то теперь полоска упорно стояла на сотне и воспроизведение было на уровне «слайд-шоу». Я пошел дальше и решил для удовольствия аккуратно настроить эффекты для каждого канала. После этого я прослушал две получившиеся версии треков - 11-канальную и 34-х. Сразу скажу – лучше не стало, только хуже. 11-канальный трек звучал более собранно, нежели 34-х канальный. После этого я сделал все наоборот: на 4 из 11 шин у меня был схожий эффект реверберации. Из этих 4 эффектов я сделал один и вывел его на отдельную шину, которую затем превратил в SEND. Понятно, что проект небольшой и оптимизация на четырех эффектах многого не даст, но, тем не менее, загрузка CPU упала на 3-5%. Вывод очевиден: не надо без явной необходимости создавать отдельные шины и вешать на них то же, что есть на уже созданных. Просто выводите общие эффекты на SEND-шины. К тому же, в 6 версии микшер стал гораздо более гибким, и перемешивать имеющиеся шины вы можете как угодно.

Smart Disable. Ничего хитрого в данной функции нет. Просто эффект, на котором она активирована, отключается, если на входе в течение 4 секунд наблюдается нулевой уровень. Здесь следует быть внимательными любителям пространственных эффектов – если у вас есть ревербератор или линия задержки, имеющие длину эхо более 4 секунд, то звук будет просто «обрубаться». То есть, после удара Kick’ом по ревербератору с функцией Smart Disable эхо будет длиться только 4 секунды, остальное обрубится. Отсюда же следует и другой минус – срабатывает эта функция только через 4 секунды, но по-другому сделать и нельзя. Надо сказать, что, несмотря на простоту, это очень эффективная функция и ею следует всегда пользоваться.

Echo / Delay (в параметрах канала). Дело в том, что это самое Echo / Delay вовсе не обрабатывает звуковой поток, а заново проигрывает ноту. То же самое что если бы вы поставили вместо одной ноты несколько, каждая из которых играла бы все тише. Пользоваться этим делом надо, только если вам нужно, чтобы отклики были разными по высоте (регулятор Pitch). Вместо этого лучше создать шину в микшере и повесить на неё обыкновенный Delay.

Параметр Maximum Polyphony. Этот параметр можно найти не только во фруктах, но и в любом более-менее крупном синтезаторе / секвенсоре. Полифония – это число одновременно взятых нот. Понятно, что на каждую ноту расходуются ресурсы. Как же может помочь ограничение полифонии? Просто. Пускай ограничение стоит на 4 ноты. Вы взяли аккорд из 3 нот, а после этого аккорда составили мелодию, где одновременно ноты не берутся, но все еще звучит аккорд, затем сделали аккорд из других 3 нот (первый аккорд до сих пор взят). Взгляните на рисунок:

Что же произойдет? После первого аккорда (в точке 2) ничего. Ведь одновременно взято только 4 ноты, не больше. В третьей же точке полифония достигнет 6 нот. При этом две ноты первого аккорда будут заглушены, и звучать останутся второй аккорд (полностью) и одна нота от первого. Конечно, все может быть гораздо сложнее, и то, что одна нота у вас заканчивается в Piano Roll когда еще не началась другая, еще не значит, что полифония составляет 1 ноту. Многое зависит от настроек играющего инструмента (модуля / плагина). У этой функции есть младшая сестренка, называется Cut Itself. От нее тот же эффект, что и от ограничения в одну ноту.

Подрезка затиший. Дело в том, что нули – тоже числа и процессор их тоже считает. Речь, конечно, идет не только о нулях, но и просто о мелких амплитудах, когда уровень на пороге слышимости. Допустим, вы записали вокал. В этом вокале всего две фразы (одна в начале, а другая – секунд через 10). Между этими фразами – тишина, или почти тишина. Если вы теперь добавите этот вокал в свой проект, да еще навешаете кучу эффектов, то многое потеряете. Ведь тишина тоже будет обрабатываться эффектами и микшерное ядро фруктов будет микшировать эту якобы тишину, а слышать вы этого не будете. Так что лучше разбить записанное на две части и поставить в нужных местах проекта.

Примечание: фрукты умеют подрезать затишья только по краям сэмплов и затишья эти должны быть абсолютными, так что лучше сделать это в звуковом редакторе.

MIDI-выходы. Здесь, я думаю, все понятно. Ведь на отправку данных MIDI-устройствам тоже нужны ресурсы. Так что, если не используете MIDI-интерфейсы, то отключайте их. Сюда же можно отнести и функцию игры на обычной клавиатуре.

Это что касается документации FL. Теперь посмотрим на другие моменты, на основании которых можно сэкономить.

  • Стоит ли объяснять, что одновременно работающие игра, дефрагментатор, архиватор и т.д. и FLStudio – не очень-то разумный способ сэкономить время на запуске перечисленного? Думаю, не стоит.
  • В драйверах некоторых звуковых карт есть всякие эквалайзеры, ревербераторы, эмуляторы 3D-звука на двух каналах и т.п. Так вот: это все надо по возможности отключать (кроме, может, эквалайзера). Ведь все это выполняется программно (звуковухи до 1000 р.). Например, на встроенных картах Realtek AC97 есть опция Цифровой и аналоговый выход. При ее включении основной процессор начинает микшировать потоки линейных входов на цифровой выход, что не очень-то нужно в большинстве случаев. А ведь это все ресурсы, ресурсы…
  • Отрекитесь от красоты графического интерфейса. Отключите стили, тени под меню, указателями и т.д.

Во фруктах есть несколько опций по выводу звука (Options > Audio Settings). Там с помощью ползунка можно регулировать размер буфера, выбирать приоритет и метод интерполяции.

  • Последнее трогать не надо, ибо у вас наверняка нет ни суперкомпьютера, ни Супер-Hi-End аппаратуры, пускай остается Linear.
  • Размер буфера – для встроенных и дешевых звуковых карт – от середины до максимума. Для остальных придется подбирать. Если ваша карта поддерживает ASIO, то можно ставить мелкие значения.
  • Sample Rate (частота дискретизации) пускай 44100. Если ниже – то звучать будет противно, если выше, то у вас опять нет супер-пупер железа для воспроизведения.
  • Priority (приоритет) – ставьте на Normal. Непонятно зачем по умолчанию этот параметр стоит на Highest, из-за чего даже указатель мыши дергается в движении.
  • Safe Overloads (безопасная перегрузка) – пускай будет включено. Если вы одновременно возьмете ноты на паре десятков инструментов, то этот параметр – гарантия того, что вам не придется нажимать Reset на системнике.

Помимо SEND-треков в микшере можно воспользоваться еще кое-чем:

  • Возможно, вы любите на Master-шину повесить какие-нибудь модули для мастеринга. Наверняка это какой-нибудь навороченный модуль X с крутым интерфейсом. Вот все дело-то как раз в крутом интерфейсе. Когда вы открываете интерфейс, он прорисовывается, кэшируется и т.д., короче, расходует ресурсы. Поэтому, поставив и настроив однажды модуль для мастеринга, по возможности не открывайте его при следующих сеансах работы. Это можно отнести и к другим модулям. Также, забудьте про всякую там «аналоговую теплоту звука» пока сочиняете. Мастеринг – это мастеринг, его вы сделать всегда успеете после рендеринга.
  • Не стоит полагаться на то, что какой-нибудь модуль от фирмы X звучит 100% лучше встроенных модулей. Это не всегда так.

Еще советы:

  • Не забывайте про окна. Окна некоторых модулей очень требовательны. Например, всякие спектроанализаторы и т.п.
  • В каналах-сэмплерах есть параметр Keep on Disk – что означает «читать с диска». То есть сэмпл будет воспроизводиться не из памяти, а прямо с винчестера. Это для того, чтобы не тратить оперативку.
  • Пока стерео действительно не станет необходимым, используйте моно-сэмплы. В памяти они занимают в два раза меньше места.
  • Больше пользуйтесь звуковыми редакторами. Например, частоты лучше подкрутить эквалайзером редактора, нежели прицеплять сэмпл к отдельной шине с эквалайзером во фруктах. Также можно поступить и с другими эффектами.
  • Отрендерите звук, который воспроизводится синтезатором единожды как эффект, а затем поместите его как обычный сэмпл. Отрендерить можно просто создав отдельный паттерн с нужными нотами для данного синтезатора. При этом ваше право отключить или оставить включенными эффекты в микшере. Чтобы потом можно было изменить этот звук, просто сохраните пресет в синтезаторе и уже тогда спокойно удалите синтезатор. Если надо, вы можете удалить полученный сэмпл, заново создать синтезатор и загрузить сохраненный пресет. Это просто бешеная экономия ресурсов. Это можно и к лупам применить, разумеется, и каналы так воедино тоже можно сводить. Мы живем в цифровом мире – рендерьте и вставляйте сколько угодно – хуже стать не должно, искажениям взяться неоткуда.
  • Если вам нужен несложный звук, то попробуйте сначала получить его на несложном синтезаторе. Смысла выкручивать обычную синусоиду на Sytrus нет.
  • Не надо в качестве фонового рисунка ставить HTML-страницу (фрукты это умеют). Программе куда проще нарисовать рисунок, чем веб-обозреватель в фоне.
  • Сверху на панели инструментов есть окошко со значением poly. Обычно, оно не должно заходить за 30-40. Если заходит, то проверьте свои инструменты, там, скорее всего, что-то не так с полифонией. Поставьте ограничение.
  • Не пользуйтесь сэмплами, скажем, 96000 Hz, если не собираетесь рендерить с такими атрибутами. Это все напрасные вычисления. Если вам попался такой сэмпл, преобразуйте его в 44100 Hz и уже тогда используйте. А версию 96000 оставьте где-нибудь в папке X. Одно НО: я сказал только про частоту, про разрядность (8/16/24/32 бит) я молчу. Здесь все равно все в памяти преобразуется в 32 бита.
  • Во многих синтезаторах есть параметры вроде Quality, Accuracy, Over sampling. Это три разные вещи, но они влияют на точность расчетов, а, следовательно, на ресурсоемкость и качество звука. Лучше всего найти некий компромисс. Хорошо, если эти параметры сделаны отдельно для черновой работы и для рендеринга (пример – Sytrus).
  • Самыми ресурсоемкими процессами в синтезаторах являются: модуляция (осциллятором/по сэмплу; частотная/кольцевая, но не амплитудная), фильтрация большой глубины (24 дБ и больше), сложные кривые обработки и, возможно, некоторые фирменные эффекты в особо крупных синтезаторах.
  • В сэмплерах многое зависит от количества сэмплов на всей раскладке и на одной клавише, параметров кривой ADSR, точности интерполяции.

Настроек для рендеринга во фруктах не много, но и с их помощью можно сэкономить:

  • В черновых версиях работы нет смысла ставить интерполяцию выше 6-point hermite, это уже сказано в документации. Даже поставив Linear (линейную) интерполяцию вы потеряете только некоторые данные в микродинамике звуковой волны, все частоты останутся на месте. По умолчанию, как раз Linear вы слышите, когда сочиняете. Однако если вы синтезатор заменяете сэмплом так, как это было сказано выше, то лучше поставить на максимум.
  • Depth (WAV): не надо думать, что рендеринг в 16 бит быстрее, чем в 32. Ведь ядро микширования у FL 32-битное и если вы ставите 16 бит, то, очевидно, производятся дополнительные вычисления (округления). Лично я делаю рендеринг в 32 бита, потому что все равно выполняю мастеринг в Audition, а оттуда уже могу получить поток с любыми нужными мне атрибутами. И дело даже не в скорости рендеринга. Просто у меня гораздо больший динамический диапазон для мастеринга (не даром в iZotope Ozone используется аж 64-битная математика).
  • HQ for all plugins (т.е. высокое качество для всех модулей). Очевидно, что все модули переводятся в режим высокого качества. НО: далеко не все модули поддерживают эту функцию. В основном это встроенные модули FL Studio.

Вроде все. Остальное заключается в том, чтобы не потерять проценты там, где нужное вам дело можно выполнить более эффективно, разумно. Так что прежде чем сделать что-то, подумайте: а может, есть более эффективный способ? Но это – дело опыта.

1 ▲
14 February 2012 22:14

Comments

С одной стороны это правильно.С другой,глупо.Так как если следить за этим всем,то пока повыключаешь,повключаешь и так далее,пропадёт желание вообще,что-то писать!Просто надо хорошо знать матерьял с которым ты работаешь и никаких проблем не будет!
баян! но статья полезная!
да я не спорю ,что некоторые из нас уже не раз ее видели ,но кто то и не видел))
Please, sign up (it's quick!) or sign in, to post comments and do more fun stuff.