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

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

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

      Ставим дополнительный пакет
      > 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

                                          733
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          9
                                          40
                                          19716
                                          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