Сетевой стример на Beaglebone Black / AntMiner / AntBB — чистое удовольствие (часть 1)

Концепция данной прошивки - экстремальный минимализм. Хотя меня уже несколько раз просили добавить в прошивку функции плеера, делать это не буду из принципиальных соображений. Бигль имеет ограниченные ресурсы по процессору и памяти. Не вижу смысл нагружать этот SBC не свойственными ему задачами. Эта прошивка останется только как сетевой аудио эндпоинт.

Для ваших задач, Лев, вижу всё таки несколько другой способ решения. Это малинка + 502 шляпа + прошивка Димы. Там ресурсов больше, отличная и качественно отлаженная прошивка. У Димы получился классно звучащий и универсальный швейцарский нож.
Еже ли Вы всё таки хотите остаться с Биглем, то вот ещё решение:
Нативные приложения Tidal и Spotify на IPad/IPhone и вывод на мою прошивку через протокол AirPlay.

Если уж рассматривать Spotify и Tidal (premium), то для этих сервисов BBB не такое уж и целевое устройство с их 320 мбит/с. Гораздо более реализуемая задача - скрестить ЦАП с bluetooth приемником с AptX-HD. Он будет принимать mp3 со смартфона и проигрывать. А вот BBB как раз больше раскрывается в проигрывании аудио более высокого качества по wifi (lan, USB). Для того и нужны все рендереры, чтобы с устройств управлять. Spotify и Tidal плагины в таком устройстве оправданы только в довесок к сетевому проигрыванию, когда есть один общий интерфейс, типа того же Volumio, где собрано “всё в одном”

1 лайк

Податься в стан врага?)))
Домучаю gentooplayer) Spotify у меня завелся, осталось c Tidal разобраться)
В любом случае, спасибо за проделанную работу!

Павел, подскажите, может у Вас есть в разработках доступный для повторения реклокер для BBB с s/pdif выходом?

Как готовое изделие - только в планах.
Но Botic умеет выводить в SPDIF. Так что можно приспособить мой реклокер для этой цели. Добавить только буфер+трансформатор https://e2e.ti.com/support/processors/f/791/t/525169
Можно попробовать обойтись только одним трансформатором. Поскольку на выходах стоят флипфлопы.
И не забыть включить режим SPDIF snd_soc_botic.serconfig=SS–

2 лайка

Спасибо!
Как я понял, по ссылке напрямую к сигналу mcasp_axr процессора подключается вход level shifter.
Можете пальцем ткнуть) к какому pin в вашей схеме подключить этот mcasp_axr?
BBBreclk.pdf
И второй вопрос: с какого пина на плате BBB можно снять сигнал mcasp_axr для проверки работы без реклокера?
Даташит на Ситару 3358 дает 40 упоминаний про
mcasp_axr. Я пока не разобрался с этим…

Всё есть в документации по Botic. http://bbb.ieero.com/

S— … 2ch SPDIF output on mcasp0_axr0 pin
P9_30 - D12/0 - mcasp0_axr0 (data0) - SPI1_D1

На выходном разьёме моего реклокера это 3 или 5 пин. Сейчас точно не скажу, нужно опять в даташиты лезть.

Будте ОЧЕНЬ осторожны! Выходы у Бигля очень нежные. Вылетают от любого чиха.

1 лайк

Спасибо за помощь. Я постараюсь не спалить выходы)

Провел эксперимент с Album Player (botic) для BBB. После прослушивания нескольких альбомов разных форматов (с частотами 48кГц, 44.1кГц, 96кГц) и радиостанций (44.1кГц и 48кГц), размер занятой оперативной памяти составил 180Мб (130 - память и 50 - кэш). Прослушивал через web версию APlayer. Но если к рендереру добавляется еще один источник проигрывания (MusicBee или BubbleUPnP или еще какой-либо иной плеер), то сразу же отгрызается по 50Мб памяти. То есть если прослушал, не выключая BBB через web плеер - 130Мб, послушал через MusicBee +50Мб (180МБ), прослушал через BubbleUPnP +50Мб (230Мб). То есть если у вас есть привычка прослушивать из более, чем 3-х источников (плееров отправляющим на рендерер), то урезанная версия BBB от Antminer быстро заполнит память. И как она будет ее освобождать, мне не удалось проверить практически, не нашел чем еще загрузить её.

Да не! Всё нормально с aprenderer. Если в настройках убрать принудительное локирование памяти.
Вот воспроизведение flac 24/96 на AntMINER

2 лайка

Павел, пытаюсь прошить через Etcher вашу сборку (скачивал из последней ссылки), но все время вылетает ошибка в самом начале. Я что-то делаю не так?

Ошибка то какая? Может карточка битая?
Ещё раз проверил, образ из последней ссылки шётся и загружается без проблем

Такая вот ошибка каждый раз. Карта нормальная, образ перекачал еще раз - тот же результат

Ну Етчер не самая стабильная прога. На маке не проверял. Попробуйте распакавать gz архив вручную и шить уже sdcard.img.
Да и вааще писать образ на unix системе какими то тулзами не эфективно. Ведь у вас есть замечательная команда “dd”! Вот ей из командной строки и залейте образ img в SD карту.

Скриншот прикрепите, посмотрим.

1 лайк

Не могли бы вы написать команду, с помощью которой можно залить распакованный образ на карту памяти?
И еще у меня е вам просьба. Я так понимаю, что ваша сборка автоматически устанавливается во внутреннюю память бигля. Не могли бы вы залить версию, которая будет работать с сд карты?
И еще вопрос: после успешной заливки на карту памяти, бигль просто включать в сеть и ждать загрузки или нужно еще кнопку s2 жать (где-то встречал такое в описании)? Если да - не могли вы вы объяснить - где именно эта самая кнопка находится?)
Устанавливал gentooplayer. В принципе понравился, но в моих условиях эксплуатации работает нестабильно. Я использую бигль для стриминга Аудирваны+ через UPNP протокол и с гентуплееров Аудирвана подхватывала бигль через раз. По сути ваша сборка должна быть для меня идеальной, т.к. просто нужно выбрать протокол - через который буду соединятся с биглем, после чего (надеюсь) его подхватит Аудирвана и дальше буду использовать такую связку без каких-либо проблем.

Так я выше прикрепил

Неужели я бы выложил прошивку, которая автоматически затирает старые данные у пользователей? :grinning:
Но я действительно считаю, что грех не использовать внутреннюю eMMC. Поэтому первая загрузка с нажатой кнопкой S2. Далее через веб интерфейс запись прошивки во внутреннюю память. Это относится к прошивке http://puredsd.ru/botic7-image_latest.gz и полноценному BBB.
Для урезанного AntMINER прошивка не имеет функционала записи во внутреннюю память и всегда грузится на этом кастрированном бигле с SD без нажатия S2 (которая, кстати на плате не распаяна)

Достаточно набрать в google “mac os dd sd card”
https://www.raspberrypi.org/documentation/installation/installing-images/mac.md
В двух словах:

  • Вам нужно точно знать имя диска SD.
  • Писать командой dd bs=1M if=./sdcard.img of=Ваш_SD_диск ; sync
2 лайка

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

Так, образ удалось записать, распаковав image файл и залив его через командную строку.
Но к сожалению ни одна из доступных опций не дает возможность стримить Audirvana+ - по UPNP на бигль…Павел, не могли бы вы добавить соответствующий функционал? К примеру с Volumio и без каких-либо предварительных настроек, бигль опознается в сетевых подключениях Аудирваны и без проблем создает с ней соединение. Единственное, что там куча лишнего для меня функционала + звук “заикается” (по крайней мере на сборке, что я пробовал) начиная с 24/48.
Очень понравились настройки Албум плеера - есть все, что мне надо (включая конвертацию DSD - в PCM), но на маке его не запустить к сожалению…
С gentooplayer у меня получилось настроить стриминг Аудирваны с помощью активации UDP и UdPnp (или как там называется UPNP клиента для UDP?), когда я создавал отдельный статический IP для бигля, через вебинтефейс Gentooplayer. Но опять же такой способ работал нестабильно: сначала все было отлично, но при очередном включении бигль пропал из сетевых устройств, доступных для вывода звука из Аудирваны…