Wasapi exclusive event или push?

это звуковой драйвер, который забирает звуковой поток от программы и направляет его прямо на звуковую карту, минуя систему, позволяя выставлять минимальную задержку. Так же плюс его и в том, что при наличии нескольких звуковых устройств (звуковых карт, USB микрофон) можно выбрать вход одного, а выход другого. Например, вам нужно, чтобы звук с USB микрофона шёл на запись и воспроизводился через внутреннюю звуковую карту. Или же у вас есть две звуковые карты и вы хотите одновременно записывать с обоих.

Теперь давайте рассмотрим настройки ASIO4ALL и возможные проблемы при его использовании.

При первом включении панель настроек находится в простом режиме и выглядит так:

В принципе, если вам не нужно настраивать с какого источника записывать и звук уже воспроизводится (то есть нет никаких проблем), то этого режима вам достаточно. Здесь всё просто.

Слева сверху находится WDM Device List это список всех звуковых устройств в вашем компьютере. (у меня это встроенная в материнскую плату звуковая карта и внутренняя Creative X-Fi Titanium). Для выбора той звуковой карты через, которую будет идти звук нужно нажать на кнопку включения, которая находится слева от её названия. При этом она загорится голубым цветом и рядом появится значок воспроизведения. Если же у вас его не появляется, то это значит, что существуют какие-то проблемы. Скорее всего звуковая карта занята другим приложением.

Для устранения этой проблемы закройте все программы, которые могут использовать звук (skype, интернет браузеры, музыкальные и видео плееры) и снова попробуйте задействовать звуковую карту, выключив-включив её, с помощью кнопки включения.

Ниже находится ползунок ASIO Buffer Size. Он отвечает за задержку звука. Чем ниже его значение, тем она меньше. Для подбора рекомендую открыть в программе, какой-нибудь “тяжёлый” (использующий большую мощность процессора) файл проекта и нажав на кнопку воспроизведения, передвигать ползунок буфера влево до появления треска и заиканий звука.

Например Creative X-Fi Titanium позволяет выставить 208 Samples, что примерно равняется 5 миллисекундам задержки и это очень хорошо. Лично для меня, минимально комфортной, является 10 миллисекунд.

Если же вы хотите перейти к более продвинутым настройкам, (например у вас нет звука и надо понять почему. Либо нужно настроить входа и выхода звуковых карт.) то нужно нажать кнопку с изображением ключа.

Теперь слева в WDM Device List, нажав на плюсик напротив ваших звуковых устройств, будет раскрываться список его входов и выходов. Из них можно выбирать, которые будут использоваться для воспроизведения и записи при помощи кнопки включения слева от их названия. При этом должен появляться значок воспроизведения.

Например на верхнем изображении выбран вход микрофона для записи и выход на колонки для воспроизведения в звуковой карте Creative X-Fi Titanium.

На этом рисунке тоже самое для встроенной звуковой карты.

Если же рядом с названием входа или выхода появляется крестик, то это значит, что ASIO4ALL не может получить доступ к нему. И как я уже писал выше скорее всего он используется в другой программе. Поэтому нужно закрыть все программы, которые могут использовать звуковое устройство. И снова попытаться включить этот вход или выход.

Замечу, что ASIO4ALL полностью забирает в своё распоряжение звуковую карту и другие программы не смогут к ней обращаться. То есть звук будет работать только в вашей музыкальной программе до тех пор, пока вы её не закроете.

Можно использовать сразу несколько входов от разных звуковых устройств, включая их одновременно. Например на скриншоте сверху задействованы входы встроенной на материнскую плату звуковой карты одновременно со входом внутренней Creative X-Fi Titanium.

Ещё хочу обратить ваше внимание на то, что для каждого вашего устройства задержка выставляется своя. Для этого вы выбираете её, нажав на название и перемещаете ползунок ASIO Buffer Size.

Теперь давайте рассмотрим другие настройки, которые находятся в окне справа.

Сверху находятся два ползунка Latency Compensation: In и Out. Они могут помочь в том случае, если у вас появляются какие-то непонятные задержки, например при записи. Но обычно их трогать нет необходимости.

Следующий пункт Allow Pull Mode (WaveRT) позволяет включить улучшенный режим доступа к звуковому устройству, если это возможно. Рекомендуется отметить галочкой для улучшения производительности. (лично я разницы не заметил

)

Ползунок Buffer Offset помогает улучшить стабильность, но увеличивает задержку звука. Рекомендуется увеличить на слабых машинах. Если же компьютер достаточно мощный, то можно даже уменьшить его с значение по умалчиванию (4ms) до 1ms.

Always Resample 44.1<->48 kHz — Включение этой функции позволяет драйверу ASIO4ALL делать ресемплинг частот дискретизации своими силами. (что более качественно, чем это делают некоторые звуковые карты) Советую включить. (по умалчиванию уже задействована)

Force WDM driver to 16 Bit – Включение этой функции помогает избежать проблем с теми звуковыми картами, которые не поддерживают битность выше 20 бит. (например интегрированные)

Ну и кнопочка с изображением бриллианта сбрасывает все настройки по умалчиванию.

А теперь немного о проблемах при использовании.

Очень часто при выборе в программе драйвера ASIO4ALL нет звука. Проблема чаще всего в том, как я писал уже выше, что другая программа использует драйвер звуковой карты. Поэтому перед выбором ASIO4ALL необходимо закрыть все программы, которые могут занимать её. Это, например, Skype, интернет браузеры Opera, Google Chrome, Internet explorer, музыкальные и видео плееры. Так же звука может не быть, если вы уже при работающей программе подключили USB звуковую карту или микрофон и выбрали ASIO4ALL. В этом случае закройте программу, отключите устройство и заново подключите его. (Иногда приходится даже перезагружать компьютер)

Содержание

Универсальный ASIO-драйвер для звуковых WDM-устройств

Руководство по использованию

Редакция от 11 марта 2009 г.

Введение

Спасибо за использование ASIO4ALL! Сведения в данном руководстве помогут правильно установить и настроить этот драйвер.

Чтобы добиться наилучших результатов, удостоверьтесь в том, что:

• …выбрана схема управления питанием с наименьшей вероятностью переключения P-состояния процессора. В случае с Windows XP это схема «Включен постоянно», в случае с Windows Vista — «Высокая производительность». При наличии соответствующих навыков можно изменить нужную схему таким образом, чтобы тактовая частота процессора не менялась (это единственный критично важный параметр).

• …системные звуки отключены. Звуки редких событий (вроде запуска и завершения работы) не являются проблемой, но более частые и менее предсказуемые могут блокировать процесс инициализации звукового устройства для ASIO4ALL.

Приступая к работе

Настройка звукового ПО

Чтобы использовать соответствующие звуковые приложения с драйвером ASIO4ALL, их нужно настроить. В каждом конкретном случае эти настройки индивидуальны, но общим для всех является необходимость выбрать «ASIO4ALL v2» в качестве устройства ввода и/или вывода.

В одном окне с меню, где выбирается устройство, должна быть кнопка вызова панели управления драйвером. Нажав эту кнопку, можно вызвать окно настроек ASIO4ALL. Узнать о том, как выбирается устройство и вызывается окно его настроек в конкретном приложении, можно в руководстве к этому приложению.

Иногда кнопки вызова панели управления может не оказаться. Обычно такое бывает в медиа-проигрывателях. В подобных случаях панель управления можно вызвать, щёлкнув на значок в панели уведомлений:

Значок появляется, когда приложение инициализирует драйвер ASIO4ALL. Если значка нет, то приложение не использует этот драйвер в данный момент. Уведомления можно отключить, просто открыв дополнительные параметры в панели управления ASIO4ALL.

Примечание: По возможности для вызова панели управления следует пользоваться именно специальной кнопкой, а не значком.

Изменения в настройках иногда могут вступать в силу лишь после перезапуска приложения.

Основные параметры конфигурации

Рис. 1: Панель управления ASIO4ALL в упрощённом режиме

1. Список звуковых WDM-устройств, найденных в вашей системе.

Всегда изменяются параметры лишь того устройства, которое выделено в списке.

Устройства активируются кнопкой-индикатором слева от названия. На рис. 1 активным является «SoundMAX Integrated Digital HD Audio». Возможна одновременная активность любого числа устройств.

Рядом с индикатором активности есть индикатор, сообщающий состояние устройства:

Готово к работе — Устройство успешно запущено.

Бездействует — Устройство, должно быть, доступно, но в данный момент не запущено и не используется.

Недоступно — Устройство используется другим приложением или стандартным синтезатором Windows («Программный синтезатор звуковой»). Использовать стандартный синтезатор крайне не рекомендуется.

Не контролируется — Устройство по неизвестной причине отказывается от запуска или ведёт себя странно. Иногда проблема исчезает после повторного открытия панели управления или переподключения USB-устройств. Кроме того, в некоторых случаях такое состояние равноценно «Недоступности», что говорит о некорректном предоставлении данных о состоянии от устройства.

Если список пуст, то в вашей системе нет звуковых WDM-устройств или для таких устройств не установлены драйверы, которые можно получить на сайте производителя.

2. Размер буфера ASIO.

Этот ползунок управляет размером ASIO-буфера выбранного устройства. Чем меньше размер буфера, тем меньше задержка. Если в звуке возникают щелчки, то необходимо увеличить размер.

3. Кнопка загрузки настроек по умолчанию.

Нажав эту кнопку, можно вернуть все параметры на их изначальные значения. Это должно помочь, если после установки драйвер работал нормально, но впоследствии был неправильно настроен.

4. Кнопка отображения дополнительных параметров.

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

Дополнительные параметры рассматриваются в следующей главе.

Дополнительные параметры конфигурации

Рис. 2: Панель управления ASIO4ALL в расширенном режиме

В расширенном режиме панель управления содержит элементы для тонкой настройки. В списке устройств появляются подпункты, повторяющие архитектуру вашей звуковой подсистемы.

Список содержит устройства, интерфейсы устройств и т. н. «выводы» (в терминологии Микрософт®).

Как и с целыми устройствами в упрощённом режиме, здесь можно включать/выключать уже отдельные элементы устройств и настраивать устройства на совместное использование.

При совместном использовании устройства работают по одному тактовому источнику. Этого можно достичь, например, последовательным соединением по интерфейсу S/PDIF. К счастью, USB-устройства, работающие от хост-контроллеров с одним тактовым источником, уже синхронизированы. Если вы не пользуетесь дополнительными USB-контроллерами, то все устройства работают от одного тактового генератора, расположенного на материнской плате.

Если устройства не синхронизированы, то их аудиопотоки могут опережать и отставать друг от друга.

Справа расположены дополнительные элементы управления 5–9.

5. Компенсация задержки

Потому как ASIO4ALL не располагает подробной информацией об архитектуре аппаратных средств и драйвера, величина компенсации выбирается лишь предположительно.

Этими ползунками можно скомпенсировать задержки, неизвестные ASIO4ALL, чтобы, например, записанные фрагменты в секвенсоре воспроизводились в нужный момент со всем остальным.

При совместной работе нескольких устройств выбирается наибольшее значение. Если разные устройства имеют различные собственные задержки, то в результате возможна асинхронность.

6. Включение/отключение аппаратного буфера

В случае с драйверами WaveRT (Windows Vista) этот флажок подписан как «Режим извлечения (WaveRT)».

Доступ к аппаратному буферу обычно встречается только в драйверах типа «WavePCI». Другие типы WDM-драйверов, как правило, не дают прямого доступа к аппаратному буферу. Самое большое преимущество при использовании аппаратной буферизации в том, что основные вычислительные ресурсы системы расходуются значительно меньше.

Основные параметры, влияющие на производительность аппаратного буфера, — «Размер буфера ASIO» и «Смещение в буфере» (п. 7). Аппаратная буферизация лучше работает с мелким буфером ASIO, нежели с крупным. Для начала попробуйте установить размер буфера на 128 или 256 сэмплов.

Возможно совместное использование устройств с доступом к аппаратному буферу и без доступа, но это не рекомендуется. Если аппаратная буферизация не поддерживается каким-либо устройством, то возникает отчётливо слышимая задержка в сотню-другую миллисекунд.

«Режим извлечения (WaveRT)»

Есть два основных метода доступа к устройствам WaveRT. «Режим извлечения» (pull-mode, «режим событий») и «режим помещения» (push-mode, «режим опроса»). Последний поддерживается всеми драйверами WaveRT и всеми версиями платформы. В отличие от него режим извлечения был довольно поздно документирован Микрософтом и потому работает далеко не везде.

Если флажок не поставлен, то ASIO4ALL никогда не будет использовать этот режим. Иначе будет использовать его по возможности. Режим извлечения лучше синхронизирован и считается технически более совершенным, чем режим помещения.

Драйвер ASIO4ALL версии 2.8 работал так, как если бы флажок был установлен. Если при работе с установленным флажком проблем не возникает, то следует оставить этот режим для большей производительности.

7. Число буферов ядра / смещение в буфере

Если аппаратная буферизация не используется, то этот параметр отвечает за число буферов на выходе. Каждый дополнительный буфер увеличивает задержку в соответствии с размером.

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

Если же аппаратная буферизация используется, то параметр отвечает за величину зазора в миллисекундах между позицией, где ASIO4ALL будет записывать данные (и где будет происходить их чтение), и позицией, которую ASIO4ALL считает текущей позицией чтения или записи. Это звучит сложно до тех пор, пока вы не видите код, который всё это рассчитывает:)

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

В звуковых картах, построенных на базе Envy24, может быть параметр «DMA Buffer Transfer Latency» (задержка при передаче данных в буфер с прямым доступом к памяти) или что-то в этом роде. Этот параметр следует ставить на минимальное значение.

8. Преобразование между 44.1 и 48 Кгц

ASIO4ALL может в реальном времени преобразовывать частоту дискретизации от 44.1 КГц в 48

КГц и обратно. Преобразование происходит автоматически в случаях, когда ASIO4ALL открывается в режиме 44.1 КГц, а WDM-драйвер не поддерживает эту частоту.

В некоторых случаях драйверы стандарта AC97 могут поддерживать частоту 44.1 КГц, преобразовывая её самостоятельно. Однако преобразование выполняется с довольно сомнительным качеством и проблемами со стабильностью. Чтобы избавиться от этого, включите данный параметр. Как минимум с одной из версий WDM-драйвера SoundMAX (smwdm.sys) этот параметр обязательно должен быть включён, чтобы частота 44.1 КГц вообще поддерживалась.

9. Принуждение к работе WDM-драйвера в 16-разрядном режиме

Этот параметр работает только с теми драйверами, которые сообщают о возможности работы с потоком разрядностью более 16 бит (и меньше 24), но фактически отказываются от этого.

Примером такого драйвера является SigmaTel AC97.

Правила оптимизации в общих случаях

Игра вживую на программных синтезаторах.

В этом случае звуковые входы вам не нужны. Поэтому их следует отключать, чтобы при меньшем размере ASIO-буфера стабильность была выше. Вместе с ними следует отключать и лишние выходы. Для этого нужно переключить панель управления в расширенный режим и раскрыть список WDM-устройств — там будут перечислены отдельные интерфейсные единицы.

Компьютер в роли эффект-процессора.

В этом случае звуковые входы нужны. Но, как всегда, неиспользуемые каналы следует отключить.

Не используйте возможность преобразования частоты, если нет такой необходимости.

Компьютер как обычный секвенсор.

Здесь стабильный звук без разрывов даже при максимальной вычислительной нагрузке важнее мелкой задержки. Поэтому рекомендуется умерить аппетит от мелкой задержки и увеличить размер буфера до значения, комфортного с тем набором инструментов и эффектов, который вы наиболее часто используете. Это особенно важно при записи звука, когда щелчки от опустошения буфера не просто раздражают, а напрямую портят результат вашего труда. Если используемый вами секвенсор поддерживает компенсацию задержки, то для правильного размещения записываемых фрагментов её необходимо настроить в расширенном виде панели управления.

Когда задержка вовсе не играет роли.

В некоторых конфигурациях ASIO4ALL позволяет звуковому потоку обходить участки, которые могут отрицательно влиять на качество звука. Поэтому любители качественного звука предпочитают использовать ASIO-интерфейс вместо DirectSound или MME, которые нередко искажают данные. При прослушивании музыки задержка не играет никакой роли, а об использовании входов вовсе не идёт речь. Поэтому входы следует просто отключить, а размер буфера поставить на максимум.

Использование «ReWuschel»

Если при установке вы отметили одноимённый пункт, то входы, предоставляемые ASIO4ALL, будут доступны в ReWire-приложениях. Смысл в этом есть, когда программа поддерживает только ASIO-выходы, но при этом имеет полноценную поддержку ReWire — например, Reason.

Чтобы подавать звук в Reason в реальном времени, ASIO4ALL должен быть установлен в качестве текущего драйвера. После этого вызовите в меню: Create -> ReBirth Input Machine. Теперь входы ASIO4ALL подключены к выходам устройства «ReBirth Input Machine».

Учитывайте, что с установленным компонентом ReWuschel вы не сможете пользоваться ReBirth в Reason. Чтобы это стало возможно, необходимо будет переустановить ASIO4ALL без ReWuschel.

Возможные неполадки и способы их устранения

ASIO4ALL представляет себя приложениям как автономный драйвер, но в некоторых конфигурациях фактически таким не является. Поэтому некоторые проблемы могут возникать не по его вине, даже если внешне это выглядит иначе. Особо можно отметить ситуацию, когда вы меняете состав устройств и их каналов в панели управления ASIO4ALL. При этом изменяются количество и имена каналов, которые предоставляются приложению. Поэтому рекомендуется перезапускать приложение после изменений в составе устройств и каналов, если у вас есть подозрения в том, что программа не справляется с этими изменениями «на лету».

Наиболее распространённые проблемы и их решения:

ASIO4ALL отсутствует в списке драйверов.

Есть две возможные причины. Первая состоит в том, что программа не поддерживает ASIO.

Вторая в том, что драйвер был установлен от имени пользователя с недостаточными привилегиями. В последнем случае необходимо установить ASIO4ALL от имени администратора.

После установки ASIO4ALL уже не требует прав администратора для работы.

Устройство помечено как недоступное или неподконтрольное, даже если оно больше нигде не используется.

Стоит отдельно удостовериться в том, что устройство не занято чем-то вроде «Программного синтезатора звукового» в вашей MIDI-конфигурации. Если есть основания полагать, что такой программный синтезатор является причиной проблемы, то попробуйте перезапустить приложение, предварительно перенастроив его.

Некоторые драйверы не успевают вовремя освободить устройство при переключении с них на ASIO4ALL.

Если устройство поддерживает «горячее отключение» (USB / FireWire / PCMCIA), то закройте панель управления ASIO4ALL, отключите устройство, подключите его вновь и откройте панель управления.

Звук в другом приложении пропадает при активности ASIO4ALL.

Так задумано. Близость к аппаратной составляющей подразумевает обход программных микшеров Windows. Без программных микшеров, а также их задержек и порчи звука, вы остаётесь наедине с аппаратной частью устройства, которая нередко лишена каких бы то ни было возможностей микширования нескольких потоков.

Измерители свидетельствуют о наличии звука и всё вроде проигрывается, но фактически звука нет (характерно для Windows Vista)

В драйверах устройств наподобие «High Definition Audio» SPDIF-выходы нередко поставлены перед аналоговыми выходами. Как следствие, первые два (или более) ASIO-канала выведены на SPDIF-интерфейс. Можно переназначить каналы в приложении. Если интерфейс SPDIF не нужен вообще, то можно попробовать отключить его.

Изменения, сделанные в панели управления из одного приложения, не распространяются на другие приложения

… и между разными пользователями то же самое. Так и должно быть. ASIO4ALL хранит настройки отдельно для каждой программы и для каждого пользователя. Это позволяет работать одновременно нескольким экземплярам ASIO4ALL, если они не назначены на одно и то же устройство. Кроме того, это предохраняет пользователей от изменения настроек друг друга, что особенно важно там, где одним компьютером пользуются несколько человек под разными учётными записями.

Величина задержки, отображаемая, например, в Cubase SX3, не соответствуют размеру буфера, заданному в панели управления ASIO4ALL.

ASIO4ALL поддерживает компенсацию задержки, если это реализовано в хост-программе. Эта возможность ещё дорабатывается и, время от времени, в неё будут вноситься исправления.

Значения, сообщаемые программе, это не только та задержка, которую вносит ASIO4ALL, а общая задержка по всей системе. Поэтому то, что отображается в программе, и то, что отображается как размер ASIO-буфера — просто не одно и то же.

В более ранних версиях ASIO4ALL общая задержка не определялась и, потому, отображаемое значение могло быть несколько ниже. Фактические же задержки как минимум не стали больше, чем с предыдущими версиями, и теперь они не возрастают при увеличении вычислительной нагрузки!

© 2004–2009, Michael Tippach.

Все торговые марки являются собственностью их владельцев и в данном руководстве используются исключительно для идентификации.

ОБРАТИТЕ ВНИМАНИЕ: Статья находится в процессе доработки. На данный момент информация в этой статье актуальна для foobar2000 v0.9.6.9 — v1.0 и Windows XP SP3.

Copyright (C) 2010, Audiophile
При воспроизведении данного текста или его части ссылка на источник обязательна.

ВСТУПЛЕНИЕ.

Основным критерием качества воспроизведения является количество искажений, которое вносится в аудиопоток при прохождении через звуковой тракт. Искажения, в свою очередь, неизбежно вносятся при любой обработке, так что главная для нас задача — свести к минимуму или вообще исключить обработку звука на участке тракта, по которому сигнал передается в цифровом виде.

Звуковой тракт в нашем случае имеет следующий вид:
1) Источник — сам звуковой файл — MP3, FLAC, OGG etc
2) Декодер — встроен в плеер, декодирует входной поток данных, в результате чего получаем несжатый звуковой поток в виде импульсно-кодовой модуляции, а точнее поток в формате 32 bit floating-point PCM (с плавающей точкой).
3) Цифровые обработчики звука — DSP, эффекты etc. — совершают дополнительную обработку звукового потока. Надо отметить, что данную составляющую тракта надо использовать только при необходимости, т.к. практически любая обработка звука — будь то даже изменение громкости — непременно вносит определенные искажения
4) Плагин вывода — данная составляющая необходима как связующее звено между плеером и звуковой картой. Плагин вывода определяет каким образом будет производиться вывод полученного (в результате работы всех предыдущих звеньев) аудиопотока из плеера на звуковую карту. Часто это звено играет решающую роль, т.к. порой позволяет обойти некоторые некачественные участки дальнейшего тракта. Надо отметить, что на этапе вывода поток преобразуется в формат с фиксированной точкой (глубина бит от 8 до 32 бит — в зависимости от выбранных параметров), к чему это может привести — будет рассмотрено далее.
5) Драйвер звуковой карты — составляющая, которая играет не меньшую роль, чем все предыдущие — на этом этапе также может совершаться обработка звука, но тут она абсолютно нежелательна
6) DSP звуковой карты — это уже аппаратная составляющая. Digital Signal Processor находится непосредственно на звуковой карте и совершает необходимую обработку звукового потока, а также обработку в соответствии с выставленными настройками в микшере звуковой карты (все действия, которые производит данный блок зависят от выставленных настроек звуковой карты и от самой модели звуковой карты)
7) ЦАП — Цифро-Аналоговый Преобразователь. Производит преобразование полученных цифровых аудиоданных в аналоговый вид для дальнейшего усиления и подачи на аналоговый выход звуковой карты (с него — на наушники или внешний усилитель).

ЧАСТЬ 1. Настройка программного плеера foobar2000

Теперь рассмотрим первые четыре составляющие тракта — источник и компоненты относящиеся к плееру.

1. Источник

Бесспорно, это звено является основой. Если изначально запись некачественная, нет большого смысла тратить усилия на настройку остального тракта.
Источники можно подразделить на два типа:

Lossless (wav, flac, wv, ape, tak, tta, ofr etc.) — аудио закодированное без потерь (при декодировании полученный аудиопоток в точности соответствует тому что кодировали в Lossless — аналогично распаковке файлов из архива ZIP)
Lossy (mp3, ogg, aac, mpc etc.) — аудио сжатое с потерями. При кодировании происходят необратимые потери некоторой части информации (а именно, вырезается та часть звуковых данных, которую человек не воспринимает или же почти не воспринимает).
Если в первом случае проблемы качественного воспроизведения сводятся к минимуму, то во втором случае для наиболее качественного воспроизведения необходимо принять определенные меры, о которых будет написано дальше.

2. Декодер.

С данным компонентом (а точнее, с компонентами, декодер под каждый формат — свой) у foobar2000 проблем нет — декодеры постоянно обновляются, мельчайшие ошибки быстро исправляются, о качестве не стоит и говорить.

3. Цифровые обработчики звука

Это звено в плеере можно подразделить на два пункта: ReplayGain и DSP. Также сюда входит регулятор громкости и конвертер битовой глубины, но о них будет сказано позже.

3.1 ReplayGain

Прежде всего нужно отметить, что любой lossy аудио-файл не содержит цифрового аудиопотока как такового. Он содержит его описание с помощью различных функций и т.д., по которым можно восстановить примерную форму исходной волны (что и делают декодеры lossy форматов). И вот, при декодировании возникает один нюанс: т.к. кодирование происходит с потерями (повторюсь: данные в lossy аудио-файле позволяют восстановить только примерную форму исходной волны), уровень семплов на выходе имеет уровень отличный от того что был на входе — вплоть до того что некоторые участки звуковой волны могут выходить за максимальный уровень — 0dB (если Вы включите в Foobar2000 View->Visualizations->Peakmeter, сами сможете увидеть текущий уровень). Чаще всего это бывает когда уровень закодированной записи был высоким и пик записи находился на максимальном уровне — 0dB — или же близко к нему, практически всегда такие записи после кодирования в lossy и последующего декодирования имеют участки выходящие за 0dB.

Далее должен указать на еще один факт. Декодер foobar2000 работает в формате с плавающей точкой, что позволяет ему обрабатывать и описывать волну не только в пределах 0dB (значения уровня в таком случае могут быть от 0 до 1) но и за ними (значения выше 1). Проблема же состоит в следующем. После того как сигнал передается плеером на вывод, он автоматически преобразовывается в формат с фиксированной точкой, что равносильно потере всего что лежит выше максимального уровня, все семплы, имеющие значения выше 0dB (в формате с плавающей точкой они имели значение больше 1) — приравниваются к уровню 0dB (в формате с плавающей точкой это было бы аналогично их приравниванию к единице). И что же мы получаем? Все участки волны выходящие за максимальный уровень «обрезаются», в следствии чего, вместо синусоиды например мы получим что-то похожее на прямоугольные импульсы (если «верхушки» синусоиды окажутся выше 0dB, они будут «срезаны»), а это означает что мы имеем дополнительные нелинейные искажения (уровень искажений зависит от того, какая часть звуковой волны выходит за максимум). Что-то схожее можно услышать при «запирании» колонок — когда подаешь на колонки сигнал с мощностью превышающей максимальную допустимую — диффузоры не могут двигаться дальше максимального уровня отклонения, получаются такие же искажения как и в нашем случае. Первое явление (с цифровым аудиопотоком) — это софтовый клиппинг (англ. clipping — обрезание), второе (с диффузорами) — аппаратный клиппинг (в некоторых других случаях это явление называют «перегрузкой»).

Для чего же в нашем случае нужен ReplayGain?

а) Чтобы определить, выходит ли уровень декодированного сигнала за допустимые пределы, а именно определить пиковый уровень записи — это делает ReplayGain Scanner.

б) Понизить уровень трека так, чтобы он вписывался в рамки допустимого — после того как сканер произвел сканирование, он записывает ReplayGain теги (с информацией о пиковом уровне), а плеер при проигрывании считывает эти теги и занижает уровень громкости всей записи (именно всей — чтобы не менять баланс громкости между отдельными участками) так, что пик оказывается на уровне 0 dB (в данном случае этот уровень соответствует значению 1), а всё остальное — конечно же, не выше этого уровня.

Настройка:
Volume — изменение громкости в плеере. Настоятельно рекомендуется максимальное значение.
Replay Gain
Source mode:track, если Вы хотите сохранять баланс громкости только в пределах одного трека, album — если Вам важен баланс громкости между треками всего альбома.
Processing:Prevent clipping according to peak — лучший в большинстве случаев вариант, при котором будет только предотвращаться clipping (уровень, на который будет занижаться громкость, будет рассчитываться с помощью тега track peak или album peak — в зависимости от выбранного source mode).
Apply gain — в этом режиме ReplayGain поможет выровнять воспринимаемую громкость прослушиваемых Вами треков (часто воспринимаемая громкость не связана с пиковыми уровнями, т.к. она определяется методом психоакустического анализа); данный вариант не рекомендуется, т.к. при этом может сильно изменяться громкость треков, что только ухудшает положение в плане качества.
Apply gain and prevent clipping according to peak. в результате анализа трека утилита ReplayGain может посчитать его слишком тихим и прописать в тегах положительное значение усиления, громкость при воспроизведении такого трек будет завышаться, в следствии чего пики результирующего сигнала могут оказаться выше максимального уровня. Этот режим позволяет утилите при воспроизведении анализировать не только тег track (или album — в зависимости от source mode) gain, но и track (album) peak и рассчитывать максимальное допустимое усиление, чтобы предотвратить клиппинг.
Pre-amp: Дополнительное усиление на выбор пользователя. Работает только при включенном Apply gain (или apply gain and prevent clipping), суммируется с усилением из тега Track (Album) gain. Использование данной функции не рекомендуется, т.к., опять же, может негативно повлиять на качество.
With RG Info — для треков с тегами ReplayGain
Without RG info — для треков без тегов Replay Gain
3.2 DSP

Это цифровые обработчики звука, необходимы для выполнения различных преобразований звукового потока в режиме реального времени.

В идеале любая обработка звука конечно же должна отсутствовать, но в большинстве случаев для достижения более высокого качества приходится использовать некоторые обработчики. В частности, DSP под названием Resampler просто необходим при отсутствии аппаратной поддержки звуковой картой частоты дискретизации воспроизводимого сигнала (чаще всего это материал со звуковых компакт-дисков с частотой дискретизации 44.1кГц) для выполнения предварительного преобразования звукового потока в вид соответствующий аппаратным возможностям звуковой карты (чаще всего это преобразование 44.1->48кГц).

Настройка

Рассмотрим два варианта для воспроизведения материалов с частотой дискретизации 44.1кГц:

a) Ваша карта аппаратно поддерживает данную частоту дискретизации. В этом случае для достижения максимального качества на вкладке DSP должны отсутствовать какие-либо включенные обработчики (первый список, слева).

б) Ваша карта аппаратно НЕ поддерживает данную частоту дискретизации. Для достижения максимального качества установите плагин SoX Resampler и выставьте в его настройках максимальную частоту дискретизации, которую аппаратно поддерживает Ваша звуковая карта. После плагина SoX resampler в список активных плагинов обязательно добавьте Advanced Limiter — этот плагин позволит предотвратить клиппинг, занижая уровни участков звукового потока которые в результате ресемплинга сигнала могут оказываться выше максимально допустимого уровня.

Если у Вас второй случай и Вы выставили рекомендуемые настройки, то теперь появится возможность максимально качественно (для этой звуковой карты )воспроизводить не только записи 44.1 кГц, но и записи с любой другой частотой дискретизации. В случае, если частота воспроизводимого материала совпадет с максимальной поддерживаемой Вашей картой, ресемплер просто отключится (за ненадобностью).

3.3 Output (вывод)

Как я уже писал, это звено цифрового аудиотракта часто является решающим. Но должен отметить, что не всегда. На данный момент в foobar2000 существуют следующие способы вывода звука: DirectSound, Kernel Streaming, ASIO, WASAPI (только для Vista и Windows 7, будет рассмотрен позже, в более новых версиях статьи).

Первый выводит звук через микшер Windows — то есть на громкость воспроизведения будет влиять регулятор Wave в микшере Windows. Надо сказать, что в случае использования этого вывода и некачественных драйверов звуковой карты (это сейчас не редкость, особенно устаревшие драйвера) в аудио могут вноситься дополнительные искажения. Искажения эти могут возникать как в результате программной регулировки громкости регулятором Wave (что крайне не рекомендуется!), так и в случае положения этого регулятора на максимум , т.к. для некоторых драйверов положение регулятора Wave на максимум в действительности не соответствует максимальному значению.

Эту проблему решают два других плагина вывода. Оба плагина обходят некоторые некачественные участки дальнейшего тракта, включая регулятор Wave. Главное отличие ASIO и Kernel Streaming заключается как раз в том что они способны выводить звук мимо микшера Windows и в некоторых случаях избежать вышеописанных проблем с качеством. Отличие ASIO в том что данный интерфейс ориентирован на минимизацию задержки (латентности вывода), что на качество воспроизведения никоим образом не влияет. К тому же различные драйвера ASIO могут иметь свои ошибки, а потому для достижения наиболее точного вывода рекомендуется использовать именно Kernel Streaming.

ОБРАТИТЕ ВНИМАНИЕ: для многих современных звуковых карт с нормальными драйверами, результаты для всех выводов при регуляторе Wave на максимум (имеет значение только для DirectSound) совпадают. А при поддержке 24-битного (и выше) вывода вообще можно обойтись одним DirectSound, даже в случае когда уровень Wave нельзя выставить на максимум — качество будет таким же, как и при выводе через KS. Чтобы окончательно развеять Ваши сомнения, рекомендую к прочтению статью foobar2000: Kernel Streaming против DirectSound.

Настройка:
И так, тут всё просто. Устанавливаем плагин Kernel Streaming, запускаем foobar2000 и на странице вывода выбираем:

Output Device: KS: <Ваша звуковая карта> — для вывода звука будет использоваться плагин Kernel Streaming, звук будет выводиться на указанную звуковую карту.

Buffer Length: регулировка буфера плеера. Чем меньше значение — тем быстрее (считая от момента включения/изменения) будут вступать в силу изменения громкости, включение плагинов и т.д. На качество вывода данная опция не влияет, изменять стандартное значение не рекомендуется.

Output format / Postprocessing

Output data format: установите максимальную разрядность, аппаратно поддерживаемую Вашей звуковой картой.

Dither: включение dither + noise shaping. Данная функция может быть полезна только при выполнении одного из следующих условий:

а) Если Ваша звуковая карта аппаратно НЕ поддерживает разрядность звука выше 16 бит и Вы используете одну из функций: ReplayGain, DSP, Volume Control (регулятор громкости в foobar2000).

б) Ваша звуковая карта аппаратно НЕ поддерживает разрядность звука выше 16 бит и Вы воспроизводите в foobar2000 материал с разрядностью более 16 бит.

Во всех остальных случаях (например в случае, если Ваша звуковая карта аппаратно поддерживает разрядность звука выше 16 бит) включение данной функции только ухудшит качество.

ЧАСТЬ 2. Настройка звуковой карты

Так как звуковых карт огромное множество, в этой части даются только общие рекомендации или же рекомендации по настройке с помощью стандартных средств Windows.
1. Настройка средствами Windows
Чтобы начать настройку, Вам необходимо перейти в Панель управления Windows->(Звук, речь и аудиоустройства->)->Звуки и аудиоустройства.
Рис. 1. Громкость следует установить в максимальное положение, регулировку уровня громкости производить аналоговым методом (например, ручкой на усилителе). По окончании настройки нажать на кнопку «Дополнительно» в графе «Громкость микшера».
Рис. 2.1. Все источники, кроме Wave (его надо установить на максимум) и Play Control конечно же, следует отключить. Wave тоже можно отключить, если Вы не используете в плеере вывод через DirectSound, при этом все остальные звуки, в том числе системные, не будут слышны. Предварительно необходимо перейти в «Свойства» и включить отображение всех источников:
Рис. 2.2. Тут Вы должны включить отображение всех источников воспроизведения для настраиваемого устройства.
Рис. 3. Данное окно вызывается с помощью кнопки «Дополнительно» в графе «Настройка динамиков» окна изображенного на рис. 1. Здесь Вы должны выбрать Вашу конфигурацию динамиков. Далее переходим на вторую вкладку.
Рис. 4. Тут оба регулятора следует выставить в максимальное положение. Естественно, подразумевается, что никаких неполадок с воспроизведением звука (чаще всего это может происходить в играх) у Вас не возникает. Если же неполадки есть, подберите наибольшие положения регуляторов, при которых неполадки исчезнут. В таком случае, стоит отметить, что данные настройки не влияют на воспроизведение с использованием Kernel Streaming и ASIO, из этого следует, что если Вам пришлось установить один из регуляторов в более низкое положение, для качественного вывода звука в плеере необходимо использовать один из этих плагинов вывода.

По завершении настроек в каждом окне следует нажимать кнопку «Ок».
2. Настройка звуковой карты (рекомендации)
На этом этапе принцип настройки не отличается от предыдущих: необходимо обеспечить достоверную передачу цифрового аудиопотока без внесения в него каких-либо изменений (в идеале — до самого цифро-аналогового преобразователя). Рекомендации по настройке состоят в следующем:
а) Все эффекты/эквалайзеры и т.п. должны быть выключены. По возможности следует включить режим «Bit-Matched Playback» (для карт Creative эта опция может находиться в Creative Audio Console или же Console Launcher).
б) Для большинства карт есть возможность выбора опорной частоты дискретизации (Master Sampling Rate) — ее следует установить равной частоте дискретизации воспроизводимого материала или же частоте установленной в ресемплере foobar2000. Там же может быть настройка глубины квантования (Bit Depth) — ее следует выставить на максимум.
в) Все регуляторы громкости влияющие на громкость воспроизведения следует устанавливать в положение максимум.

ЧАСТЬ 3. Рекомендации по воспроизведению аудиоматериала

Для получения наилучшего результата, перед воспроизведением трека рекомендуется выполнить следующие действия.
Для lossy:

1. Выделите трек(и) в библиотеке или плейлисте foobar2000, нажмите на выделенном правую кнопку мыши и выберите из раскрывшегося списка Utils->Verify Integrity. Произведется сканирование трека(ов) на наличие ошибок. При наличии ошибок в файлах формата MP3 foobar2000 может их исправить. Если Вы увидите ошибку вроде «Reported length is inaccurate…», выделите треки для которых отобразилась данная ошибка, нажмите правую кнопку и выберите Utils->Fix VBR MP3 Header, после обработки проверьте трек еще раз, ошибка должна отсутствовать.

Если при проверке Вы наблюдаете ошибку вида «MPEG Stream error…», её можно исправить с помощью опции Utils->Rebuild MP3 Stream. После выполнения операции исправления ошибки не забывайте повторно проверять треки.

2. Выделите треки, нажмите на выделении правой кнопкой и выберите ReplayGain->Scan Per-File Track Gain, если выделены треки из разных альбомов или альбомы в тегах не указаны, Scan Selection As Single Album — если выделены треки одного альбома и Scan As Albums (by tags) — если выделены несколько альбомов. Также можно использовать опцию Scan As Albums (by folders), если теги альбомов не прописаны но треки каждого альбома находятся в отдельной папке. После сканирования Вы увидите информацию о рассчитанных пиках и значениях усиления для каждого альбома/трека (в зависимости от выбранного типа сканирования), нажмите кнопку «Update File Tags» чтобы записать теги ReplayGain в файл.

Для lossless:
В случае с этим типом источника выполнение каких-либо действий для достижения максимального качества не требуется. Вы также можете проверить материал на ошибки с помощью функции Utils->Verify Integrity, но вероятность ошибок для lossless меньше, тем более, в случае их наличия, исправить их средствами foobar2000 возможности нет (по крайней мере, таким же образом как в случае с MP3). Функцию ReplayGain в случае c lossless использовать не рекомендуется, т.к. клиппинга (в том виде, в котором мы его обычно имеем в случае lossy) в lossless источниках быть не может, а использование функции «Apply Gain» не рекомендуется потому как данная обработка может только ухудшить качество.

За помощь в «поисках истины» огромное спасибо участникам форумов foobar2000.org, websound.ru, hydrogenaudio.org

Foobar2000 — это мощный проигрыватель для ПК с простым, понятным интерфейсом и довольно гибким меню настроек. Собственно, именно гибкость настроек, в первую очередь, и удобство использования, во вторую, делает этот плеер столь популярным и востребованным.

Foobar2000 поддерживает все актуальные форматы аудио, но чаще всего его используют для прослушивания Lossless-аудио (WAV, FLAC, ALAC), так как его возможности позволяют выжать максимум качества из этих файлов. В этой статье мы расскажем о том, как настроить данный аудиоплеер на качественное воспроизведение, но не забудем и о его внешнем преобразование.

Установка Foobar2000

Скачав данный аудиоплеер, установите его на ПК. Сделать это не сложнее, чем с любой другой программой — просто следуйте пошаговой инструкции Мастера Установки.

Предварительная настройка

Запустив данный плеер впервые, вы увидите окно быстрых настроек (Quick Appearance Setup), в котором можно выбрать один из 9 стандартных вариантов оформления. Это далеко не самый обязательный этап, так как настройки внешнего вида всегда можно изменить в меню View → Layout → Quick Setup. Тем не менее, выполнив этот пункт, вы уже сделаете Foobar2000 не таким примитивным.

Настройка воспроизведения

Если в вашем компьютере установлена качественная аудиокарта, поддерживающая технологию ASIO, рекомендуем загрузить для нее и плеера специальный драйвер, который обеспечит оптимальное качество вывода звукового сигнала через данный модуль.

Скачав этот маленький файл, поместите его в папку «Components», расположенную в папке с Foobar2000 на диске, на который вы его установили. Запустите этот файл и подтвердите свои намерения, согласившись на добавление компонентов. Программа будет перезагружена.

Теперь необходимо активировать модуль ASIO Support в самом проигрывателе.

Откройте меню File → Preferences → Playback → Output → ASIO и выберите там установленный компонент, после чего необходимо нажать OK.

Перейдите на шаг выше (File → Preferences → Playback → Output) и в разделе Device выберите ASIO-устройство, нажмите Apply, затем OK.

Как ни странно, но столь простая мелочь действительно способна преобразить качество звучания Foobar2000, но владельцам интегрированных звуковых карт либо устройств, не поддерживающих ASIO, тоже не стоит отчаиваться. Лучшим решением в таком случае будет воспроизведение музыки в обход системного микшера. Для этого нужен программный компонент Kernel Streaming Support.

С ним необходимо проделать все то же, что и с модулем ASIO Support: добавить в папку «Components», запустить, подтвердить установку и подключить его в настройках плеера по пути File → Preferences → Playback → Output, найдя в списке устройство с приставкой KS.

Настройка Foobar2000 для воспроизведения SACD

Традиционные CD-диски, обеспечивающие качественное звучание аудиозаписей без пережатия и искажений уже не так популярны, на смену им медленно, но уверенно приходит формат SACD. Он гарантированно обеспечивает более высокое качество воспроизведения, даря надежду на то, что в современном цифровом мире у Hi-Fi-аудио все же есть будущее. Используя Foobar2000, парочку сторонних плагинов и цифро-аналоговый преобразователь, можно превратить компьютер в качественную систему для прослушивания DSD-аудио — формата, в котором хранятся записи на SACD.

Прежде, чем приступить к настройке и установке, необходимо отметить, что воспроизведение аудиозаписей в DSD на компьютере невозможно без их PCM-декодирования. К сожалению, это далеко не лучшим образом сказывается на качестве звучания. Чтобы устранить этот недостаток, была разработана технология DoP (DSD over PCM), главный принцип которой — это представление однобитного фрейма (frame) в виде совокупности мультибитных блоков, которые понятны для ПК. Это и позволяет избежать проблем, связанных с точностью PCM-перекодирования, что называется на лету.

Примечение: Данный метод настройки Foobar2000 подойдет только для тех пользователей, у которых имеется специальное оборудование — DSD-ЦАП, который и будет обрабатывать DSD-поток (в нашем случае это уже DoP-поток), поступающий с накопителя.

Итак, приступим к настройке.

1. Убедитесь в том, что ваш DSD-ЦАП подключен к ПК и в системе установлено программное обеспечение, необходимое для его корректной работы (данный софт всегда можно скачать с официального сайта производителя оборудования).

2. Скачайте и установите программный компонент, необходимый для воспроизведения SACD. Делается это точно так же, как и с модулем ASIO Support, который мы помещали в корневую папку плеера и запускали.

3. Теперь необходимо подключить установленный foo_input_sacd.fb2k-component непосредственно в окне Foobar2000, опять же, точно так же, это описано выше для ASIO Support. Найдите установленный модуль в списке компонентов, кликните по нему и нажмите Apply. Аудиоплеер перезагрузится, а при повторном запуске нужно будет подтвердить внесение изменений.

4. Теперь нужно установить еще одну утилиту, идущую в архиве с компонентом Super Audio CD Decoder — это ASIOProxyInstall. Установите его так, как и любую другую программу — просто запустите установочный файл в архиве и подтвердите свои намерения.

5. Установленный компонент тоже нужно активировать в настройках Foobar2000. Откройте File → Preferences → Playback → Output и в пункте Device выберите появившийся компонент ASIO: foo_dsd_asio. Нажмите Apply, затем OK.

6. Опускаемся в настройках программы на пункт ниже: File → Preferences → Playback → Output -→ ASIO.

Дважды кликните по foo_dsd_asio, чтобы открыть его настройки. Выставьте параметры следующим образом:

В первой вкладке (ASIO Driver) необходимо выбрать устройство, которое вы используете для обработки аудиосигнала (ваш DSD-ЦАП).

Теперь ваш компьютер, а вместе с ним и Foobar2000 готовы к воспроизведению высококачественного DSD-аудио.

Изменение фона и расположения блоков

Стандартными средствами Foobar2000 можно настроить не только цветовую схему плеера, но и фон, а также отображение блоков. Для таких целей в программе предусмотрено три схемы, каждая из которых основана на разных компонентах.

Default user Interface — это то, что встроено в оболочку проигрывателя.

Помимо этой схемы отображенния есть еще две: PanelsUI и ColumnsUI. Однако, прежде, чем перейти к изменению этих параметров, нужно определиться с тем, сколько схем (окон) вам действительно необходимо в окне Foobar2000. Давайте вместе прикинем, что вы точно хотите видеть и всегда держать в доступе — это явно окно с альбомом/исполнителем, обложка альбома, возможно плейлист и т.д.

Выбрать наиболее подходящее количество схем можно в настройках проигрывателя: View → Layout → Quick Setup. Следующее, что нам нужно сделать — активировать режим редактирования: View → Layout → Enable Layout Editing. Появится следующее предупреждение:

Кликнув правой кнопкой мышки на любой из панелей, вы увидите специальное меню, с помощью которого можно отредактировать блоки. Это поможет еще больше кастомизировать внешний вид Foobar2000.

Установка сторонних скинов

Для начала стоит отметить, что скинов или тем, как таковых, для Foobar2000 нет. Все, что распространяется под данным термином, представляет собой готовые конфигурации, содержащие в своем составе наборы плагинов и файл для настройки. Все это импортируется в плеер.

Если вы используете последнюю версию данного аудиоплеера, настоятельно рекомендуем использовать темы, основанные на ColumnsUI, так как это гарантирует наилучшую совместимость компонентов. Большой выбор тем оформления представлен в официальном блоге разработчиков плеера.

К сожалению, не существует единого механизма для установки скинов, как и любых других плагинов. В первую очередь, все зависит от компонентов, входящих в состав того или иного дополнения. Мы рассмотрим данный процесс на примере одной из самых популярных тем оформления для Foobar2000 — Br3tt.

Для начала распакуйте содержимое архива и поместите его в папку C:\Windows\fonts.

Скачанные компоненты необходимо добавить в соответствующую папку «Components», в директории с установленным Foobar2000.

Примечание: Копировать необходимо сами файлы, а не архив и не папку, в которых они находятся.

Теперь нужно создать папку foobar2000skins (разместить ее можно в директории с самим плеером), в которую нужно скопировать папку xchange, содержащуюся в основном архиве с темой Br3tt.

Запускаем Foobar2000, перед вами появится небольшое диалоговое окно, в котором необходимо выбрать ColumnsUI и подтвердить.

Далее нужно импортировать в плеер файл конфигурации, для чего следует перейти в меню File → Preferences → Display → ColumnsUI выбрать пункт FCL importing and exporting и нажать Import.

Укажите путь к содержимому папки xchange (по умолчанию это здесь: C:\Program Files (x86)\foobar2000\foobar2000skins\xchange) и подтвердите импорт.

Это изменит не только внешний вид, но и расширит функциональность Foobar2000.

Например, с помощью данной оболочки можно загружать из сети тексты песен, получать биографию и фото исполнителей. Сам подход к размещению блоков в окне программы тоже заметно изменился, но главное то, что теперь можно самостоятельно выбирать размер и расположение тех или иных блоков, скрывать лишние, добавлять необходимые. Некоторые изменения можно вносить непосредственно в окне программы, некоторые в настройках, которые, к слову, стали теперь заметно шире.

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

Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.