В течение нескольких месяцев я вяло парился темой прослушивания MP3 сразу на пяти имеющихся в наличии колонках. Наконец, решение найдено, но сразу скажу, что мне от него пришлось отказаться, как только Winamp добрался до трека 'Surf Rider' от The Lively Ones. Подробности под катом.
Итак, что имеем в наличии:
- Материнская плата Asus P5E3 WS Professional (x64) со встроенным звуком Analog Devices AD1988B. Звуковая карта имеет типовой набор аналоговых выходов (minijack 3.5 mm), в частности, фронты, тылы, центр+саб, а также цифровой оптический SPDIF aka Toslink.
- Внутренняя звуковая карта Creative Audigy 2 с аналогичным набором выходов за исключением SPDIF, который здесь не оптический, а коаксиальный.
- Усилитель BORK PA-21. Усилитель имеет несколько входов двух типов: цифровые и аналоговые. Первые представляют собой гнёзда под оптические штекеры Toslink, вторые - RCA (тюльпан), по два гнезда на каждое внешнее устройство воспроизведения.
- Пять пассивных колонок, две из которых - небольшие тыловые, которые я поставил на одном столе с монитором от компа.
- Некоторое количество музыки в MP3, которую я к настоящему моменту слушаю с помощью проигрывателя Winamp.
- ОС Windows 7 Home Premium x64.
- Полное отсутствие теоретических знаний о том, что такое многоканальный звук, SPDIF, PCM, 48 kHz и т.п.
Что хочется получить:
- Возможность прослушивания MP3 через Winamp сразу на все колонки. Как минимум, ради интереса. Как максимум, чтобы было громко и смачно 8]
- Воспроизведение MP3 на двух мелких тыловых колонках с сохранением эффекта стерео. Чтобы в поздний час можно было слушать негромкую музыку возле своих ушей и не доставлять страдания домочадцам, отошедшим ко сну.
Ещё раз особо отмечу, что среди рассматриваемых задач отсутствует просмотр видео и запуск компьютерных игр. Только музыка и только в формате MP3, т.е. обычное стерео музло в обрезанном диапазоне частот.
Не буду подробно описавать процесс общения с разными людьми, а также шатания по разным русско- и англоязычным форумам в поисках священного Грааля. Вместо этого постараюсь тезисно озвучить путь к работоспособному результату:
- Звук, записанный в формате обычного (двухканального) стерео, содержит информацию о двух каналах: один выводится на левую колонку, второй - на правую.
- Четыре, пять, шесть (5.1) и более колонок предназначены, по-хорошему, для воспроизведения звука, который записан не в формате обычного двухканального стерео, а в более "навороченном", который содержит информацию не о двух каналах, а о большем их количестве. Это, например, такие форматы как DTS или Dolby Digital. Разумеется, звук, записанный в таком формате, это уже ну никак не MP3.
- Имея мой набор железа, для решения поставленных задач необходимо либо программно "развернуть" звук из двух каналов на шесть (5+1), либо сделать то же самое аппаратно, с помощью внешнего аудиоустройства, которого у меня пока нет. И то, и другое, является химией, т.е. результат непредсказуем и им можно отравиться 8]
- Для аппаратного преобразования stereo -> 5.1 необходима, например, внешняя звуковая карта. По словам doctorfilm, его Creative Extigy решает, как минимум, п.1 из моих задач.
- Для программного преобразования сигнала необходим, например, специальный плагин для Winamp'a. Опять-таки, не углубляясь в описание процесса моих поисков, сразу скажу, что и где я нашёл. Есть проект под названием AC3Filter. На базе этой штуковины кое-кто и сделал искомый плагин
- Как бы ни был преобразован стереосигнал - программно или аппаратно, на мой усилитель его можно передать только с помощью цифрового кабеля. Поэтому мне пришлось приобрести оптический шнур Toslink-Toslink, который одним концом я воткнул во входное гнездо усилителя, а вторым концом - в цифровой выход встроенной звуковой карты.
- Моя Audigy 2 тоже, вроде, умеет делать развёртку стерео в 5.1, но у неё нет необходимого оптического выхода, а есть коаксиальный. Преобразование же сигнала из аналогового SPDIF в оптический стоит денег в лице внешнего устройства.
Далее на скриншотах показаны настройки плагина в Winamp'e
- Свидетельство корректно установленного плагина в приложении:
- Внутреннее описание плагина:
- Настройка основных параметров. Здесь главное включить галку "Use SPDIF", иначе звук будет только на фронтах. На скриншоте видно, что во входном сигнале только два канала - левый и правый, а на выходе - все, кроме саб-вуфера. Саб у меня пока не подключен, соответственно, звук на него распределять смысла нет никакого.
- Самая интересная закладка с точки зрения результата. Две галки снизу, содержащие слово "Auto" необходимо отключить, а в ставших доступными окнах ввода справа сверху (блок Mixing matrix) необходимо расставить весовые коэффициенты. Если у вас математическое образование, то дальше объяснять ничего не надо 8] Если нет, то вникаем: строка сверху обозначает каналы в исходном сигнале; т.к. у нас в обычном стерео есть только два канала, то нас интересуют только столбцы, обозначенные L & R. Столбец справа содержит обозначения каналов в выходном, т.е. преобразованном сигнале. В моём случае я 100% левого канала оставил на левой фронтальной колонке, поставив единицу на пересечении L и L'. Правый же канал я "размазал" между четырьмя своими подключенными колонками: по 25% на правый фронт, два задника и центр. Такая развесовка обусловлена расположением колонок в комнате и ориентирована на "объёмное" прослушивание музыки, сидя за компом. Возвращаясь к п.2 из поставленных задач, для вывода звука только на тыловые колонки, необходимо поставить еденички на пересечении L&SL' и R&SR'. Очень элегантное решение.
Кстати, эта штуковина потрясающим образом реагирует и на отрицательные коэффициенты, но не могу сказать, что я с ними подробно разбирался. Если у кого-то есть такой опыт - напишите, пожалуйста, в комментах к посту.
- Уже точно не помню, трогал ли я что-то на закладке Gains, но, если оставить всё, как нарисовано, то некоторые треки можно слушать и получать первичное удовлетворение от решённой задачи.
- Здесь главное выбрать 48 kHz в выпадающем списке. Сделать это можно, кстати, и на любой из предыдущих закладок. Можно оставить 'AS IS' и для треков, сохранённых с частотой 48 kHz ничего не изменится, но зато треки, сохранённые с частотой 44 kHz будут воспроизводиться в слегка ускоренном темпе. Это поначалу забавно, но, вообще говоря, не очень комфортно. Одна из технических фишек, обусловленная спецификой работы стандарта передачи данных SPDIF, если, конечно, я сам корректно в этом разобрался.
В остальных галочках и листбоксах я, чесслово, не разобрался. И первые пару недель меня это не сильно беспокоило. Я чаще слушал приглушённую музыку, радуясь решённой задаче. Пару раз в спокойный выходной день мне выдалась возможность запустить систему где-то на половину громкости. По мозгам сильно ударило срезанными верхами. Т.е. дефицит динамического диапазона в районе высоких частот (скрипка Vaness'ы Mae, например) стал ну оооочень сильно ощутим. "Это всё большие колонки и хороший усилитель вскрывают
исконно поганый формат MP3", подумал я. "Надо будет как-нибудь воткнуть в комп приличный CD с приличной музыкой и сравнить его с MP3".
Но прежде чем я сподвиг себя сделать это, случилось.. ну не чудо, конечно.. вобщем, в режиме shuffle Winamp вытащил из плей-листа трек 'The Lively Ones - Surf Rider'. Я не слишком разбираюсь в музыке, но, насколько я понимаю, потрясающую высокочастотную партию в этой композиции играют на трубе. Вместо звука я получил зубодробительную цифровую картечь. Тут уже нельзя было медлить. Winamp был остановлен, а трек воспроизведён с помощью проигрывателя Media Player Classic. Получилось, конечно, не супер, но такого сумасшедшего цифрового шлака, как из Winamp'a не было. Отключение галки 'Use SPDIF' вернуло всё на круги своя: звук от обоих плееров воспроизводится через две фронтальные колонки, не подвергается химическому истязанию и воспринимается моими ушами приблизительно одинаково.
Проблема либо в настройках плагина, либо в его начинке. В любом случае, я пока откладываю дальнейшие изыски на эту тему, сохраняя у себя возможность вывода звука на все колонки со всем пониманием того, к чему это может привести 8]
Ещё пара минусов описанной технологии:
- Нельзя управлять громкостью с компа. Вообще никак. Громкость можно регулировать только руками на усилителе.
- В начале каждого трека есть минимальная задержка. Например, если произведение начинается сразу с какого-то выразительного звука, этот звук будет обрезан на доли секунды, но это будет очень заметно. Например, в треке 'Blank and Jones - Catch' мне так и не удалось услышать в начале то самое 'Caaaaaaaaatch Yooooooou!!' полностью, как ни крутил я параметры буферизации в DirectSound'e и WaveOut'e. При прослушивании сборников, где окончание и начало соседних треков грамотно смиксованы (например, Cafe del Mar и Hotel Costes), такая особенность будет порядком досаждать.
ps: есть ненулевая вероятность, что я что-то упустил из своего рассказа, так что, если будут вопросы - пишите в комменты к посту, буду стараться отвечать.