Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

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

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

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

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

      1 Reply Last reply Reply Quote 0
      • S
        SolarW last edited by

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

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

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

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

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

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

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

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

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

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

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

        1 Reply Last reply Reply Quote 0
        • S
          SolarW last edited by

          @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 - нашел в этом списке.

          1 Reply Last reply Reply Quote 0
          • S
            SolarW last edited by

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

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

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

            1 Reply Last reply Reply Quote 0
            • I
              instalator last edited by

              @SolarW:

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

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

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

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

                @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", то оптрон будет открыт. Выход оптрона включать в соответствии с требованием усилка.

                1 Reply Last reply Reply Quote 0
                • S
                  SolarW last edited by

                  @instalator:

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

                  1 Reply Last reply Reply Quote 0
                  • S
                    SolarW last edited by

                    @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 пина)

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

                    1 Reply Last reply Reply Quote 0
                    • S
                      SolarW last edited by

                      @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 - судя по даташиту шишнадцатая нога находится напротив первой.

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

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

                        @SolarW:

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

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

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

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

                        1 Reply Last reply Reply Quote 0
                        • V
                          VictorS last edited by

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

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

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

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

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

                            @VictorS:

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

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

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

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

                            1 Reply Last reply Reply Quote 0
                            • S
                              SolarW last edited by

                              @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>" />

                              1 Reply Last reply Reply Quote 0
                              • S
                                SolarW last edited by

                                @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 разъема получается коллектор транзистора припаян и туда же через резистор приходит напруга?

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

                                  SolarW

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

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

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

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    SolarW last edited by

                                    Адаптированная инструкция автора темы под 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 Reply Quote 0
                                    • V
                                      VictorS last edited by

                                      @SolarW:

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

                                      …. `

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

                                      1 Reply Last reply Reply Quote 0
                                      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            498
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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