Черновик технического задания на разработку медиаплеера на базе Linux+MPD+MPC

Новая версия документа (от 14.03.2019 г.)

Техническое задание на сборку медиа плеера на основе ядра Linux


Стоит задача запустить медиаплеер для воспроизведения музыкальных файлов на базе одноплатного компьютера NanoPi Neo Core2 Plus (семейство Raspberry Pi/ Orange Pi) с цифровым выходом по шине i2s в двух режимах Master / Slave.


Функционал плеера:


1.  Воспроизведение файлов в формате MP3, APE, FLAC, WAV, DSF, DSD.

управление плейлистами, чтение карт CUE.


2. Спящий режим по управляющему сигналу посредством GPIO контакта (замыканием на массу или кратковременной подачей + 5 / 3,3 v на контакт GPIO). Для использования в автомобиле с понижением потребления в suspend mode.


3. Перед переходом операционной системы в спящий режим, плеер должен запомнить текущий воспроизводимый трек, его позицию, поставить воспроизведение на паузу.

(на текущий момент готовое решение — MPD)


4. При повторной подаче управляющего сигнала на GPIO операционная система выходит из режима сна/ожидания. Запускается программа / служба плеера, возобновляется воспроизведение ранее сохраненного трека и позиции с момента перевода в спящий режим.


5. Возможность создавать и управлять текущим плейлистом. Браузер файлов, в котором выбирается папка с файлами для воспроизведения, добавление файлов из папки в плейлист, удаление из плейлиста.

(на текущий момент готовое решение — MPD)


6. Поддержка USB накопителей Flash, HDD с которых будут воспроизводиться музыкальные файлы.

(на текущий момент готовое решение — MPD)


7. Наличие модуля/библиотеки для ресемплинга в формат 44/48/88/96/192/384 kHz выходного сигнала и 16/24/32 Bit (Alsa, SOXr)


8. Наличие управляющего WEB интерфейса (по аналогии Volumio).

(на текущий момент готовое решение — MPD)


9. Внешний экран для отображения / управления воспроизведением плеера. Собственный интерфейс управления через LCD Touch экран.


Время ухода в режим сна допустима от 5 до 10 секунд. Время выхода из сна так же от 5 до 10 секунд.

Готова основная плата аудио процессора NAG-AUDIO!

11.03.2019

Сегодня получили первую партию основных плат нашего процессора!

Приступаем к сборке первого тестового образца.

 

Ищем разработчика/программиста на linux (arhlinux)

Нужна доработка медиа плеера volumio на базе os linux (raspberry pi)
Техническое задание на доработку медиа плеера https://volumio.org/ на базе операционной системы linux


Для операционной системы медиаплеера VOLUMIO на базе Linux требуются доработки.

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

1.Воспроизведение с момента аварийного отключения питания или при программном выключении. То есть программно нужно запоминать текущее положение трека и позиции, хранить его в файле. Откуда считывать при загрузке ОС. (Есть такой плагин, но работает как-то глючно).


2.Реализовать программное отключение посредством замыкания программируемых контактов GPIO. Есть такой плагин для VOLUMIO однако нет такой функции именно для выключения или перевода системы в спящий режим https://github.com/tomatpasser/gpio-buttons 


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


http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Core2


https://pcminipro.ru/nanopi/nanopi-neo-core2-nanopi-neo-2-bez-razemov-odno-yadro-no-s-emmc-pamyatyu-i-zashhitoj-ot-esd/


4.Копирование загрузочного образа системы с внешней SD карты на внутреннюю микросхему памяти eMMC.


Дополнительные сведения к задачам:

Сборка образа операционной системы взята из этой темы: http://forum.vegalab.ru/showthread.php?t=79888&page=3

Насколько я понимаю, систему (или её ядро) переработали, что бы она запускалась на этой плате, так как изначально оригинальный образ Volumio рассчитан на работу более старых одноплатников (Rapberry серий).

Но. Эти компьютеры слабее, и на них нет встроенной памяти eMMC. Касаемо самой памяти eMMC, нужно решить задачу с переносом операционной системы с SD карты на неё, что бы загрузка шла с бортовой eMMC.

Для решения этих задач ищу опытного спецалиста. 

Готов предоставить макетную сборку для теста доработок операционной системы. 

 



Если потребуется создание платы для реализации функций софтового включения выключения или спящего режима, с дежурным питанием, мы можем её физически реализовать по вашей схеме. 

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

Готов ответить на вопросы для уточнения и понимания данного ТЗ.



 

 

Предложения присылайте на maksim@nabiullin.com или ВКОНТАКТЕ

Основная плата аудио процессора NAG-AUDIO разведена!

Хорошие новости, основная плата нашего процессора разведена и готова к заказу тестовой партии.

Ожидаем получение готовых плат в марте, и сразу же соберем первый опытный образец.

Следите за новостями.

Установка домашнего ЦАПа AK4490 в авто

Да, да... Зачем так издеваться над домашней железкой? Затем что бы она играла там! Эксперименты с использованием домашних компонентов мы практикуем аж с 2009 года. Почему бы их не продолжить? Данный USB DAC очень хорошо воспроизводит не только FLAC lossless файлы но и DSD! И так, имеем плату ЦАПа на базе знаменитой и всеми любимой АКашке 4490: Имеем плату питания (12 вольт -> ± 15 вольт двухполярный преобразователь) Имеем плату линейного стабилизатора двухполярного питания на основе LT317 и LT337 Собираем всё это в корпусе: Получаем пригодный для использования в автомобиле топовый ЦАП! Подробности и отзыв о его прослушивании появится в скором времени!

Альтернативы lossless плееру Volumio

Набравший большую популярность среди аудифилов медиа плеер на базе linux — Volumio имеет братьев по «разуму». Рассмотрим эти альтернативы.

http://www.pimusicbox.com/

http://www.runeaudio.com/
Работает относительно стабильно, но бывают глюки с web интерфейсом.


http://archphile.org/

http://moodeaudio.org/

Сохранил в образ настроенную SD карту и поехали.

Начал с того, что скачал с гитхаба свежую альфу Volumio 2. Она, к сожалению, именно альфа. Где-то по мелочи глючит. Что важнее — аудиокарта никак не видна, то есть использовать не могу.

pimusicbox произвёл грустное впечатление запустением. Нет даже упоминания о второй малинке (а у всех для неё отдельный образ!). Скачал что есть, пока записывал на карту — полазал по серому-серому сайту — и тестить не стал.

runeaudio — симпатичнее. Это, как я понимаю, ответвление от Volumio (или наоборот — у каждого своя правда). Поэтому WebGUI практически одинаковый. Но есть приятные плюсы. Показывает обложки дисков (как понимаю — те, что вшиты в файлы).

У всех аудиокарта подключается из WebGUI — тут надо сначала config файл редактировать. Ну да нас ssh не пугает. К сожалению, до реального теста дело не дошло. У меня плеер подключен по WiFi на полке на кухне, стен много, сигнал слабый (кстати, volumio иногда запинается — что напрягает слегка. и буферизация не помогает). Но настраивал я WiFi в прямой видимости от роутера. Так вот у всех вводишь параметры WiFi подключения — и вперёд. А этот больно умный — ищет. Только хрен что находит — я минут пять ждал.

archphile не впечатлил интерфейсом судя по сайту. Может быть потому, что я его нашёл, уже играясь с moodeaudio

moodeaudio, несмотря на мелкие глюки, мне понравился. Настолько, что потыкав часок интерфейс и настроив отправил его на длительное тестирование. Расскажу отдельно.



Софт качаем тут

Volumio — Project · Volumio 13
Moode – http://moodeaudio.org 5
PiCorePlayer — piCorePlayer 8
DietPi — http://dietpi.com 6
Runeaudio — http://www.runeaudio.com/ 11 последняя версия 0.5 тут 13
Symphonic MPD —

Бюджетный стример/плеер на основе мини-платы ARM Raspberry Pi (собираем сами!)

Зачем это все?
Это попытка собрать за небольшие деньги (70-400$) собрать готовый сетевой источник или сетевой плеер (сразу аналоговый сигнал на усилитель). Такой сетевой источник поддерживает игру файлов с сетевых папок, NAS, поддерживает Airplay и играет музыку из стриминговых сервисов Tidal, Qobuz, Spotify.
Очень попытка удачная!

Для ясности, ARM — это тип процессора, вот у вас в ноутбуке стоит процессор Intel, а на мини-платах стоит ARM-процессор. Такой процессор потребляет очень мало энергии, выделяет мало тепла, ему не нужен вентилятор. Вся мини-плата обычно размером с кредитную карту. Мощности такой мини-платы хватает на воспроизведение аудио высокого разрешения, в том числе формата DSD.

Когда подобный ARM-компьютер за 50$ играет сравнимо или даже лучше чем сетевой стример за условных 2000$ от условной компании Nail или Limm, то у людей случается настоящий когнитивный диссонанс («So, is it bye-bye Naim NDX»; «couldn’t tel a difference between Pi and my Naim NDX», «My ND5 in to Naim DAC/XPS vs Raspberry Pi with HiFiBerry Digi+ in to the same». )

Я ничего не понял! Объясните!

Для старта нужно всего 4 базовых вещи. Дальше возможны улучшения, добавления, оптимизации, но эти 4 вещи нужны для запуска. По времени это занимает от 15 до 30 минут.

  1. Плата Raspberry Pi 3.
  2. Блок питания на 2 Ампера.
  3. Одна из плат расширения (еще её называют шляпой).
  4. Карта Micro SD на 8GB.

1. Плата Raspberry Pi 3 (Малинка :strawberry:)

Чтобы стартовать с ARM-источником нужно купить мини-компьютер. Он называется Raspberry Pi 3.
Стоит такая плата 2200-3000 рублей. Их продают на Avito, на Aliexpress, на eBay. Выбирайте удобный способ покупки.

Выглядит плата так:


2. Блок питания на 2 Ампера

Сгодится блок питания от iPad или Android телефона. Важно, чтобы на нем было больше 2A.
Нужен кабель USB — Micro USB, чтобы запитать Raspberry.


3. Одна из плат расширения (еще её называют шляпой)

Сама по себе плата Raspberry Pi 3 содержит аналоговый выход 3.5", но он только для проверки. Есть еще 4 выхода USB, но они тоже не подходят для вывода цифры на серьезном уровне.

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



Индустрия уже уже выпустила десятки плат расширения (шляп). Эти платы либо выводят аналоговый выход сразу на ваш усилитель, либо выводят цифровой поток на ваш ЦАП. Впрочем есть комбинированные варианты. Цена этих шляп варьируется от 15$ до 250$. Подробнее о шляпах чуть ниже ↓↓↓↓↓

4. Карта памяти Micro SD на 8GB.

Карта памяти нужна, чтобы установить софт (операционную систему с плеером). Сейчас есть 4 основных ОС — Volumio, Moode,DietPi, PiCorePlayer (тут мы их обсуждаем).
Для новичков советую скачать и установить Volumio 11.

Наверное собрать все вместе и запустить это очень сложно? Linux учить надо, да?

Во-первых, когда из разных комплектующих своими руками собирается что-то работающее — это невероятно увлекательно. Во-вторых, это экономично, да, уже сейчас за 399$, 999$ или 9000$ можно купить неплохие стримеры, но это неспортивно.

В третьих, вы создаете гибкий конструктор, в нем можно улучшить тактовый генератор, или поставить другой плеер, или по-другому организовать хранение файлов или подключить новый стимминговый сервис (например, Spotify) — в фирменных источниках все зависит от производителя, со своими источником можно делать всё что угодно. Ну и наконец, это несложно — сложность варьируется от простого прищелкивания платы расширения до небольшой пайки.
Ну и сам Linux не так страшен. Установить на него специальную аудифильскую ОС Linux тоже просто. Дальнейшая настройки и использование не потребуют от вас знания секретных команд. Потребуется время, чуть внимания, но вы это сможете!

Наверняка им неудобно пользоваться? Я всю жизнь выводил звук с компа по USB и мне норм.

Предполагается, что такой ARM-компьютер будет работать без монитора и клавиатуры, подключенным к локальной сети по Wi-Fi или сетевым кабелем, а для удобного управление проигрыванием обязательно нужен iPhone/iPad или телефон/планшет с Android или Windows Phone. Это действительно удобнее, чем тулить у компьютера.

Посмотрите, как это можно быть красиво и удобно:


Платы для вывода цифры/аналога (Шляпы 2018)

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

Pi2Design 502DAC 100$
Allo Digione
HiFiBerry Pro Digi
Пробуем и другие!


Кино от @yurivv69


Тренды

Я вам легко назову четыре основных тренда в компьютерном аудио прошлого и этого года:

  • использование ARM-плат для создания сетевых источников и сетевых плееров
  • запуск большого количества вспомогательных плат для высококачественного вывода цифры или аналогового сигнала с ARM-платы
  • появления и развитие специальных дистрибутивов ОС Linux (+плееров), заточенных под «аудиофильское» проигрывание файлов
  • Интеграция этих специальных дистрибутивов и сервисов потокового аудио (Spotify, Tidal, Deezer, Qobuz)

Если вы не чувствуете в себе сил, то можно приобрести уже готовое изделие на ARM-платах — Auralic Aries, Audio 359 Player, Sonore μRendu

Приступим!

Программатор контроллеров RTD2660 на основе Arduino NANO или Arduino PRO MICRO

Здравствуйте всем!!!

Хочу представить вам программатор контроллеров RTD2660 RTD266X Arduino Burning Serial Flash Memory на основе Arduino NANO или Arduino PRO MICRO. По сути программатор представляет собой вашу плату Arduino и программу-программатор представленную ниже.
https://ru.aliexpress.com/item/7inch...708.0.0.xrMwuA — контроллер LVDS на базе RTD2660 (плата PCB800099-V.9)


или
https://ru.aliexpress.com/item/HDMI-...708.0.0.wtoySa — контроллер LVDS на базе RTD2660 (плата PCB800099-V.9)


в них присутствует чип памяти типа 25x40 (могут быть и другие с большим или меньшим колличеством памяти), чаще всего Windond но не обязательно, на самом деле данный ПРОГРАММАТОР не зависит конкретно от этой платы и по этому можно шить любые модификации плат (с одним только HDMI или с кучей AV и т.д.) программатор не зашивает напрямую в чип памяти прошивку, он передает прошивку RTD2660, а тот в свою очередь выполняет заливку прошивки в чип памяти. https://ru.aliexpress.com/item/10-W2...708.0.0.9GkhRC


https://ru.aliexpress.com/item/Nano-...708.0.0.nRVkXZ — контроллер ATmega328P с мостом CH340


https://ru.aliexpress.com/item/Nano-...ceBeautifyAB=0 — контроллер ATmega328P с мостом FT232RL


https://ru.aliexpress.com/item/Free-...ceBeautifyAB=0 — контроллер ATmega32U4 с собственным аппаратным USB
Платы недорогие если заказывать с китая, это могут быть клоны или оригиналы.


Чисто гипотетически даже можно сконструировать из Arduino PRO MINI и моста usb-RS232 типа CH340
https://ru.aliexpress.com/item/Free-...708.0.0.jKXJ4G


и
https://ru.aliexpress.com/item/CH340...ceBeautifyAB=0
По сути эта связка и является Arduino NANO.


Этот проект НЕКОММЕРЧЕСКИЙ, поэтому проект считается финальным и улучшаться не будет, ну может кое какие критические исправления ошибок. Глюки кое какие присутствуют, но на мой взгляд не являются критичными.
Из программы можно прошить вашу Arduino и превратить в программатор RTD2660. После через эту же программу и ваш Arduino-ПРОГРАММАТОР можно залить прошивку в ваш RTD2660. Скорость работы не большая, это связано с тем что прошивка пересылается не в bitbang режиме, а по сериал порту. В среднем 5-8 минут заливается прошивка в RTD2660. Иногда попадаются платы не с оригинальным WinBond 25x40 чипом памяти, тогда нужно дважды подряд залить прошивку в RTD2660, лучше всего на второй раз произвести выключение программы и программатора и подключение как будто прошиваете в первый раз, после второго раза прошивка ложится правильно и триггеры WREN устанавливаются правильно. Этот глюк вроде уже поправил, но все же возможны нюансы.

Официально поддерживаемые и родные чипы:
Windbond (W25X10,W25X20,W25X40,W25X80)
AT (AT25DF041A,AT25DF161,AT26DF081A,AT26DF0161,AT26DF 161A,AT25DF321,AT25DF512B,AT25DF512B,AT25DF021,AT2 6DF641)
ST (M25P05,M25P10,M25P20,M25P40,M25P80,M25P16,M25P32, M25P64)
Macronix (MX25L512,MX25L3205,MX25L6405,MX25L8005)
Microchip (SST25VF512,SST25VF032)

Возможно, иные чипы придется шить дважды, как описано выше, хотя вроде все теперь поправлено и должно работать с первого раза.

Немного философии:
Почему был создан этот проект, элементарно потому что другие способы заливки прошивки в RTD2660 у меня адекватно не заработали.
Была попытка купить готовый программатор https://ru.aliexpress.com/item/Free-...311.0.0.PgLV7l.


Но по истечению 100 дней, программатор так и не пришел с китая, заказывать дороже мне показалось слишком жирно.
Есть классные проекты энтузиастов, через мосты https://ru.aliexpress.com/item/CJMCU...708.0.0.jh8fP3, но оказалось что нужен к нему диод шотке и конденсатор биполярный, причем желательно перебрать большой спектр конденсаторов, чтобы заработало, некоторые люди прижимали пальцы к контактам создавая некоторую емкость, другие добавляли резистор пытаясь создать баланс на линиях I2C.


В общем ради интереса попробовал и понял, это на уровне магии, получится сегодня али нет. Мне это не подходило, элементарно потому что когда собрал адаптер и подобрал компоненты, подключив другой контроллер RTD2660 ничего не заработало, плата PCB800099 оказалась с другой партии от другого китайского продавца и номиналы SMD на RTD2660 оказались чутка другими, снова вернулись к утраченному искусству магии, пальцы на контактах, конденсаторы и т.д.
Мне нужно было хоть и медленно, но верно и каждый раз без паяльника. Тут идеально и подошла Arduino, ведь в ней уже есть аппаратный и качественный I2C и мост USB-RS232, и подтяжки питания паять не нужно на платах PCB800099-V.9 уже все распаяно, нужна только плата Arduino, разъем VGA или HDMI и три проводка, на SDA, SCL и GND чтобы соединить их.

Вышла новая версия RTD266X Arduino Burning Serial Flash Memory 1.9
Проверено на платах двух модификаций: PCB800099-V.9 (классика) и PCB800196-V.6 (эта та что с декодировкой звука)

Не забудьте сначала залить прошивку в ваш Arduino (прошивка программатора изменилась).

В архиве ниже есть все необходимое для успешной подготовки Arduino и заливки прошивки в RTD266X. Так же в архиве добавлены прошивки для различных модификаций плат RTD266X.
https://yadi.sk/d/xbs0Pvs_MRY9Yw — Программатор

DSP процессор на ADAU1701. Часть 7 — подключение внешнего ЦАПа для увеличения количества выходных каналов.

Два аналоговых входа и четыре выхода DSP процессора для построения аудиосистемы в авто достаточно лишь для поканальной двухполоски с сабом. Мой план — три полосы (без пассивных фильтров) + саб . Соответственно, необходимо, как минимум, 6 независимых каналов. Техническая документация процессора ADAU1701 говорит о возможности загнать в него цифру и её же (цифру) из него вытащить. По входу всё очень не просто (как я понял по крайне скупой информации из инета). А вот выход по I2S теоретически не представлял сложностей… Но, как перефразировал одного древнего мыслителя Борис Борисович Гребенщиков, — «Теория суха, а древо жизни зеленеет в листах».


Заказал на Али ЦАП на 5102. Подключил к 1701 — не работает. Крутил и так и так — не получается. Смотрю осциллографом — сигналы на входе как в описании протокола, но на выходе тишина.


Заказал транспорт USB-I2S для проверки. ЦАП не работает.


Случайно на одном украинском сайте торгующем электроникой прочитал о возможной ошибке в разводке платы — когда на 20-ю ногу микросхемы приходит земля вместо питания. Это правильный вариант.


Как у меня. Ни при каких обстоятельствах такая плата работать не будет. Я пытался перерезать дорожку и повесить +3,3в как положено, но дорожки очень мелкие и земля выходит и из под микросхемы.


Заказал второй цап. Попробуйте их отличить. Надписи не признак работоспособности — на страничке с рабочим ЦАПом фото в описании не такое.


После проверки работоспособность нового цифро-аналогового преобразователя собрал всё воедино. Так как ЦАПу нужно питание от 5 до 12в, пришлось добавить dc-dc модуль на 2596. Выставил его на 7,5в.


Набросал простейшую конфигурацию для проверки работоспособности. Если выходов более 4-х, то они становятся цифровыми. Загрузил в процессор — на аналоговых выходах процессора есть сигнал, на выходе ЦАПа нет.


Цифровые выходы с процессора необходимо сконфигурировать — в IC-1-170x\140x Register Control выбрать что выводится на GPIO и поставить галку по стрелке №2. После этих манипуляций всё будет прекрасно работать.

DSP процессор на ADAU1701. Часть 6 — программирование процессора в реальном времени с помощью китайского Cypress CY7C68013A с AliExpress


На Али был куплен анализатор, аналогичный ЧипДиповскому, стоимостью в 3 раза дешевле.


С ним всё тоже прекрасно работает. И нет необходимости паять провод. Соединения: sda-sda, scl-scl, gdr-grd, +3.3v-vcc, на adau1701 не подписанный разъём, левый контакт(сброс)-pb0.