🐣 @dimas собрал ARM-дистрибутив DAStereo Edition для Raspberry Pi — нужны ваши отзывы!

А что, сборка mini roon rpi-roon31.zip — Yandex.Disk DSD, совсем не поддерживает?
А почему?
А основная сборка поддерживает? В смысле через roon, другие варианты не интересны.

Сам автор мне вряд ли ответит, поэтому мой вопрос сообществу, тем, кто использует данную сборку с roon.

Без понятия. Если usb quirk для вашего устройства не прописаны в ядре, то DSD Native не будет.

А почему?

Сборка предназначена для вывода по spdif, малина (3b,4b) по USB звучит не очень. Поэтому смысла в этом нет, для spdif dsd native не актуален.

Я не патчил ядра специально для dsd native, есть 5 ядро (что-то там -bm), более свежие ядра 5.1 и выше звучат плохо.

2 лайка

А кто, по вашему, по юсб звучит как надо, из внешних рендеров\стримеров?

К сожалению, не слушал таковые.

Cubietruck

В качестве софта, Runeaudio.

1 лайк

Как-то много всего напихано…зачем??? Не понимаю необходимости видеочасти, в принципе, на таком устройстве, тем паче, с vga, а чего не компорт?)))
Сата там зачем? И опять все на одной плате.
По мне так оптимально будет выглядеть так


Ну разве что, трансформатор может быть и снаружи)))
псы: да, это не одноплатник))))

Это не готовый стример, это универсальная платформа. Из всего что пробовал, тут usb играет лучше всех.

И?
Можно навестить на него паровозиков?

У меня в избранномTidal с обложками 150 альбомов.Потом без отображаются. Удаляю один, появляется один с обложкой. Это норм?Раньше вроде был безлимит))

Я собирал стример, в usb включён wave io, после него ЦАП на АК4490. Очень достойный звук.
П.С. лучше обсуждать в другом месте.

А сейчас?

Для @dimas
и остальных, кому это может пригодиться,
рендерер 2.05 с http-интерфейсом, который можно интегрировать с авторскими оболочками.

Для PC x64:
http://albumplayer.ru/linux/test/renderer_se_x64.tar.gz
Для arm32:
http://albumplayer.ru/linux/test/renderer_se_arm32.tar.gz

Рендерер открывается по порту 7777. Конфигуратор аналогичен версии 2.05.
Управление http-командами.
Есть два основных режима - либо загружается ссылка на воспроизводимый файл и опционально на следующий (gapless поддерживается),
либо загружается список треков, который может автономно долго воспроизводиться (этим процессом тоже можно управлять).
В комплекте две демо-странички, иллюстрирующих работу с обоими вариантами:
http://localhost:7777/demo.html - работа с отдельными файлами
http://localhost:7777/demo2.html - работа со списком
Там ввод команд доступен через кнопки и выводится листинг переменных состояния рендерера.
Команды:

/play=url - воспроизведение потока по указанному url или локального файла, если передан файловый путь.
/next=url - ссылка на следующий файл, которую можно загрузить в любой момент после старта воспроизведения. В принципе, можно обходиться этой командой,
поскольку она работает как play, если play не было, и передать следующий файл можно и по окончании воспроизведения.
Когда трек кончается рендерер не завершает основной поток воспроизведения, а ждёт либо следующей ссылки, либо команды “стоп”.
/end - команда “стоп” для воспроизведения (не путать со /stop, которая уже зарезервирована на выгрузку самого рендерера).
/pause - пауза. Можно явно включать или выключать /pause=1 и /pause=0. Без параметра переключает состояние на противоположное.
/seek=секунды - позиционирование по треку.
/volume=число в диапазоне 0-100 - управление громкостью, когда включена в настройках опция контроля громкости.

Для загрузки списка треков (плейлиста) по адресу /list загружается методом POST в формате JSON массив треков, сохраненный под именем “list”.
Как это сделать из JavaScript, есть в коде страницы demo2.html.

/track=индекс трека от 0 до n-1 - старт воспроизведение трека с указанным индексом из плейлиста. Переходы на следующие треки выполняются автоматически.
На странице demo2.html надо вводить индекс трека из списка в поле ввода, потом нажимать Play.
/forward - переключение на следующий трек в загруженном плейлисте.
/back - переключение на предыдущий трек в плейлисте.

/?state - запрос состояния рендерера. Возвращается json объект со следующим набором переменных:

playing - воспроизведение да/нет
paused - пауза да/нет
preloading - идёт предзагрузка трека в режиме Full Memory
waiting - рендерер закончил воспроизводить текущий трек и ждёт следующего
bps - разрядность воспроизводимого потока (исходника)
freq - частота дискретизации воспроизводимого потока (исходника)
nch - число каналов исходника.
vol - текущее установленное значение громкости.
pos - текущая позиция воспроизведения.
len - длина воспроизводимого трека в секундах.
url - путь к воспроизводимому треку.
items - число треков плейлиста.
item - индекс воспроизводимого трека
artist - исполнитель (из метаданных)
album - альбом (из метаданных)
year - год (из метаданных)
title - имя трека (из метаданных)
fulltitle - сводная строка метаданных (для каналов радио почти всегда только она и доступна)
error - последнее из сообщений об ошибках (отдаётся один раз, после чего сбрасывается).

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

Команда /update обновляет метаданные по запросу, что актуально для радиотрансляций.

Этот рендерер поддерживает и конвольвер, но соответствующая вкладка в меню появится, если добавить папку cfilters с фильтрами конвольвера.

16 лайков

С большим уважением снимаю шляпу перед боярами, которые понимают, что написано в предыдущем сообщении :crazy_face:
Чувствую себя лохопетом :smirk:

8 лайков

Огорчаться не надо, это для разработчиков, но где-то надо на виду выложить .

2 лайка

Спасибо, Игорь, буду пробовать.

4 лайка

:+1:

Дима, а ютуб то сейчас работает?
Не получается запустить. Включил hdmi/enable/192/omxplayer. Кабель к тв подключил. Звука и картинки нет.
Что не так сделал?
П.С. при загрузке малинки на тв картинка высвечивается(виниловый проигрыватель).
При нажатии на ролик пишет плей, но загрузка не происходит.

Обновил youtube-dl, должен заработать.

Спасибо, заработало! А то гости приехали, развлекать нужно :crazy_face:

Такая штука, когда играет tidal, песня кончилась, pos выбегает за len и playing всё ещё true. Только на waiting ориентироваться?


Если загружать через list, то в конце альбома такая же ситуация.