Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. аппаратные средства
  4. Железо
  5. Аудиоплеер для мультирума

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    771

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

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

Scheduled Pinned Locked Moved Железо
40 Posts 9 Posters 22.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MSapogov
    wrote on last edited by
    #18

    SolarW

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

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

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

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SolarW
      wrote on last edited by
      #19

      Адаптированная инструкция автора темы под 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

      1 Reply Last reply
      0
      • V Offline
        V Offline
        VictorS
        wrote on last edited by
        #20

        @SolarW:

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

        …. `

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

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SolarW
          wrote on last edited by
          #21

          @VictorS:

          а как по памяти - 512 хватает ? `
          С головой

          root@orangepizero01:~# free
                       total       used       free     shared    buffers     cached
          Mem:        506820     289800     217020       5960      16312     209816
          -/+ buffers/cache:      63672     443148
          Swap:       131068          0     131068
          

          И это при том что система еще кучку каталогов в памяти посоздавала чтобы всякими tmp и log карточку не мусолить

          root@orangepizero01:~# df
          Filesystem     1K-blocks    Used Available Use% Mounted on
          /dev/mmcblk0p1  15020296 1089132  13767304   8% /
          udev               10240       0     10240   0% /dev
          tmpfs             101364    4612     96752   5% /run
          tmpfs             253408       0    253408   0% /dev/shm
          tmpfs               5120       4      5116   1% /run/lock
          tmpfs             253408       0    253408   0% /sys/fs/cgroup
          tmpfs             253408       0    253408   0% /tmp
          log2ram            51200    1036     50164   3% /var/log
          tmpfs              50684       0     50684   0% /run/user/0
          
          1 Reply Last reply
          0
          • S Offline
            S Offline
            SolarW
            wrote on last edited by
            #22

            По совместному использованию аудиовыхода двумя программами.

            Получилось примерно следующее.

            Ставим дополнительный пакет
            > apt-get install alsa-oss
            Редактируем /etc/asound.conf до следующего состояния (nano /etc/asound.conf):

            pcm.dmixer  {
              type dmix
              ipc_key 1024
              slave {
                pcm "hw:0,0" # "hw:1,0" means HDMI change to "hw:0,0" for analog lineout jack output
                period_time 0
                period_size 1024
                buffer_size 4096
                rate 44100
              }
              bindings {
                       0 0
                       1 1
              }
            }
            
            ctl.dmixer {
                       type hw
                       card 0
            }
            
            pcm.!default {
                         type plug
                         slave.pcm "dmixer"
            }
            
            ctl.!default {
                         type hw
                         card 0
            }
            

            Указываем squeezelite использовать устройство default для воспроизведения (nano /etc/default/squeezelite)
            > SL_SOUNDCARD="default"
            Перезапускаем систему чтобы подхватились настройки (reboot)

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

            Так как второго плеера у меня не установлено то одновременно из консоли запускаем speaker-test

            speaker-test -D default -c2
            

            указав ему использовать устройство воспроизведения default и тестировать 2 канала.

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

            P.S. А linphone сволочь не заработал нормально… Как-то по своему видит имеющиеся в системе звуковые устройства...

            linphonec> soundcard list
            0: ALSA: default device
            1: ALSA: audiocodec
            2: ALSA: sndhdmi
            3: OSS: /dev/dsp
            4: OSS: /dev/dsp1
            5: PulseAudio: default
            

            Если не запускать squeezelite и отдать linphone в исключительное использование звуковую карту - то все нормально.

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

            Подозреваю что надо еще "крутить" asound.conf, а то в последней итерации и звонок перестал проходить - вначале короткий звук и тишина.

            1 Reply Last reply
            0
            • M Offline
              M Offline
              MSapogov
              wrote on last edited by
              #23

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

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

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

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

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

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

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

              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
              
              

              Скоро обновлю шапку…

              PS: Аптайм превысил 45 дней... глюков не замечено.

              1 Reply Last reply
              0
              • C Offline
                C Offline
                chief
                wrote on last edited by
                #24

                Здравствуйте! Будет ли анонсированое продолжение (MPD, …)?

                1 Reply Last reply
                0
                • AndriiA Offline
                  AndriiA Offline
                  Andrii
                  wrote on last edited by
                  #25

                  Привет! Спасибо. Очень интересная тема. Поделюсь своим опытом. Я использую OrangePi Zero. LMS и плеер стоит на OPiZero 512M, а просто плеера на OPiZero 256. Дешево и сердито. Есть LAN, WiFi, Audio Out, USB, I2S. Есть комплекты с корпусом(если нужно аудиовыход без усилителя). Софт полностью соответствует, как у вас. Только прошивка Arambian для OPiZero. Ресурсов хватает для комфортной работы LMS. Слушаю только Flac (до 192к). С обычным СД форматом (44100) стримил 5 потоков без проблем. Для плееров вообще хватает с головой(и WiFi в наличии).

                  1 Reply Last reply
                  0
                  • AndriiA Offline
                    AndriiA Offline
                    Andrii
                    wrote on last edited by
                    #26

                    Может кто подскажет???? Как команду выключения плеера Squeezelit вывести на какую нибудь ногу GPIO??? Пробовал через опцию -G , но оно пишет что мой плеер не на Raspberry и запускаться не хочет. Хочется звук брать с AUX и через GPIO отключать усилитель. Спасибо.

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      MSapogov
                      wrote on last edited by
                      #27

                      @Andrii:

                      Может кто подскажет???? Как команду выключения плеера Squeezelit вывести на какую нибудь ногу GPIO??? Пробовал через опцию -G , но оно пишет что мой плеер не на Raspberry и запускаться не хочет. Хочется звук брать с AUX и через GPIO отключать усилитель. Спасибо. `
                      Пробуй через комманду -S <power script="">Absolute path to script to launch on power commands from LMS

                      Если не получится, то только через GPIO и внешний скрипт, который через Telnet API проверяет состояние плеера и дергает нужной ногой.</power>

                      1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        RIK
                        wrote on last edited by
                        #28

                        MSapogov

                        Прочитал тему и заинтересовался так как у самого нужно что то колхозить, правильно ли я понимаю что можно купить несколько переходников USB-DAC, подключить их в свободные гнёзда, после чего прописать а уже к ним подключать усилители + акустика в разных комнатах?

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          MSapogov
                          wrote on last edited by
                          #29

                          @RIK:

                          MSapogov

                          Прочитал тему и заинтересовался так как у самого нужно что то колхозить, правильно ли я понимаю что можно купить несколько переходников USB-DAC, подключить их в свободные гнёзда, после чего прописать а уже к ним подключать усилители + акустика в разных комнатах? `
                          Да, Вы правильно поняли.

                          В линуксе, Ваши USB-DAC, будут как отдельные устройства, которые вы прописываете в конфиге каждой копии Squeezelite.

                          1 Reply Last reply
                          0
                          • R Offline
                            R Offline
                            RIK
                            wrote on last edited by
                            #30

                            MSapogov

                            Вы уже пользуетесь 2 года своим проектом, как вы считаете на счёт железа, хотели бы что то изменить в в вашей конфигурации?

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              MSapogov
                              wrote on last edited by
                              #31

                              @RIK:

                              MSapogov

                              Вы уже пользуетесь 2 года своим проектом, как вы считаете на счёт железа, хотели бы что то изменить в в вашей конфигурации? `
                              Я тут с марта месяца как-то забросил все… некогда было. К строительству бани готовился. А потом и сама стройка... А тут решил проверить как работает....

                              Включил музыку, а она играет. Ничего не зависло... Ничего не поломалось. Uptime больше 150 дней.

                              Думаю..., что ничего менять не буду.

                              Зимой буду думать как озвучивать дачу. Хотя и так птички там поют. О как классно услышать фразу: "Прошу уйти с газона! Включаю полив." :-)

                              1 Reply Last reply
                              0
                              • P Offline
                                P Offline
                                pistoletov
                                wrote on last edited by
                                #32

                                подскажите пробую запускать скриптом через systemctl плееры и получаю ошибки:

                                Dec 22 16:15:23 Archey systemd[1]: squeezelite@sunxi.service: State 'stop-sigterm' timed out. Killing.

                                Dec 22 16:15:23 Archey systemd[1]: squeezelite@sunxi.service: Unit entered failed state.

                                Dec 22 16:15:23 Archey systemd[1]: squeezelite@sunxi.service: Failed with result 'timeout'.

                                весь лог в таких сообщениях.

                                вот скрипт запуска:

                                [Unit]

                                Description=Squeezelite Daemon

                                After=multi-user.target

                                [Service]

                                Type=simple

                                NOTE: using the "squeezeuser" user, NOT root.

                                #User=root

                                note use your mac address as given by ifconfig and the name you wish to give your player

                                ExecStart=/usr/bin/squeezelite -o default:CARD=sunxicodec -s localhost -n "Bathroom" -z

                                [Install]

                                WantedBy=multi-user.target

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  MSapogov
                                  wrote on last edited by
                                  #33

                                  @pistoletov:

                                  подскажите пробую запускать скриптом через systemctl плееры и получаю ошибки: `
                                  А если выполнить -

                                  /usr/bin/squeezelite -o default:CARD=sunxicodec -s localhost -n "Bathroom" -z

                                  То работает, или есть ошибки ?

                                  1 Reply Last reply
                                  0
                                  • P Offline
                                    P Offline
                                    pistoletov
                                    wrote on last edited by
                                    #34

                                    Да, так работает. Проблема именно в systemctl start запуске. Запускать пробовал как от рута так и от другого пользователя.

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      MSapogov
                                      wrote on last edited by
                                      #35

                                      @pistoletov:

                                      Да, так работает. Проблема именно в systemctl start запуске. Запускать пробовал как от рута так и от другого пользователя. `
                                      Попробуй вот такую строчку (Прям скопируй)

                                      ExecStart= /usr/bin/squeezelite -D -v -o default:CARD=sunxicodec -n Bathroom -m 00:00:00:00:00:05

                                      PS: недавно добавлял еще 2 зоны… делал по этой-же инструкции... все заработало.

                                      1 Reply Last reply
                                      0
                                      • P Offline
                                        P Offline
                                        pistoletov
                                        wrote on last edited by
                                        #36

                                        Спасибо большое! Так работает. Если запускать на другом аудиоустройстве что поменять кроме -o. Мас адресс другой поставить?

                                        1 Reply Last reply
                                        0
                                        • P Offline
                                          P Offline
                                          pistoletov
                                          wrote on last edited by
                                          #37

                                          Мне нужно два сквизлайта. Каждый на свою карточку.

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          460

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe