NEWS

Аудиоплеер для мультирума


  • Появилась идея создать универсальный HiFi плеер на дешевой элементной базе.

    В итоге были отобраны следующие кандидаты OrangePi One и DAC Sabre ES9023.

    Понимаю, что в сети очень много проектов плееров на одноплатниках, таких как piCorePlayer,

    Volumio и скажу Вам весьма неплохих, но не под наше железо.

    Итак продолжим… В качестве ОС была выбрана Armbian (server) Debian jessie.

    Скачиваем образ ОС с оф сайта Armbian - https://www.armbian.com/orange-pi-one/ и звписываете его на карту.

    Я использовал карту Sandisk Ultra 16Gb UHS-I, каких то проблем со скоростью работы замечено не было.

    Подключаем Ethernet к апельсинке, устанавливаем карту с записаным образом и включаем питание. Ждем 1-2 минуты.

    Выясняем какой IP адрес получила наша апельсинка и подсоединяемся к ней через SSH (root:1234)

    После первого включения нас попросят задать новый пароль, потом создать нового пользователя и.т.д…

    В конце концов нам необходимо будет обновить пакеты

    apt-get upgrade

    после этого смело можно установить mc (мне с ним намного удобнее)

    atp-get install mc

    Затем перезагружаемся reboot.

    1. Настройка WiFi https://forum.armbian.com/index.php/top … s-success/

    Смотрим что за WiFi адаптер у нас lsusb

    1.1. Если Ваш адаптер определяется как

    Bus 002 Device 003: ID 0bda:8179 Realtek Semiconductor Corp.
    

    В этом случае Вам сильно повезло, т.к. в ядре все для него уже есть. Но он и по цене дороже (примерно 240 руб)

    1.2. Если Вам не повезло, как и мне, и вывод lsusb показал

    Bus 002 Device 003: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
    

    Не расстраиваемся (ведь этот модуль самый дешевый 140 руб) и читаем https://github.com/pvaret/rtl8192cu-fixes

    вкратце необходимо выполнить

    cd /usr/src
    apt-get install git build-essential dkms
    git clone https://github.com/pvaret/rtl8192cu-fixes.git
    dkms add ./rtl8192cu-fixes
    dkms install 8192cu/1.10
    depmod -a
    cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
    cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/
    

    Все перезагружаемся.

    1.3 Остается только поправить файлы конфигурации:

    /etc/network/interfaces

    allow-hotplug wlan0
       iface wlan0 inet dhcp
             wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    
    

    /etc/wpa_supplicant/wpa_supplicant.conf

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
            ssid="<your_ssid>"
            psk="<your_password>"
            key_mgmt=WPA-PSK
            priority=99
    }</your_password></your_ssid>
    

    после перезапуска сети /etc/init.d/networking restart или ifdown wlan0 && ifup wlan0

    на крайний случай можно и reboot.

    2 Настройка источников вывода звука

    2.1 Подключение DAC Sabre ES9023 https://forum.armbian.com/index.php/top … nge-pi-h3/

    Подготавливаем ядро для работы по I2S.

    cd /boot
    bin2fex script.bin script.fex
    

    редактируем script.fex

    [twi1]
    twi_used = 1
    

    меняем на

    [twi1]
    twi_used = 0
    

    и

    [pcm0]
    daudio_used = 0
    

    меняем на

    [pcm0]
    daudio_used = 1
    

    запакуем ядро обратно

    fex2bin script.fex script.bin

    перезагружаемся.

    проверяем доступные аудиоадаптеры aplay -l

    **** List of PLAYBACK Hardware Devices ****
    card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: snddaudio [snddaudio], device 0: SUNXI-TDM0 snddaudio-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 2: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    

    нас интересует

    card 1: snddaudio [snddaudio], device 0: SUNXI-TDM0 snddaudio-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    

    это и есть наш DAC подключенный по I2S (заметим, что dac даже не подключен физически)

    Настало время подключить физически наш DAC проводками к OrangePi One

    5V > Pin 2
    Gnd > Pin6
    BCK > Pin 27
    LRCK > Pin 28
    Data > Pin37
    Gnd > Pin39
    

    Во многих программах воспроизведения достаточно было в качестве устройство вывода звука указать - "hw:1,0" и все,

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

    2.2 - разделение внутреннего аналогового стерео выхода на два независимых источника моно вывода звука.

    Варианты применения:

    Сделать озвучку Ванная (моно) + Уборная (моно) без DACа. Это будут отдельные устройства для LMS

    Ванная например левай канал, Уборная Правый, запущено будет 2 копии squeezelite, каждая на своем канале.

    Привожу конфиги для alsa и запуск двух squeezelite как сервисов.

    Получилось создать 2 независимых плеера с mono сигналом на OrangePi one без DAC.

    Если Вам этого не нужно, то пропускаем этот раздел.

    /etc/asound.conf - /etc/asound.conf - (если конфига нет, то создаем его)

    pcm.mix_left {
    type plug
    slave.pcm {
    type dshare
    ipc_key 123456
    slave.pcm "hw:0"
    slave.channels 2
    bindings.0 1
    }
    }
    
    pcm.mix_right {
    type plug
    slave.pcm {
    type dshare
    ipc_key 123456
    slave.pcm "hw:0"
    slave.channels 2
    bindings.0 0
    }
    }
    

    Создаем service-файл squeezelite_left.service в директории /lib/systemd/system/ (МАС адрес "-m" и название "-n" задаем "по вкусу")

    [Unit]
    Description=Squeezelite_left (squeezebox emulator for linux)
    After=multi-user.target
    
    [Service]
    Type=simple
    ExecStart= /usr/bin/squeezelite -D -v -o mix_left -n Orange_left -m 00:00:00:00:00:05
    
    [Install]
    WantedBy=multi-user.target
    

    Создаем service-файл squeezelite_right.service по аналогии

    [Unit]
    Description=Squeezelite_right (squeezebox emulator for linux)
    After=multi-user.target
    
    [Service]
    Type=simple
    ExecStart= /usr/bin/squeezelite -D -v -o mix_right -n Orange_right -m 00:00:00:00:00:06
    
    [Install]
    WantedBy=multi-user.target
    

    Включить только что созданный файл сервиса в автозагрузку (это создаст symlink-и в папке \etc\systemd\system\multi-user.target.wants )

    systemctl enable squeezelite_left.service
    systemctl enable squeezelite_right.service
    
    

    Если не хотите перезагружаться, то запустить сервисы

    systemctl start squeezelite_left.service
    systemctl start squeezelite_right.service
    
    

    3. Микширование сигнала от разных программ https://www.opennet.ru/base/X/dmix_setup.txt.html

    Я мало в этом разобрался, но но этот конфиг работает (может и что-то сделано и коряво)

    /etc/asound.conf - (если конфига нет, то создаем его)

    pcm.!default {
      type hw
      card audiocodec
                 }
    
    ctl.!default {
      type hw
      card audiocodec
                 }
    
    pcm.es9023-dac {
        type dmix
           ipc_key 1024 # must be unique!
           ipc_key_add_uid false # let multiple users share
           ipc_perm 0666 # IPC permissions for multi-user sharing (octal, default  0600)
    
        slave {
           pcm "hw:1,0" # you cannot use a "plug" device here, darn.
           period_time 0
           period_size 2048 # must be power of 2
           buffer_size 32768 # dito. It
           rate 192000
           format "S32_LE"
           #periods 128 # dito.
           #rate 8000 # with rate 8000 you *will* hear,
           # if ossmix is used :)
        }
    
        # bindings are cool. This says, that only the first
        # two channels are to be used by dmix, which is
        # enough for (most) oss apps and also lets
        # multichannel chios work much faster:
        bindings {
           0 0 # from 0 => to 0
           1 1 # from 1 => to 1
        }
        }
    pcm.es9023-mix {
       type plug
       slave.pcm "es9023-dac" # use our new PCM here
    }
    
    # mixer0 like above
    ctl.mixer0 {
       type hw
       card 0
    }
    

    После этого если сделать aplay -L

    то вверху мы увидим новые звуковые интерфейсы

    es9023-dac
    es9023-mix
    

    Теперь если нам необходимо из разных программ одновременно воспроизводить музыку, то вывода звука выбираем es9023-mix.

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

    4. Установка ПО плееров.

    4.1 - squeezelite (одиночное или синхронное воспроизведение музыки)

    Скачиваем отсюда последнюю версию https://sourceforge.net/projects/lmscli … ueezelite/

    cd /usr/src
    wget https://sourceforge.net/projects/lmsclients/files/squeezelite/linux/squeezelite-1.8.6-957-armv6hf.tar.gz/download -O squeezelite-1.8.6-957-armv6hf.tar.gz 
    

    распаковываем архив и помещаем squeezelite и squeezelite-ffmpeg в папку usr/bin/

    Добавляем авто-запуск squeezelite как сервис

    /lib/systemd/system/squeezelite.service

    [Unit]
    Description=Squeezelite (squeezebox emulator for linux)
    After=multi-user.target
    
    [Service]
    Type=simple
    ExecStart= /usr/bin/squeezelite-ffmpeg -D -v -o es9023-mix -n Orange-Test -m 00:00:00:00:00:1f
    
    [Install]
    WantedBy=multi-user.target
    

    Включить только что созданный файл сервиса в автозагрузку (это создаст symlink-и в папке \etc\systemd\system\multi-user.target.wants )

    systemctl enable squeezelite.service
    

    Если не хотите перезагружаться, то запустить сервисы

    systemctl start squeezelite.service
    

    можно установить и из репозитория apt-get install squeezelite

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

    /etc/default/squeezelite

    SL_SOUNDCARD="es9023-mix"
    

    После перезапуска сервиса или перезагрузки, наш Logitech Media Server c радостью найдет новый плеер.

    4.2 - shairport-sync (для Apple устройств)

    Устанавливаем из репозитория apt-get install shairport-sync

    правим в /etc/shairport-sync

    name = "Orange-Test";
    alsa =
    {
    output_device = "es9023-mix";
    mixer_device = "dmix";
    };
    

    После перезагрузки нашего плеера на яблофонах (подключенных в эту-же сеть) в качестве вывода звука, можно будет наблюдать устройство Orange-Test.

    5. Хардварное управление плеерами.

    (частично реализовано здесь - http://forum.iobroker.net/viewtopic.php?f=33&t=5119)

    Было много вопросов на тему: "А поддерживают ли данные плееры SayIt?" - отвечу что нет. Да несилен я в языках программирования, только железо и только конфиги…

    Вот уже и вывод звука для MPD появился...

    Возникает еще вопрос, почему именно I2S-DAC, а не встроенная звуковая карта. Я вообще не меломан, но оказалось все очень просто у es9023 на 16 ноге присутствует выход ZD

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

    https://forum.armbian.com/index.php/top ... -receiver/ , выход управления питанием не получить.

    Усилители использую TDA7492, PAM8610 и PAM8403 - дешево и сердито.

    Анонс следующих выпусков:

    4.3 - Установка MPD.


  • Отличная статья, спасибо!

    Лично я жду п.5 . Может его в топ переместить? 🙂


  • Выбираю сейчас апельсинку для заказа. Orange PI One не очень нравится что нет Wi-Fi и проц H2

    Есть у них Orange PI Lite, в Wi-Fi only на борту , проц. H3

    Проблем с подключением к I2S не будет в нем?


  • Orange PI One - Проц H3 памяти 512.

    Отсутствие WiFi легко решается через USB.

    Если на Orange PI Lite - выведены все 40 GPIO, то проблем не должно быть. По мне лучше Ethernet, чем WiFi.

    PS: хотел сделать кнопки для управления к GPIO, но что-то sunxi (H3) никак не могу правильно прерывания обрабатывать. На малинке все в пол пинка делалось… -:(


  • Огромное спасибо за разжеванную инструкцию 🙂

    Попробовал запустить вот такой наборчик

    https://ru.aliexpress.com/item/New-Oran … 29852.html

    За пару часов вдумчивой адаптации типа как взлетело - LMS установленный на ноуте увидел клиента и чудно играет на нем музыку.

    Основная заминка была в том, что пробовал сначала на наушниках (гарнитуре) взлететь но с ними нифига не получалось - шипение, свист и т.д.

    Пришлось мотнуться в ближайший лабаз и нахватить самые простые активные колонки SVEN SPS-607.

    Сижу, слушаю музыку 🙂

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

    Ну и стопочка из Orange Pi One, DAC Sabre и усилка ждет своей участи 🙂

    В связи с этим вопрос - можно чуть поподробней осветить вопросы связанные с отключением питания усилка когда DAC ничего не играет?

    Если можно то со схемкой/номиналами деталей 🙂


  • @MSapogov:

    PS: хотел сделать кнопки для управления к GPIO, но что-то sunxi (H3) никак не могу правильно прерывания обрабатывать. На малинке все в пол пинка делалось… -:( `
    https://ru.aliexpress.com/item/PCM2704- … 05823.html - USB-DAC с кнопками громкости и mute.

    https://www.youtube.com/watch?v=9PcWuyjEuW0 - типа обзор.

    https://sites.google.com/site/picorepla ... f-USB-DACs - нашел в этом списке.


  • Кстати греется апельсинка…

    С наклеенным радиатором и в закрытом корпусе получается 51-54 градуса (по диагностике внутри системы).

    Это нормально? Или предпринимать дополнительные шаги по охлаждению?


  • @SolarW:

    Кстати греется апельсинка…

    С наклеенным радиатором и в закрытом корпусе получается 51-54 градуса (по диагностике внутри системы).

    Это нормально? Или предпринимать дополнительные шаги по охлаждению? `
    да нормальная температура, на проц посмотри по даташиту рабочую температуру.


  • @SolarW:

    @MSapogov:

    PS: хотел сделать кнопки для управления к GPIO, но что-то sunxi (H3) никак не могу правильно прерывания обрабатывать. На малинке все в пол пинка делалось… -:( `
    https://ru.aliexpress.com/item/PCM2704- … 05823.html - USB-DAC с кнопками громкости и mute.

    https://www.youtube.com/watch?v=9PcWuyjEuW0 - типа обзор.

    https://sites.google.com/site/picorepla ... f-USB-DACs - нашел в этом списке. `
    поддержка Вашей USB в picoreplayer для нашей опельсинки ничего не значит 😞

    SSPND сигнал с Вашей PCM2704 кажется тоже можно задействовать для вавода усилка из спячки (стр 26, 28 даташита).

    Если DAC Sabre , то все зависит чем у Вас управляется питание усилка, есть усилки которые управляются 0, я есть те которым нужна 1, чтобы включится.

    ES9023 - на 16 ноге выдает "1" когда звука нет.

    Вариантов несколько:

    1. у меня используется обычный инвертор на биполярном транзисторе, под рукой был bc817 в корпусе sot23 и 2 резистора на 6,8к. В моем случае когда на 16 ноге "0", то на выходе транзистора будет "1" - это +5В, их я и подаю на усилок для пробуждения.

    2. можно поставить оптрон вот так (нога 16 , резистор, светодиод оптрона, +3.3В). Тогда гогда на выходе будет "0", то оптрон будет открыт. Выход оптрона включать в соответствии с требованием усилка.


  • @instalator:

    да нормальная температура, на проц посмотри по даташиту рабочую температуру. `
    Поверил на на слово 🙂


  • @MSapogov:

    нужна 1, чтобы включится.

    ES9023 - на 16 ноге выдает "1" когда звука нет.

    Вариантов несколько:

    1. у меня используется обычный инвертор на биполярном транзисторе, под рукой был bc817 в корпусе sot23 и 2 резистора на 6,8к. В моем случае когда на 16 ноге "0", то на выходе транзистора будет "1" - это +5В, их я и подаю на усилок для пробуждения.

    2. можно поставить оптрон вот так (нога 16 , резистор, светодиод оптрона, +3.3В). Тогда гогда на выходе будет "0", то оптрон будет открыт. Выход оптрона включать в соответствии с требованием усилка. `
    Вот тут то как раз и вопрос.

    https://ru.aliexpress.com/item/2016-Hot … 337774.htm - усилок взял такой.

    И похоже ошибся в выборе - не вижу на нем никаких пинов для "пробуждения"

    • вход аудио (3 пина)

    • выход правого канала (2 пина)

    • выход левого канала (2 пина)

    • вход питания (2 пина)

    Больше ничего нет...


  • @SolarW:

    https://ru.aliexpress.com/item/2016-Hot … 337774.htm - усилок взял такой.

    И похоже ошибся в выборе - не вижу на нем никаких пинов для "пробуждения"

    • вход аудио (3 пина)

    • выход правого канала (2 пина)

    • выход левого канала (2 пина)

    • вход питания (2 пина)

    Больше ничего нет... `
    Хотя стоп

    http://www.ab-log.ru/forum/viewtopic.ph … =20#p24603 - вроде бы усилитель взял по ссылке рекомендованной "лучшими собаководами" 🙂

    Михаил, признавайтесь как вы его "будите" 🙂

    https://ru.aliexpress.com/item/ES9023-I ... 45889.html - саблю кстати тоже 🙂

    https://myl8test.files.wordpress.com/20 ... asheet.pdf - судя по даташиту шишнадцатая нога находится напротив первой.

    Правильно понимаю что первая нога помечена "ямкой" на чипе (в даташите однозначного ответа не увидел)?


  • @SolarW:

    Михаил, признавайтесь как вы его "будите" 🙂 `
    "Элементарно Ватсон!"

    Внимательно изучаем даташит на TDA7492, смотрим на плату и находим куда идет 20 нога (это и есть стендбай)… А на плате она идет через резистор 3К к 3.3В.

    Делаем небольшую модернизацию... передвинув резистор в свободную сторону к 3.3В и на освободившуюся площадку подпаиваем проводок для управления питанием.

    На ES9023 перерезаем MCLK (он все равно не используется) и вместо него делаем сигнал пробуждения для усилка.
    643_img_20170202_090028.jpg
    643_img_20170126_193929.jpg


  • А в какой корпус можно засунуть апельсину и DAC? В оригинальный полупрозрачный войдет?

    Хотелось бы иметь приличный вид у такой сборки.

    Усилок не нужен, так как буду подключать в av ресиверу.

    Или если задача подавления шума усилителя в паузе не стоит, то не стоит заморачиватся с отдельным DAC?


  • @VictorS:

    Или если задача подавления шума усилителя в паузе не стоит, то не стоит заморачиватся с отдельным DAC? `
    Совершенно верно.

    Если Вы только не хотите получить 24бит 192кГц звук.

    Корпус любой, можно и стандартный.

    Если к усилку можно подключить через HDMI, то и DAC никакой не нужен, для 24бит 192кГц звука.


  • @VictorS:

    А в какой корпус можно засунуть апельсину и DAC? В оригинальный полупрозрачный войдет?

    Хотелось бы иметь приличный вид у такой сборки. `
    Испытываю некоторые сомнения что поместится…

    ! ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201702 ... d14020.jpg">https://uploads.tapatalk-cdn.com/20170202/b6e620edf9bf551ff899efd349d14020.jpg</link_text>" />


  • @MSapogov:

    "Элементарно Ватсон!" `
    Ух ты! В картинках - это как раз для нас, чайников 🙂
    @MSapogov:

    Внимательно изучаем даташит на TDA7492, `
    Вот тут собственно и началась проблема - в виду слабой теоретической подготовки понимание даташитов не является моей сильной стороной… сходу понимаю в них только габаритные размеры да температурный режим 🙂
    @MSapogov:

    смотрим на плату и находим куда идет 20 нога (это и есть стендбай)… А на плате она идет через резистор 3К к 3.3В.

    Делаем небольшую модернизацию... передвинув резистор в свободную сторону к 3.3В и на освободившуюся площадку подпаиваем проводок для управления питанием. `
    Ага, значит сняв радиатор это все проделывать надо.

    "Сдвинув в сторону" - это типа остался на одной ноге висеть чтобы не потерялся на случай если назад запаивать?
    @MSapogov:

    На ES9023 перерезаем MCLK (он все равно не используется) и вместо него делаем сигнал пробуждения для усилка. `
    Уууу… монтаж SMD... Чувствую что к комплекту мелких жал для паяльника придется еще и увеличительное стекло докупить...

    Дорожка дремелем перебита?
    @MSapogov:

    1. у меня используется обычный инвертор на биполярном транзисторе, под рукой был bc817 в корпусе sot23 и 2 резистора на 6,8к. В моем случае когда на 16 ноге "0", то на выходе транзистора будет "1" - это +5В, их я и подаю на усилок для пробуждения. `
    http://www.smd-component.ru/webcatalog/ … code=08131 - правильно понимаю что два добавленных элемента с маркировкой 6801 это такие резисторы как по ссылке описаны?

    http://www.s-manuals.com/ru/smd/6b - а вот тут собственно искомые транзисторы

    К ножке MCLK разъема получается коллектор транзистора припаян и туда же через резистор приходит напруга?


  • SolarW

    Резисторы на 6.8к и транзисторы просто осталось много от одного проекта, вот их и поставил.

    Дорожка перерезана скальпелем.

    По остальным вопросам - да.


  • Адаптированная инструкция автора темы под Orange Pi Zero с использованием штатного аудио-выхода.

    https://www.armbian.com/orange-pi-zero/ - качаем Armbian (Debian Jessie)

    Разворачиваем образ на SD карту (под Win использую SDFormatter и Win32DiskImager)

    Вставляем карточку в апельсинку.

    Подключаем локальную сеть, питание.

    После старта смотрим на маршрутизаторе какой адрес она получила (по умолчанию используется имя хоста orangepizero)

    Второй вариант это вооружиться USB-UART с уровнем 3.3в и подключиться к UART'у на апельсинке - 3 пина рядом с сетевой картой, по умолчанию туда привязана консоль и можно через терминальную программу наблюдать процесс загрузки/произвести начальную настройку.

    С помощью вашего любимого SSH-клиента (puTTY?) подключаемся к апельсинке, входим по умолчанию с root / 1234

    Сразу после входа требуют сменить пароль - меняем.

    Поскольку медиаплеер это не сервер Пентагона дополнительного пользователя для работы не завожу, нажимаю Ctrl-C.

    Учитывая что при входе настойчиво попросили перезагрузиться чтобы закончить процедуру растягивания корневого раздела на весь доступный объем SD-карты - перезагружаемся (reboot)

    После перезагрузки и повторного входа обновляем систему:

    apt-get update
    apt-get upgrade
    

    Ставим дополнительных программ для комфортной работы

    apt-get install mc htop
    

    С помощью программы nmtui (Network Manager Text User Interface) настраиваем параметры подключения к сети (Wired и/или Wi-Fi)

    Смотрим что у нас с аудио устройствами

    root@orangepizero01:~# aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    

    card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 [] - это интересующий нас аудиовыход

    Ставим squeezelite (тянет за собой пачку зависимых пакетов, поэтому вручную последнюю версию не стал)

    apt-get install squeezelite
    

    Добавляем его в автозагрузку

    systemctl enable squeezelite.service
    

    Смотрим доступные для squeezelite устройства вывода звука

    root@orangepizero01:~# squeezelite -l
    Output devices:
      null                           - Discard all samples (playback) or generate zero samples (capture)
      default:CARD=audiocodec        - audiocodec,  - Default Audio Device
      sysdefault:CARD=audiocodec     - audiocodec,  - Default Audio Device
      dmix:CARD=audiocodec,DEV=0     - audiocodec,  - Direct sample mixing device
      dsnoop:CARD=audiocodec,DEV=0   - audiocodec,  - Direct sample snooping device
      hw:CARD=audiocodec,DEV=0       - audiocodec,  - Direct hardware device without any conversions
      plughw:CARD=audiocodec,DEV=0   - audiocodec,  - Hardware device with all software conversions
      default:CARD=sndhdmi           - sndhdmi,  - Default Audio Device
      sysdefault:CARD=sndhdmi        - sndhdmi,  - Default Audio Device
      dmix:CARD=sndhdmi,DEV=0        - sndhdmi,  - Direct sample mixing device
      dsnoop:CARD=sndhdmi,DEV=0      - sndhdmi,  - Direct sample snooping device
      hw:CARD=sndhdmi,DEV=0          - sndhdmi,  - Direct hardware device without any conversions
      plughw:CARD=sndhdmi,DEV=0      - sndhdmi,  - Hardware device with all software conversions
    

    Правим настройки squeezelite (кому в каком редакторе привычней, кто-то может через WinSCP захочет редактировать)

    nano /etc/default/squeezelite
    

    или

    mcedit /etc/default/squeezelite
    

    или

    vi /etc/default/squeezelite
    

    Можно прописать свое имя плееру (по умолчанию используется системное hostname которое настраивается через nmtui)

    SL_NAME="$(hostname -s)"
    

    Указать звуковую карту для вывода звука

    SL_SOUNDCARD="default:CARD=audiocodec"
    

    По желанию указать IP-адрес LMS (если не указывать будет искать автоматом в локальной сети)

    SB_SERVER_IP="192.168.x.y"
    

    Запускаем squeezelite

    systemctl start squeezelite.service
    

    Открываем управление LMS, видим появившийся плеер, запускаем воспроизведение - из колонок играет музыка.

    К варианту с микшированием (чтобы одновременно могли играть звук более одной программы) попробую вернутся чуть позже - не до конца правильно пока понимаю что надо прописывать в asound.conf


  • @SolarW:

    Адаптированная инструкция автора темы под Orange Pi Zero с использованием штатного аудио-выхода.

    …. `

    а как по памяти - 512 хватает ?

Suggested Topics

  • 4
  • 5
  • 1
  • 25
  • 2
  • 4
  • 16
  • 3

1.0k
Online

34.9k
Users

40.9k
Topics

560.8k
Posts