Moode audio player i2s slave. Настройка сетевого аудиоплеера на Raspberry Pi: обзор MoOde Audio

Как настроить MoOde Audio на Raspberry Pi. Какие функции предлагает этот аудиоплеер. Как решить распространенные проблемы при установке и настройке MoOde. Какие преимущества дает использование MoOde по сравнению с другими аудиоплеерами для Raspberry Pi.

Что такое MoOde Audio и его основные возможности

MoOde Audio — это специализированный дистрибутив Linux для Raspberry Pi, предназначенный для создания сетевого аудиоплеера. Основные возможности MoOde Audio включают:

  • Воспроизведение музыки с сетевых хранилищ (NAS) и USB-накопителей
  • Поддержка потоковых сервисов (Spotify, Tidal и др.)
  • Воспроизведение интернет-радио
  • Поддержка AirPlay для трансляции с устройств Apple
  • Высококачественное воспроизведение (до 24 бит/192 кГц)
  • Удобный веб-интерфейс для управления
  • Поддержка различных ЦАП и звуковых карт

MoOde предоставляет широкий функционал для создания качественной аудиосистемы на базе недорогого одноплатного компьютера Raspberry Pi.


Установка и первоначальная настройка MoOde Audio

Процесс установки MoOde Audio на Raspberry Pi состоит из следующих шагов:

  1. Скачать образ MoOde с официального сайта проекта
  2. Записать образ на SD-карту с помощью программы вроде Etcher
  3. Вставить SD-карту в Raspberry Pi и включить устройство
  4. Подключиться к веб-интерфейсу MoOde по IP-адресу или имени moode.local
  5. Настроить сетевое подключение (Wi-Fi или Ethernet)
  6. Добавить источники музыки (NAS, USB-накопители)
  7. Настроить звуковую карту или ЦАП

При первом запуске потребуется некоторое время на обновление системы и инициализацию. После этого MoOde будет готов к использованию.

Настройка подключения к сетевым хранилищам (NAS)

Одно из преимуществ MoOde — возможность воспроизведения музыки с сетевых хранилищ. Для подключения NAS выполните следующие шаги:

  1. В веб-интерфейсе перейдите в раздел «Конфигурация» — «Источники музыки»
  2. Выберите «Добавить сетевой ресурс»
  3. Укажите IP-адрес или имя NAS, путь к общей папке, протокол (SMB/CIFS или NFS)
  4. Введите имя пользователя и пароль, если требуется
  5. Нажмите «Сохранить» и «Применить изменения»

После этого музыка с NAS должна появиться в библиотеке MoOde. Если возникают проблемы, проверьте правильность настроек общего доступа на NAS.


Настройка беспроводного подключения Wi-Fi

Для использования MoOde по беспроводной сети выполните следующие действия:

  1. В веб-интерфейсе перейдите в раздел «Сеть»
  2. Выберите «Беспроводная сеть (Wi-Fi)»
  3. Укажите SSID вашей сети Wi-Fi
  4. Выберите тип шифрования (WPA/WPA2 или без защиты)
  5. Введите пароль сети (если есть)
  6. Нажмите «Применить» и перезагрузите устройство

После перезагрузки Raspberry Pi должен подключиться к Wi-Fi сети. Если соединение не устанавливается, проверьте правильность SSID и пароля.

Настройка звуковой карты и ЦАП

MoOde поддерживает широкий спектр звуковых карт и ЦАП для Raspberry Pi. Для настройки аудиовыхода:

  1. Перейдите в раздел «Аудио» в веб-интерфейсе
  2. Выберите вашу звуковую карту или ЦАП из списка
  3. Настройте параметры (частота дискретизации, разрядность и т.д.)
  4. Примените изменения и перезагрузите систему

Большинство популярных ЦАП определяются автоматически. Для некоторых устройств может потребоваться дополнительная настройка или установка драйверов.

Решение распространенных проблем при работе с MoOde

При использовании MoOde могут возникать некоторые типичные проблемы:


  • Не работает Wi-Fi — проверьте правильность настроек и перезагрузите систему
  • Не монтируются сетевые ресурсы — убедитесь в корректности параметров подключения
  • Зависание веб-интерфейса — может быть вызвано проблемами с SD-картой или питанием
  • Нет звука — проверьте настройки аудиовыхода и громкость
  • Не отображаются обложки альбомов — убедитесь, что они есть в папках с музыкой

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

Преимущества MoOde по сравнению с другими аудиоплеерами

MoOde имеет ряд преимуществ перед другими популярными аудиоплеерами для Raspberry Pi:

  • Более удобный и функциональный веб-интерфейс
  • Лучшая поддержка различных ЦАП и звуковых карт
  • Встроенный эквалайзер и DSP-эффекты
  • Возможность тонкой настройки параметров воспроизведения
  • Регулярные обновления и активное сообщество пользователей
  • Хорошая производительность даже на слабых моделях Raspberry Pi

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


Дополнительные возможности и плагины для MoOde Audio

Помимо базового функционала, MoOde предлагает ряд дополнительных возможностей:

  • Поддержка Bluetooth для беспроводных наушников и колонок
  • Возможность установки дополнительных плагинов
  • Интеграция с умным домом и голосовым управлением
  • Поддержка многокомнатных аудиосистем
  • Возможность удаленного управления через мобильные приложения

Постоянно появляются новые плагины, расширяющие функциональность MoOde. Это позволяет настроить систему под любые потребности пользователя.


DIY аудиоплеер Volumio2 на Orange Pi PC с ADAU1701

Рукоблудства пост.

Подключение DAC ADAU1701 к Orange Pi PC и сопутствующие проблемы.

По мотивам mysku.club/blog/diy/72923.html

Давно купил OPI в официальном магазине https://aliexpress.ru/item/item/32807985615.html

Брал с блоком питания.
После почти 2-х лет, блок стал свистеть. Но пока работает.
О плате linux-sunxi.org/Xunlong_Orange_Pi_PC

Так как, купить плату от CHIPDIP не мог, купил ADAU1701 на алике.
Пришла плата с ADAU1401

Софт и инструкцию по программированию смотрите в оригинальном посте mysku.club/blog/diy/72923.html (спасибо Gdenich!)
Подключение:

Для сохранения прошивки надо замкнуть wp и gnd на краю платы ADAU1701 / ADAU1401 во время прошивки. См. «Write latest compilation to E2PROM» в инструкции.

Версия Volumio2 2.806 — брал здесь:
yadi.sk/d/nu0jImMZBBTFkA

Оригинальный тред:
community. volumio.org/t/volumio-2-on-orange-pi-boards/8353

Проект ADAU1701_I2S_Test.dspproj для SigmaStudio здесь:
github.com/MKSounds/ADAU1701-I2S-Audio-Driver-for-Raspberry-Pi

Подключение к OPI:

Настройки Volumio2

1. DAC

Если не так, то зайти по SSH (volumio:volumio) и убедиться, что в файле /boot/armbianEnv.txt user_overlays=sun8i-h4-i2s0-slave
SSH включить — см. ниже.
cat /boot/armbianEnv.txt

armbianEnv.txt

verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h4
overlays=i2c0 analog-codec
rootdev=/dev/mmcblk0p2
rootfstype=ext4
user_overlays=sun8i-h4-i2s0-slave
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
extraargs=imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh

Поменять, если нет и перезагрузить.
nano /boot/armbianEnv.txt
user_overlays=sun8i-h4-i2s0-slave

По началу не работало с микшером, но сейчас вот так:

Это обязательно!!!

2.

SSH
http_://volumio/dev/ «dev» набрать руками.
SSH->ENABLE
Ну и не забудьте отключить после модификаций, чтоб не плодить дыр в безопасности.

3. Решаем проблему AirPlay, так как shairport-sync не поддерживает 48kHz, используем передескретизацию alsa
Для этого меняем 2 файла:
volumio@volumio:~$ cat /volumio/app/plugins/music_service/airplay_emulation/shairport-sync.conf.tmpl

shairport-sync.conf.tmpl

general =
{
name = «${name}»;
};

diagnostics =
{
log_verbosity = 0;
};

alsa =
{
//output_device = «${device}»;
output_device = «rate_convert»
${buffer_size_line}
};

sessioncontrol =
{
allow_session_interruption = «yes»;
run_this_before_play_begins= «/usr/local/bin/volumio startairplayplayback»;
run_this_after_play_ends = «/usr/local/bin/volumio stopairplayplayback»;

run_this_before_entering_active_state=»/usr/local/bin/volumio airplayactive»;
run_this_after_exiting_active_state=»/usr/local/bin/volumio airplayinactive»;
};

metadata =
{
enabled = «yes»;
include_cover_art = «no»;
//pipe_name = «/tmp/shairport-sync-metadata»;
//pipe_timeout = 5000;
socket_address = «127. 0.0.1»;
socket_port = 5555;
};

nano /volumio/app/plugins/music_service/airplay_emulation/shairport-sync.conf.tmpl
секция alsa:
output_device = «rate_convert»

и
cat /etc/asound.conf

asound.conf

pcm.rate_convert {
type rate
slave {
pcm «hw:0,0»

rate 48000
format S24_LE
}
}

pcm.softvolume {
type plug
slave.pcm «softvol»
}

pcm.softvol {
type softvol
slave {
pcm «plughw:0,0»
}
control {
name «SoftMaster»
card 0
device 0
}
max_dB 0.0
min_dB -50.0
resolution 100
}

nano /etc/asound.conf
pcm.rate_convert {
type rate
slave {
pcm «hw:0,0»
rate 48000
format S24_LE
}
}

Внимание!!! после сохранения настроек громкости, файл /etc/asound. conf будет переписан!
Можно внести изменения в код Volumio или не менять настройки после изменений файла.

4. NSA320
Ну и настройки шары, у меня заработало только после установки vers=1.0

Ещё есть допустимое значение vers=2.0, но не в моём случае.

И хотя этот пост скорее решение тех. проблем, опишу что умеет:
Играет музыку с:
USB флешки
сетевого диска
AirPlay
upnp
есть плагины для сервисов

80s80s Radio 51 80s80s Radio Plugin for Volumio 2
LastFM Plugin to scrobble music played in Volumio 2.x to LastFM
LastFM Another plugin to scrobble music played in Volumio 2.x to LastFM
Logitech Media Server (LMS) plugin Installs the latest known working version of LMS and needed CPAN fixes.
Nanosound CD Nanosound CD playback and extraction plugin.
Pandora Plugin Plugin that connects to the Pandora service.
Personal Radio (Korean stations) This music service plugin provides Korean radio(KBS, MBC) and Linn radio.
Phish.in Plugin to play over 1,500 live Phish audience recordings from Phish.in.
Podcast Plugin Playing a podcast item and add or delete a podcast RSS feed
Radio ParadiseThe Radio Paradise plugin allows to play their streams — including the FLAC version — within volumio.
Radio Nowy Swiat Plugin to stream Radio Nowy Swiat 13
Roon Bridge Stream music from Roon to Volumio
Spotify To use Spotify directly in Volumio
Squeezelite Squeezelite client
Volspotconnect To create a Spotify connect device in Volumio based on Spotify-connect-web
volspotconnect2 To create a Spotify connect device in Volumio but based on librespot
Volusonic Plugin that allows any subsonic API (<1.13.0) capable server ( subsonic / airsonic / etc…) to be used as backend for Volumio.

Добавлю ссылку на ADAU1701/ADAU1401 в поиске: aliexpress.ru/wholesale?catId=0&initiative_id=SB_20201203051029&SearchText=adau1401

*******************************************************************************************
Добавлю про IR:
LIRC не заработал:
с dev/lirc0 не удалось обучить.
/dev/uinput — отсутствует

но по заветам удалось использовать ir-keytable

apt-get install ir-keytable

sudo ir-keytable

Found /sys/class/rc/rc0/ (/dev/input/event1) with:
        Driver sunxi-ir, table rc-empty
        Supported protocols: NEC RC-5 RC-6 JVC SONY SANYO LIRC RC-5-SZ SHARP XMP other
        Enabled protocols: NEC LIRC
        Name: sunxi-ir
        bus: 25, vendor/product: 0001:0001, version: 0x0100
        Repeat delay = 500 ms, repeat period = 125 ms

проверить по какому протоколу работает пульт (из Supported protocols):
ir-keytable -p NEC -t

event type EV_MSC(0x04): scancode = 0x70707

если scancode выводит — значит декодирует.

далее, находим в сети или сами создаём файл в директории /etc/rc_keymaps/
/etc/rc_keymaps/samsung


# table my_samsung, type: NEC
0x70707 KEY_VOLUMEUP
0x7070b KEY_VOLUMEDOWN

имена кнопок для TRIGGERHAPPY(см. ниже)

меняем содержимое /etc/rc_maps.cfg на:

*       *                /etc/rc_keymaps/samsung

запускаем ir-keytable -t -w /etc/rc_keymaps/samsung


event type EV_KEY(0x01) key_down: KEY_VOLUMEUP(0x0001)
event type EV_SYN(0x00).
event type EV_MSC(0x04): scancode = 0x70707
event type EV_SYN(0x00).
event type EV_KEY(0x01) key_down: KEY_VOLUMEUP(0x0001)
event type EV_SYN(0x00).
event type EV_KEY(0x01) key_up: KEY_VOLUMEUP(0x0001)

далее, в /etc/rc.local

/usr/bin/ir-keytable -a /etc/rc_maps.cfg

остальное сделает демон triggerhappy
он запущен с такими настройками:
cat /etc/triggerhappy/triggers.d/audio.conf


#VOLUMIO TRIGGERHAPPY CONFIGURATION FILE

#MUTE TOGGLE
KEY_MIN_INTERESTING 1 /usr/local/bin/volumio volume toggle

#VOLUME UP
KEY_VOLUMEUP 1 /usr/local/bin/volumio volume plus

#VOLUME DOWN
KEY_VOLUMEDOWN 1 /usr/local/bin/volumio volume minus

#PLAY PAUSE TOGGLE
KEY_PLAYPAUSE 1 /usr/local/bin/volumio toggle

#NEXT
KEY_NEXTSONG 1 /usr/local/bin/volumio next

#PREVIOUS
KEY_PREVIOUSSONG 1 /usr/local/bin/volumio previous

Сетевой транспорт, плата гальванической развязки для Beaglebone Black — audiohobby.

ru

BeagleBone Black – это мини-компьютер на ARM процессоре. Особо ценен в аудио кругах, тем что позволяется легко организовать сетевой стример и при этом он способен работать по шине I2S в Slave режиме, принимая внешний clock. А это особенно важно при реализации  качественного транспорта.

Мной специально была разработана «шляпа», которая реализует гальваническую развязку и интерфейсно совместима с моими конструкциями. 

 

Генераторы Y1, Y2 предусмотрены как дополнительная опция для сторонних конструкций ЦАП, которые не имеют своих генераторов на борту.

L3, L4 это дополнительные опции, запаивать их не следует. Так L3 позволяет подать напрямую 3.3в с платы BBB и сэкономить на стабилизаторе U2. Но с учетом больших шумов бортового питания делать это не рекомендуется. Установка бусины перемычки в позицию L4 используется для Beaglebone green.  

Печатная плата

 

Распиновка разъём I2S

Разъём i2s имеет распиновку Lynx Audio. Контакты 2, 4, 6, 8 — земля ЦАПа. Контакт 9 — питание гальванической развязки 3,3В со стороны ЦАПа.

Контакты 1, 3, 5, 7 — сигналы шины i2s:

ФорматPin 1Pin 3Pin 5Pin 7
PCMBCK INSDATA INLRCK INMCLK IN/OUT
DSDDSD BCK INDSD LEFT INDSD RIGHT INMCLK IN/OUT

Контакт 10 — сигнал сброса ЦАПа при смене частоты дискретизации или PCM/DSD режима. Низкий логический уровень — нормальная работа, высокий логический уровень — сброс.

Разъем CONTROL

Контакты 2, 4, 8 — эмиттеры оптопар соединены с землей на плате.  Остальные контакты 1, 3, 7 представляют собой открытый коллектор оптопары который должен быть подтянут на стороне ЦАПа к нужному напряжению резистором от 6,8кОм до 15кОм. Пины 5/6 и 9/10 не используются, решено было использовать 10-контакный разъем для совместимости с модулем Bolero v1/2.  Таким образом, информация о частоте дискретизации на ЦАП не передается (пины 5/6 и 9/10 не используются, в отличие от Bolero), т.е. цап должен самостоятельно определять частоту дискретизации.

Контакт 1 — сигнал включения нужного генератора мастерклока (на частоту х44.1кГц либо х48.0кГц). 

Контакт 3 — сигнал Connect. ЦАП активен, если уровень «0». При подаче «1» ЦАП переходит в режим Mute.

Контакт 7 — сигнал PCM/DSD. Уровень «0» определяет наличии DSD потока на выходе. Для PCM потока — уровень «1».

Контакты 5, 9 — не используются.

Так как на контакты 5 и 9 информация о текущей частоте дискретизации не выдается, то сам ЦАП должен быть сконфигурирован в режим fs auto. Для этого на AH-D5 / AH-D6 должен быть снят джампер с контакта 7 разъема Config (AK4490 — Auto Setting Mode, ACKS bit = “1”).  

 

Прошивка и настройка BeagleBone Black

 

Предлагается использовать прошивку от Павла Погодина искать на сайте https://puredsd.ru/

Чтобы записать образ во внутреннюю память BBB:

  1. Загрузите Pure. gz с сайта puredsd.ru/ (см. раздел Software for new DSC2 and PPY`s ReClocker)
  2. С помощью Etcher записать этот файл на SD (архив gz распаковывать не нужно)
  3. Уберите из конфига uEnv.txt: «snd_soc_botic.clk_44k1=45158400 snd_soc_botic.clk_48k=49152000» (подробнее ниже)
  4. Вставьте SD в BBB.
  5. Нажмите и удерживайте S2.
  6. Подключите питание к BeagleBone.
  7. Когда загорятся все четыре светодиода, отпустите S2.
  8. Через несколько секунд запустится Linux.
  9. Подключитесь к BBB через любой веб-браузер и нажмите кнопку «Копировать SD в eMMC». Когда копирование будет завершено, BBB автоматически выключится.

Прошивка обеспечивает автоматическое назначение IP-адресов с помощью DHCP. Узнать новый IP-адрес можно на домашнем роутере или запустить программу advanced-ip-scanner. BeagleBone будет указан как производитель Texas Instruments.

Или просто откройте botic7.local в своем веб-браузере.

Выбор используемых тактовых генераторов.

По умолчанию в прошивка Павла предполагает использование тактовых генераторов на 45.158Мгц / 49.152Мгц. Но так как для большинства моих ЦАП-пов предлагается использовать клоки на 24.576Мгц / 22.5792Мгц, то придется отредактировать файл конфигурации /boot/uEnv.txt

Просто уберите из конфига записи: «snd_soc_botic.clk_44k1=45158400 snd_soc_botic.clk_48k=49152000». 

Это можно сделать подключившись по ssh к BBB или, что для большинства проще, отредактировать его хоть из под windows на самой SD карте перед прошивкой в BBB. Внимание, если система уже записана на внутреннюю память, то только через SSH.

 

Ссылка для заказа печатных плат в Китае

Аудиоплеер Moode для Raspberry Pi | Страница 158

№ 3143