Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

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

Geplant Angeheftet Gesperrt Verschoben Железо
40 Beiträge 9 Kommentatoren 21.2k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    SolarW
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • V Offline
      V Offline
      VictorS
      schrieb am zuletzt editiert von
      #20

      @SolarW:

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

      …. `

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

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        SolarW
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          SolarW
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            MSapogov
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • C Offline
              C Offline
              chief
              schrieb am zuletzt editiert von
              #24

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

              1 Antwort Letzte Antwort
              0
              • AndriiA Offline
                AndriiA Offline
                Andrii
                schrieb am zuletzt editiert von
                #25

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

                1 Antwort Letzte Antwort
                0
                • AndriiA Offline
                  AndriiA Offline
                  Andrii
                  schrieb am zuletzt editiert von
                  #26

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

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    MSapogov
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • R Offline
                      R Offline
                      RIK
                      schrieb am zuletzt editiert von
                      #28

                      MSapogov

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

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        MSapogov
                        schrieb am zuletzt editiert von
                        #29

                        @RIK:

                        MSapogov

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

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

                        1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          RIK
                          schrieb am zuletzt editiert von
                          #30

                          MSapogov

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

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            MSapogov
                            schrieb am zuletzt editiert von
                            #31

                            @RIK:

                            MSapogov

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

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

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

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

                            1 Antwort Letzte Antwort
                            0
                            • P Offline
                              P Offline
                              pistoletov
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                MSapogov
                                schrieb am zuletzt editiert von
                                #33

                                @pistoletov:

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

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

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

                                1 Antwort Letzte Antwort
                                0
                                • P Offline
                                  P Offline
                                  pistoletov
                                  schrieb am zuletzt editiert von
                                  #34

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    MSapogov
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • P Offline
                                      P Offline
                                      pistoletov
                                      schrieb am zuletzt editiert von
                                      #36

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        pistoletov
                                        schrieb am zuletzt editiert von
                                        #37

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          MSapogov
                                          schrieb am zuletzt editiert von
                                          #38

                                          @pistoletov:

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

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          754

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe