Pull to refresh

Сетевой аудио-плеер: HiFi недорого

Reading time 4 min
Views 53K

Меня уже давно мучила идея использовать что-то из продукции Hardkernel для создания сетевого аудио-плеера. Типа такого, только подешевле. Останавливало отсутствие вменяемого аудио-интерфейса, а связываться с USB-DAC не хотелось. И вот на Geektimes появилась новость выпуске нового одноплатного компьютера с интерфейсом I2S и платы с аудиофильским DAC для него. Мечта начала сбываться!

Про отличия Odroid C1+ от «малинки» распространяться не буду, все уже было написано. Остановлюсь подробнее на самом DAC.



Вот что заявлено производителем:
  • High-end PCM5102 Burr-Brown DAC с подключением по интерфейсу I2S
  • Поддержка 16/24 форматов с минимальным искажениями (-93dB) и идеальной динамикой (100dB+). Частота дискретизации до 192kHz.
  • Использование регулятор питания с ультра-низким уровнем шума в сочетании с двумя твердотельными конденсаторами, что значительно увеличивает отношение сигнал-шум
  • Специальный дизайн PCB и позолоченные разъемы RCA.

В блоге Hardkernel приведены результаты испытаний, проведенных с помощью анализатора Audio Precision, подтверждающие заявленные характеристики.

Результаты испытаний
Общее гармоническое искажение + шум (THD + N):



Сигнал/Шум:


Уровень шума:




Было решено, что штука крутая и нужно брать. В принципе, сборка устройства сводится к вкручиванию ножек, и подключению разъемов. Заливаем образ на SD-карту, и все. Но в таком виде оно во-первых не выглядит как HiFi, во-вторых, привлекает ненужное внимание кота мигающими светодиодами и торчащими во все стороны проводами. Поэтому следующим этапом было изготовление корпуса и упаковка всего во внутрь. Был сделан умопомрачительный дизайн, который однако пришлось скорректировать с учетом местных реалий. В итоге, был выбран стандартный алюминиевый корпус, модификация которого свелась к фрезерованию отверстий. Размеры корпуса 190х170х70мм. Толщина стенок 2мм. Сама сборка особых проблем почти не доставила по причине простоты устройства:





Как и положено одноплатному компьютеру, интерфейсные разъемы расположены со всех сторон, что при установке внутрь корпуса создает определенные проблемы. Пришлось кое-чего перепаять:
  • На плате есть IR порт.Штука полезная в целом, но бесполезная внутри корпуса. Был выпаян, пересажен на шлейф и вынесен на переднюю панель.
  • RCA смотрит в бок. Проблема решилась с помощью самопального переходника.
  • Максимальная мощность C1+ — 2 ампера (при подключении внешних устройств по USB), так что блок питания был выбран с некоторым запасом, тем более что блоков меньше 5V/3A все равно нет.
  • 3 голубых светодиода подключены к GPIO.



Дабы хоть как-то облагородить внешний вид, передняя панель была закрыта накладкой из черного акрила толщиной 5 мм. На тыльной стороне были профрезерованы углубления напротив светодиодов и IR приемника:



На этом железячная часть закончилась.

Софт


Анонсируя новый комплект у себя в блоге, разработчики написали, что все замечательно работает с Volumio. Volimio представляет собой обрезанную сборку Debian. За функции медиаплеера отвечает mpd, управление осуществляется через web-интерфейс или любой клиент для mpd, будь то MPDroid или любой другой клиент.

Однако, как оказалось, ребята из Hardkernel несколько поспешили. В тот момент, когда я уже получил комплект на руки, публичной работающей сборки Volumio с поддержкой I2S не было! Пришлось еще 4 дня доставать разработчиков. Через несколько дней после Volumio подтянулись и Rune Audio. Поскольку Volimio усиленно продвигался разработчиками у себя в форуме, я начал с него. В принципе, все работало, но периодически всплывали косяки типа отваливающегося Spotify. К тому же, поддержки IR Remotr control не было, а установка Lirc требовала длительных танцев с бубном ввиду сильной урезанности дистрибутива. Разочарование.

Но вот спустя три дня вышел новый релиз Rune Audio и мечта наконец-то сбылась в полном объеме! Пульт работает, Spotify работает, все на месте! В отличие от Volimio, Rune Audio собран на базе ArchLinux, и все нужные функции там присутствуют изначально.





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




Для того, чтобы окончательно подружить Rune Audio и Odroid C1+ нужно произвести некоторую предварительную настройку.

1) Активируем поддержку DAC
nano /boot/boot.ini

Раскоментируем строку:
# PCM5102 audio DAC Enable/Disable
# Uncomment the line below to __ENABLE__ Audio-DAC(PCM5102)
setenv enabledac "enabledac"

Там же можно отключить поддержку HDMI и GPU для экономии ресурсов.

2) Активируем пульт ДУ:
systemctl enable lircd
systemctl start lircd
systemctl enable irexec
systemctl start irexec

В принципе, можно использовать маленький пульт Hardkernel, я предпочел подключить пульт от Xtreamer, скачав конфиг отсюда и поместив его в /etc/lirc/lircd.conf.d/lircd.conf.

У меня сложилось впечатление, что Volimio это сильно обрезанный в угоду меньшему потреблению ресурсов вариант Rune Audio. Возможно, что для «малинки» это и актуально, но с учетом мощности Odroid C1+ это явно ни к чему.

Конкурирующие решения


Разумеется, связка Odroid C1 + Hardkernel HiFi shield это далеко не единственный вариант сборки сетевого плеера. И не самый дешевый. Вполне можно обойтись Raspberry P+ b и одним из многочисленных китайских HiFi DAC. Более того, к Odroid C1+ можно подключить любой DAC c интерфейсом I2S, спаяв небольшой переходник. Вот пример с форума Hardkernel — подключение Teradak ES9023:



В общем, возможности выбора разнообразны.

Erratum


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

Разъем для SD расположен на нижней стороне платы. Т.е. для обновления прошивки, нужно разбирать корпус и снимать весь «бутерброд». Сейчас я бы использовал шлейф-удлинитель и вывел бы разъем micro-sd на заднюю панель.

Полезные ссылки


Раздел Odroid C1 на форуме Rune Audio
Раздел Odroid C1 на форуме Hardkernel
Tags:
Hubs:
+13
Comments 23
Comments Comments 23

Articles