Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. аппаратные средства
    4. Железо
    5. Аудиоплеер для мультирума

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SolarW last edited by

      @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 Reply Quote 0
      • S
        SolarW last edited by

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

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

        Ставим дополнительный пакет
        > 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 Reply Quote 0
        • M
          MSapogov last edited by

          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 Reply Quote 0
          • C
            chief last edited by

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

            1 Reply Last reply Reply Quote 0
            • A
              Andrii last edited by

              Привет! Спасибо. Очень интересная тема. Поделюсь своим опытом. Я использую 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 Reply Quote 0
              • A
                Andrii last edited by

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

                1 Reply Last reply Reply Quote 0
                • M
                  MSapogov last edited by

                  @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 Reply Quote 0
                  • R
                    RIK last edited by

                    MSapogov

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

                    1 Reply Last reply Reply Quote 0
                    • M
                      MSapogov last edited by

                      @RIK:

                      MSapogov

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

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

                      1 Reply Last reply Reply Quote 0
                      • R
                        RIK last edited by

                        MSapogov

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

                        1 Reply Last reply Reply Quote 0
                        • M
                          MSapogov last edited by

                          @RIK:

                          MSapogov

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

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

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

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

                          1 Reply Last reply Reply Quote 0
                          • P
                            pistoletov last edited by

                            подскажите пробую запускать скриптом через 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 Reply Quote 0
                            • M
                              MSapogov last edited by

                              @pistoletov:

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

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

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

                              1 Reply Last reply Reply Quote 0
                              • P
                                pistoletov last edited by

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

                                1 Reply Last reply Reply Quote 0
                                • M
                                  MSapogov last edited by

                                  @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 Reply Quote 0
                                  • P
                                    pistoletov last edited by

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

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pistoletov last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        MSapogov last edited by

                                        @pistoletov:

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

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pistoletov last edited by

                                          Спасибо! Работает. Теперь в планах научить плеера разговаривать от openhaba-)

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            stephg014 @VictorS last edited by

                                            @VictorS said in Аудиоплеер для мультирума:

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

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

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

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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            858
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            40
                                            19495
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo