DIR825. Музыкальный проигрыватель.

DIR825. Проигрыватель музыки.

ОписАв базовые модификации аппаратно-программного обеспечения сего замечательного устройства, перейдем к более интересным вещам. Думаю, что заинтересованные уже поняли — к маршрутизатору по порту USB можно подключить практически любое устройство имеющее поддержку со стороны операционки OpenWRT (линукс на ядре mips). Но какое из устройств действительно бы имело смысл еще подключить? Наверняка многим понравится идея превратить маршрутизатор в проигрыватель mp3 или в устройство для прослушивания он-лайн радиостанций. Именно этой теме и посвящена данная статья.

Вобщем-то никаких особенных хитростей тут и нет, поэтому текста много и не будет, основная часть теории уже расписаны в предыдущих статьях («Первое знакомство», «USB-накопитель под «ОСь») — и так …

 

Аппаратная часть.

 

Наверное самое сложное для реализации поставленной задачи приобрести звуковую карточку с интерфейсом USB. В московских магазинах продаются только брендовые поделки весьма достойного качества но за немалые деньги (более полутора тыс.руб.), также поддержка в системе линукс OpenWRT реализована (возможно) не для всех звуковых карт — соответственно нет никакой гарантии что девайс от Creative будет функционировать совместно с маршрутизатором. Одним из критериев выбора «поддерживаемой» звуковухи стоит считать функциональность в системе WinXP без дополнительных (фирмовых) драйверов. Подобные звуковушки не просто достать в России (да и цены на них будут завышены) — зато можно легко заказать из-за бугра, где они стоят буквально копейки (2-3 бакса) и доставляют их бесплатно. Позволю себе порекламировать замечательный магазинчик dealextreme.com Там и были куплены карточки описанные ниже и ставшие участниками описываемого эксперимента.

 

Сравнение различных карточек.

 

Модель (цена) JMTek HY554 (2.92$) C-Media 108 (7.31$) Burr-Brown (TI) PCM2902 (19.50$) TP6911 (2.38$)
Дата внесения       16.03.2011
 
 
  
 
Идентификация 0C76:1607 (JMTek, LLC. audio controller) 0D8C:000C (C-Media Electronics, Inc. Audio Adapter) 08BB:2902 (Texas Instruments Japan PCM2902 Audio Codec) 1130:F211 (Tenx Technology, Inc.)
Интерфейс USB 1.10 Full USB 1.10 Full USB 1.10 Full USB 1.10 Full
Достоинства
  • не требует драйвера в Windows, работает с OpenWRT
  • компактный корпус
  • неплохое качество звучания, при использовании наушников-затычек не отличить от среднестатистического плеера или интегрированной звуковой карты компьютера
  • обеспечивает достаточный уровень громкости на наушники
  • не требует драйвера в Windows, работает с OpenWRT
  • раздельные кабели для входа и выхода
  • устройство собрано на полноценной микросхеме (в smd корпусе имеющем маркировку)
  • устройство является фактически OEM-версией BEHRINGER UCG102, соответственно, совместимо с драйверами (Windows) под этот девайс. В драйвере реализована как модель WDM, так и ASIO (задержка 7ms при 48кГц 16бит стерео)
  • совместимо с OpenWRT (стандартный драйвер usb-audio)
  • ядром устройства является высококачественный кодек от TI — PCM2902, обеспечивающий великолепное качество звучания (на нагрузке до 50 Ом) и достаточный уровень громкости (на наушники)
  • имеет регулятор громкости выхода и двухпозиционный переключатель чувствительности входа (с индикатором перегрузки)
  • не требует драйвера в Windows, работает с OpenWRT
  • компактный корпус
  • неплохое качество звучания, сопоставимое с первой из описанных «карточек» (0C76:1607)
  • обеспечивает весьма высокий уровень громкости — существенно выше чем у всех аналогичных
Недостатки
  • левый и правый каналы на выходе «перепутаны» местами (что неудобно)
  • устройство собрано на бескорпусной микросхеме («кляксе»)
  • отвратительное звучание! низкие частоты режутся нещадно! высокие искажаются … вобщем по сравнению с чем бы то ни было — архи-ущербно!
  • вопреки заявлению производителя (на коробке) интерфейс устройства USB 1.1 (а не 2.0) — хотя того что есть хватает «за глаза»
  • высокая цена (по сравнению с устройствами левее)
  • большие габариты
  • высокий уровень громкости «по-умолчанию» в Windows, регулировки уровней в микшере (со стандартными драйверами) несколько нестандартны (общий регулятор меняет уровень несущественно, нужно использовать функциональные регуляторы)
Нюансы  
  • под Windows есть собственный драйвер (в комплект не входит), позволяющий реализовать фукции тембро-регулировки и конфигурирования эмуляции среды проигрывания, а также эффектов псевдо-3D (многоканального) звучания
  • разъемы звуковых интерфейсов 6.3мм (стандартные для PC — 3.5мм)
  • каналы распаяны корректно :-)

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

 

Программная часть.

 

Все намного проще чем даже мне сначала казалось. Также не стану в очередной раз утомлять последовательными цитатами команд, необходимых для установки пакетов и т.п. (может быть со временем вынесу теорию в отдельную статью, а пока пользуемся головой и перечитываем предыдущий материал). Напомню лишь что для работы со звуковыми usb-картами в OpenWrt необходимо иметь установленными или вкомпиленными в ядро следующие пакеты: kmod-sound-core, kmod-usb-audio и разумеется kmod-usb2 (который вероятно уже установлен при подключении внешнего накопителя — если нет, ставим его тоже). Если используется миграция на внешний накопитель базовам способом (pivot_root), то модули ядра необходимо ставить на встроенную память (перезагружаться без накопителя). В случае использования модуля extroot — можно ставить и на внешний накопитель. Как юзать железо? — пути два. Использовать проигрыватели, работающие напрямую с системными драйверами (например madplay) или использовать службу mpd, имеющей сетевой интерфейс управления и кучу пользовательских «морд» взаимодействия с ним.

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

 

Проигрыватель MPD.

 

Устанавливаем демона проигрывания медиа-контента mpd и простейшего к нему клиента mpc (возможно также в начале потребуется установить библиотеки ffmpeg, libspeex и mdnsresponder — автоматом они порой не ставятся).

 

mpd является сетевым сервисом (в линуксовой терминологии «демоном») взаимодействие с ним происходит через сокет стека TCP-IP (по-умолчанию 6600) — конфигурация задается файлом /etc/mpd.conf, а старт/стоп осуществляется классическим образом через соответствующий скрипт (/etc/init.d/mpd). В конфигурационном файле целесообразно раскомментировать строки указывающие расположение папок для музыкальных файлов и плей-листов, а также требуется раскомментировать указание на устройство воспроизведения — в нашем случае «OSS Output» — параметров type и name вполне достаточно (ничего менять не нужно — просто раскомментировать) — перезапускаем демона.

 

mpc — клиент для демона mpd имеет режим  командной строки, для проверки функционирования годится, но в использовании крайне неудобен. Ввиду этого можно на выбор воспользоваться большим количеством веб-клиентов (веб-морд) — написанных преимущественно на php (хотя есть и другие), с ассортиментом которых можно ознакомиться здесь. Для их работы требуется установить на маршрутизатор интерпретатор php (в 5-ой версии не забыть указать временнУю зону), а также желательно использовать иной (отличный от базового — uhttpd — постоянно виснущего) веб-сервер — например lighttpd, настроить их взаимодействие (описание сих манипуляций выходит за рамки данной статьи). Из проигрывателей могу порекомендовать mpdplayer, phpmp3.

 

Проигрыватель Madplay.

 

Как вариант можно установить проигрыватель madplay. Но стабильность его работы не всегда удовлетворительна (зависит как от железа? сборки оси? звезд на небе?). Но попробовать заюзать его можно. Например вот так:

 

cat /var/test.mp3 | madplay —

 

или вот так:

 

wget -O —  http://home.heavymetalradio.com:8014 | madplay —

 

В первом случае мы пытаемся прослушать файл test.mp3 из папки /var — разумеется он должен там присутствовать. Во втором случае — коннектимся к он-лайн потоку интернет-радио по желаемому адресу.

 

пока все, возможно дополнение …