Создаём сетевую звуковую карту с преферансом и поэтессами

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

    В наличии:
    — Один усилитель с колонками
    — Один стационарный компьютер
    — Один ноутбук
    — Желание слушать интернет радио независимо от двух предыдущих пунктов и перетыканию проводов

    В результате родился план собрать «audio card over ethernet». Исследовав вопрос совместимости оборудования, я выбрал роутер TP-link MR3020 и USB аудио-карточку Creative SB Play.

    Что из этого получилось:


    О том, как это получить, добро пожаловать под кат.

    Начну сразу с цены. Роутер можно найти за 700 рублей, звуковую карту за 800 рублей, USB hub за 200 рублей. В сумме 1700 рублей или $55. И почему еще никто это на поток не поставил?

    Все недостатки прошивки OpenWRT (USB и сборка пакетов) касались лишь предыдущей версии 10.03. Последняя стабильная 12.09 практически идеальна.

    Переносим раздел /overlay на USB flash

    Свободного места на роутере около 800 kb. Чтобы это нас не стесняло, подключим к роутеру USB flash. Раздел на flash карте предварительно форматируем в ext4. Инструкция уже есть, вкратце:
    opkg update
    opkg install block-mount block-hotplug block-extroot kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-storage kmod-fs-ext4
    mkdir /mnt/sda1
    mount /dev/sda1 /mnt/sda1
    tar -C /overlay -cvf — . | tar -C /mnt/sda1 -xf —


    В /etc/config/fstab прописываем
    config mount
    option target /overlay
    option device /dev/sda1
    option fstype ext4
    option options rw,sync
    option enabled 1
    option enabled_fsck 0

    Перезагружаем роутер и проверяем:
    mount | grep sda
    /dev/sda1 on /overlay type ext4 (rw,sync,relatime,user_xattr,barrier=1,data=ordered)


    Подключаем USB аудиокарточку

    Устанавливаем необходимые модули
    opkg install kmod-usb-audio kmod-sound-core


    К USB hub'у подключаем звуковую карту флэшку, проверяем:
    dmesg | grep -i audio
    [ 41.080000] usbcore: registered new interface driver snd-usb-audio


    Настраиваем pulseaudio

    opkg install pulseaudio-daemon

    Правим /etc/pulse/system.pa:
    load-module module-native-protocol-unix auth-anonymous=1 # для ПО, запускаемого с самого роутера
    load-module module-alsa-sink device=hw:0,0 tsched=0 # tsched=0 — грязный хак для устранения тресков и хрипов
    load-module module-simple-protocol-tcp port=4712 rate=44100 format=s16le channels=2 # для проигрывания звука с windows
    load-module module-rtp-recv # для проигрывания звука с linux устройств по wifi
    load-module module-native-protocol-tcp auth-anonymous=1 # для воспроизведения звука с linux устройств по ethernet


    Pulseaudio запускается от пользователя pulse, поэтому правим init скрипт для предоставления прав на запись для audio устройств /etc/init.d/pulseaudio:
    --- pulseaudio_old 2013-06-19 12:30:18.425539419 +0400
    +++ pulseaudio 2013-06-19 12:30:04.077704388 +0400
    @@ -19,6 +19,9 @@
                     chmod 0750 /var/lib/pulse
                     chown pulse:pulse /var/lib/pulse
             }
    +        [ -d /dev/snd ] && {
    +                chown -R pulse:pulse /dev/snd
    +        }
             service_start /usr/bin/pulseaudio --daemonize --system --disallow-exit --disallow-module-loading --disable-shm --exit-idle-time=-1
     }
    


    Добавляем pulseaudio в автозагрузку и запускаем:
    /etc/init.d/pulseaudio enable
    /etc/init.d/pulseaudio start

    Добавляем на источнике звука свежеиспеченный audio сервер:
    pacmd load-module module-tunnel-sink server=%serverIP%
    pacmd set-default-sink 1 # номер может отличаться в зависимости от вывода pacmd list-sink

    Пробуем воспроизвести звук.
    Учим MPD работать с pulseaudio

    Внимание, хардкор! Cкомпилировать MPD можно проще, но я пошел другим путем. Скачиваем исходники OpenWRT:
    svn co svn://svn.openwrt.org/openwrt/tags/attitude_adjustment_12.09/

    Собираем SDK (в make menuconfig не забываем указать свой роутер и платформу):
    cd attitude_adjustment_12.09
    make tools/install
    make toolchain/install

    Получаем feed'ы с приложениями и «устанавливаем» их в свою песочницу:
    ./scripts/feeds update
    ./scripts/feeds install pulseaudio
    ./scripts/feeds install mpd

    Dev пакет pulseaudio устанавливает не все библиотеки, поэтому правим package/feeds/packages/pulseaudio/Makefile:
    --- Makefile_old        2013-06-19 12:12:00.458287669 +0400
    +++ Makefile  2013-06-19 12:07:43.225298052 +0400
    @@ -139,7 +139,8 @@
            $(INSTALL_DIR) \
                    $(1)/usr/lib/pkgconfig \
                    $(1)/usr/include/pulse \
    -               $(1)/usr/lib
    +               $(1)/usr/lib \
    +               $(1)/usr/lib/pulseaudio
            $(CP) \
                    $(PKG_INSTALL_DIR)/usr/include/pulse/* \
                    $(1)/usr/include/pulse
    @@ -149,6 +150,9 @@
            $(CP) \
                    $(PKG_INSTALL_DIR)/usr/lib/*.so* \
                    $(1)/usr/lib/
    +       $(CP) \
    +               $(PKG_INSTALL_DIR)/usr/lib/pulseaudio/*.so* \
    +               $(1)/usr/lib/pulseaudio/
     endef
     
     define Package/pulseaudio-daemon/install
    

    Правим Makefile для mpd (package/feeds/packages/mpd/Makefile):
    --- Makefile_old        2013-06-18 17:47:56.277865458 +0400
    +++ Makefile   2013-06-18 17:37:35.037187159 +0400
    @@ -49,7 +49,7 @@
       DEPENDS+= \
            +AUDIO_SUPPORT:alsa-lib \
            +libaudiofile +BUILD_PATENTED:libfaad2 +libffmpeg +libid3tag \
    -       +libmms +libogg +libshout +libsndfile +libvorbis
    +       +libmms +libogg +libshout +libsndfile +libvorbis +pulseaudio-daemon
       PROVIDES:=mpd
       VARIANT:=full
     endef
    @@ -137,7 +137,7 @@
            $(if $(CONFIG_BUILD_PATENTED),MAD_LIBS="$(TARGET_LDFLAGS) -lmad") \
     
     TARGET_CFLAGS += -std=gnu99
    -TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
    +TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib,-rpath-link=$(STAGING_DIR)/usr/lib/pulseaudio
     
     # use gcc instead of g++ to avoid unnecessary linking against libstdc++
     TARGET_CXX:=$(TARGET_CC)
    @@ -160,6 +160,7 @@
            --enable-sndfile \
            --enable-vorbis \
            --enable-vorbis-encoder \
    +       --enable-pulse \
            --with-faad="$(STAGING_DIR)/usr" \
            --with-tremor=no \
    
    

    Запускаем make menuconfig, выбираем Sound/pulseaudio-daemon, Libraries/libffmpeg-mini, а затем Sound/mpd-full

    Финальный этап:
    make package/mpd/compile
    make package/mpd/install


    Если всё прошло без ошибок, то мы должны получить готовый пакет bin/ar71xx/packages/mpd-full_0.16.5-2_ar71xx.ipk. Если компилятор на что-то ругается, то запускаем make package/mpd/compile V=99 и смотрим что именно пошло не так.

    Копируем пакет на роутер scp bin/ar71xx/packages/mpd-full_0.16.5-2_ar71xx.ipk tplink_ip:/tmp и устанавливаем пакет mpd:
    opkg update
    opkg install curl
    rm /tmp/opkg-lists/attitude_adjustment
    opkg install /tmp/mpd-full_0.16.5-2_ar71xx.ipk

    Конфирурируем MPD /etc/mpd.conf:
    input {
    plugin «curl»
    }
    audio_output {
    type «pulse»
    name «My Device»
    }

    Включаем в автозагрузку и запускаем:
    /etc/init.d/mpd enable
    /etc/init.d/mpd start

    Проверяем у себя на linux:
    mpc add pub4.di.fm:80/di_latinhouse
    mpc play


    Или в Windows, установив QMPDClient (имхо лучший мультиплатформенный mpd клиент).

    Проблема AAC

    Стандартная библиотека libfaad2 проигрывает aac со 100% нагрузкой на процессор, т.к. на роутерах процессоры плохо справляются с вычислением с плавающей точкой. Для таких случаев разработчики библиотеки предусмотрели опцию FIXED_POINT, но разработчики OpenWRT не успели ею воспользоваться перед релизом attitude_adjustment_12.09. В последней версии Makefile для faad2 добавили возможность компиляции с FIXED_POINT. Просто скачиваем последний Makefile:
    wget dev.openwrt.org/export/34527/packages/libs/faad2/Makefile

    Выбираем в make menuconfig Advanced configuration options -> Target options -> Use software floating point by default и перекомпилируем пакет:
    make package/faad2/compile
    make package/faad2install

    Получаем пакет bin/ar71xx/packages/libfaad2_2.7-2_ar71xx.ipk, устанавливаем его таким же образом, что и mpd (только в данном случае командой opkg upgrade).
    Наслаждаемся теплым ламповым звучанием aac.
    Подключаем в качестве источника звука Windows

    Единственное работоспособное решение транслировать звук на pulseaudio из Windows я нашел здесь. Но к сожалению для этого потребуется купить ПО Virtual Audio Cable.
    Запускается это у меня bat'ником:
    linco.exe -B 16 -C 2 -R 44100 | nc.exe tplink_IP 4712

    Да, есть задержки звука, особенно по WiFi, но при просмотре видео это легко лечится настройками плеера.

    Вместо bat файлов можно попробовать запускать linco через srvany. У кого получится — просьба отписаться в комментариях.

    Моддинг

    Те, кто дружит с паяльником и руками (если уж читаете это, то с руками то наверняка дружите?), могут поместить всё в один корпус. Я решил разобрать китайский USB-hub, отпаять от него лишние USB разъемы, и металлические корпуса оставшихся двух USB разъемов. Таким образом получилось развернуть сами разъемы на 90 градусов.

    На самом роутере я отпаял контакты USB разъема от платы, от самой платы протянул провода к USB хабу, а уже от самого USB хаба провел провода на внешний USB разъем. В корпусе роутера я просверлил два отверстия под Jack'и и мне удалось уместить всё достаточно компактно. К сожалению крышку роутера плотно закрыть уже не удается, но для этих нужд умные люди придумали синюю изоленту.

    Как это выглядит:


    Рабочее место в 2 часа ночи:


    Штука в хозяйстве незаменимая. В планах сделать еще одну такую на кухню, а также подключить OLED дисплей через I2C, и IR-receiver через UART.

    P.S. Замечания и сообщения об ошибках принимаю в личке.

    P.P.S. Кто не хочет компилировать, вот собранные пакеты mpd и libfaad2
    rghost.ru/46934574
    rghost.ru/46934558

    UPD:
    06.10.2013 — rghost.net/49184760 Pulseaudio 4.0 for OpenWRT
    Поделиться публикацией

    Похожие публикации

    Комментарии 94
      +106

      Простите, не смог удержаться.
        +38
        Вы меня опередили, но я нашёл еще :)

          +1
          Первая веселее :)
            0
            фотошоп детектед :)
              0
              Это был малютка Paint )
            +6
            Я зашел чтобы увидеть этот комментарий.
              0
              тоже заметил)
                +5
                  +1
                  Юмор-юморок.
                +4
                Батенька знает толк. Но ведь круто!
                  +1
                  Ещё бы прикрутить дисплей, и систему смены радиостанций (хотя бы всех с di.fm/ ). Получим вполне себе wifi-радио.

                  Правда тут без МК не обойтись, но можно использовать аппаратный UART, который разведён на плате.

                  В общем, спасибо за пост и за идею!
                    0
                    В дополнение к сказанному, можно использовать вот такую конструленцию cxem.net/mc/mc146.php. Вешается прямо на пины UARTa на плате роутера.
                      +1
                      Это творение не совместимо ни с одной из существующих библиотек для линукса (lcd4linux, LCDProc, etc).
                      Разумнее использовать стандартные вещи (тут та же AVR) — www.harbaum.org/till/lcd2usb/index.shtml
                        0
                        Не находите, что схема на порядок сложнее? А совместимость библиотек компенсируется самописным приложением для переключения станций.
                          0
                          Зри в корень! (с) Козьма Прутков
                            0
                            Скажем так и ваша и моя схема имеет право на жизнь. Я бы взялся реализовывать первое решение, ибо отсутствие либ компенсируется простотой и скоростью монтажа (не забываем приплюсовать время поиска деталек).
                            Поскольку я стал бы писать на Си, то для этого языка у меня уже есть либы под дисплей. А там уже прикрутил бы меню, сделал бы аппаратные клавиши для выбора станции и получил бы море профита. У меня позиция простая — что можно сделать программно, надо делать программно!
                            Плюс — не занимается ещё один USB-порт и не требует дополнительных дров, которые будут кушать и без того нагруженный проц.

                            З.Ы. Прошу правильно понять, что я высказываю своё мнение, и если оно отличается от вашего, то это не означает что я говорю что вы не правы и что я прав. Просто мы имеем разные мнения на один и тот же вопрос.
                              0
                              У человека всё-равно хаб не двухпортовый явно (или такие бывают?), а UART у него уже зарезервирован для IR-receiver.
                              На AVR реализована софтовая библиотека USB low speed (1.5Mbps) — почему обмен с такими устройствами может нагружать 400Мгц проц?

                              Предпочительность выбора того или иного решения я определяю по стоимости: ВОМ + потраченное время (если по ВОМу паритет (AVR+LCD), то по времени в вашем частном случае — тоже. В частном. Тратить время на Баш или на Си для LCD не очень хочется, если есть возможность использовать наработки сообщества).

                              Вопрос религии.
                                0
                                У человека всё-равно хаб не двухпортовый явно (или такие бывают?), а UART у него уже зарезервирован для IR-receiver.


                                В таком случае я не прав, извиняюсь.

                                На AVR реализована софтовая библиотека USB low speed (1.5Mbps) — почему обмен с такими устройствами может нагружать 400Мгц проц?

                                Здесь библиотека AVR не при чём. Можно использовать и аппаратное решение (например FT2232) и на него цеплять уже дисплей (наверняка есть и схема и дрова, гуглить не буду). Драйвера, работа с USB всегда нагружает процессор. Т.к. очень много ложится на ЦП при работе с USB. Прерываний там нет, следовательно опрос идёт «ручками».

                                Честно признаюсь, не знаю что такое ВОМ. Но времени на разработку может уйти в вашем случае больше, а уж по деньгам (учитывая время-деньги на дорогу) уж точно.
                                  0
                                  ВОМ — Bill Of Material (перечень комплектующих).
                                  Извините, ник Ваш показался знаком, поэтому думал на одном языке говорим.
                                    +1
                                    Мы говорим на одном языке, но владею великим и могучим. По этому западные аббревиатуры воспринимаю как русские (ВОМ — Василий Ольга Марина), а русских аналогов этого обозначения не знаю. Поэтому и переспросил.

                                    Не вижу зазорно в том, что я чего-то не знаю.
                                      +2
                                      Не уверен, что вы прочитали комментарий я вот тут привёл работающее решение по аналогичной схеме, о которой я говорил ранее. Баш-скрипты и конфигурации уже готовы.

                                      Интересно узнать, что вы скажете на это? В общем-то готовое решение — бери да делай.
                        +1
                        И получится Chumby?

                        Жалко, что проект закрылся.
                          0
                          А что за проект? Не в теме? Ты у меня в ЖЖ может видел, я в своё время писал о wifi-радио из роутера, вот там могучий проект был. Ща попробую ссылочку выкопать.
                            +1
                            Да вот www.chumby.com/
                            У меня был такой девайс.

                            Устройство подключалось по вай фай.
                            В базовом функционале — часы, и прослушивание интернет радиостанций.
                            Можно было добавлять разные апплеты, игры, чтение RSS.

                            www.youtube.com/watch?v=h8f80bejKJo
                              0
                              Крутая штучка. Даже на ебеях есть (правда в наши пердяшки не шлют). Сейчас планшеты заняли эту нишу…
                                0
                                Ооо! Спасибо милчеловек
                                Я как раз думал через что мне музыку играть, и понял что дешевый андроид телефон или планшет это самое то!
                                  0
                                  Вот печаль, что кулибиных сгубили андройд телефоны и планшеты…
                                    +1
                                    Ну я ни разу не кулибин. А играть музыку хочется.
                                      0
                                      Тогда печаль что ниразу не кулибины так и не попробуют ими стать :)))).

                                      Это шутка.
                                      +2
                                      И не говорите, вот раньше каждый чёткий парень должен был спаять себе цветомузыку на ку202 и гетеродин на кт315.
                                        0
                                        Меня подмывает пост написать на эту тему. О смерти радиолюбительства. Теперь купил железку и юзай…

                                        А я ведь тоже начинал с пайки радиоприёмников…
                                          0
                                          Написал в итоге?
                                        0
                                        Кулибиным это никак не помешает… они не могут не делать что-то своё, что-то новое (относительно).
                                0
                                Вот нашёл mightyohm.com/blog/2009/05/building-a-wifi-radio-part-10-building-the-box/

                                И к слову камраду iDoka: здесь применяется решение, о котором я говорил выше!
                                схема и подключение
                                image
                                Схема

                                image
                                Подключение

                                Подробнее о схеме АВР тут: mightyohm.com/blog/2009/05/building-a-wifi-radio-part-10-building-the-box/

                                Когда буду списывать свой такой же роутер, обязательно сделаю такое радио :)
                            0
                            Может побольше фоток самого девайса со всех ракурсов?
                            Я вот не могу понять куда там звуковуху вставили и где там USB-hub используется.
                              0
                              Разъёмы USB отпаяли и поставили вертикально на плате хаба.
                              Сам хаб обкромсали и поставили вертикально (под 90гр к основной плате роутера.)
                              +1
                              У Apple давно еще появился схожий функционал у роутеров Airport Express, с 2007 года и по сей день таким пользуюсь. ( newapples.ru/wp-content/uploads/2012/06/airport_express_base_station_mc414_3.jpg )
                                +1
                                А как на счёт совместимости не с Апл девайсами?
                                  +1
                                  pulseaudio-module-raop (raop_play) для linux
                                  axStream и JustePort для windows
                                    0
                                    Хм… Я задумался, ещё б интерфейс для этого… Хотя для wifi-радио проще заюзать старый смартфон…
                                      0
                                      pulseaudio-module-raop — This module enables PulseAudio to stream audio to an Apple Airport Express.
                                      raop_play — Command line music file player for Apple Airport Express

                                      Надобно наоборот. Выводить поток на роутер.
                                        +3
                                        Не совсем понятно что именно наоборот вы хотите? PulseAudio как раз выводит свой поток на Airport Express c помощью этого модуля.(Там так и написано, что вы за цитировали).
                                    –2
                                    ЕМНИП, Эппл презентовала AirPlay осенью 2010г
                                      +1
                                      не путайте AirPlay (видео, картинки, звук) и AirTunes (только звук).
                                        +2
                                        Каюсь.
                                    0
                                    Вот бы себестоимость была рублей 500, было бы замечательно… Мне просто нужно таких штук пять.
                                      0
                                      Если постараться, то можно выкинуть хаб и USB флешку, ограничившись объемом встроенной памяти (4Мб). Еще можно сэкономить на звуковой карте: 90р вместо 800р, как в данном случае. Итого 700 + 90 = 790.
                                    0
                                    «IR-receiver через UART.»

                                    IR ресивер рекоммендую прикрутить к GPIO чтобы не отвязывать UART от системной консоли
                                      +1
                                      Я как более далекий от **nix собирал бы все на RasberryPi
                                        +1
                                        RasberryPi тоже **nix
                                          0
                                          Конечно, но шаманства в настройке чуть меньше (имхо) будет.
                                        +1
                                        Напомнило историю от Грубаса про радиоточку: Серая мышка
                                          +1
                                          Вопрос не по теме.
                                          Вы где покупали фен (город)? Дело в том, что у меня такой же, и нашел я его в единственном городе, откуда я и заказал.
                                          И это у вас случайно не ЛТИ в бутылечке?
                                            0
                                            Фен купил на горбушке в Москве («внезапно», ибо нынче там радиодетали не найти).
                                            0
                                            >Желание слушать интернет радио независимо
                                            >В сумме 1700 рублей или $55. И почему еще никто это на поток не поставил?
                                            Поставил. + удобный сервис управления радиостанциями.
                                              0
                                              Но только WiFi же
                                                0
                                                Радио должно быть проводным?
                                                  0
                                                  Не у всех же есть WiFi
                                                    0
                                                    Использование Wifi накладывает ограничения на использование этого устройства как pulseaudio-sink. При использовании ethernet звук идет без задержек.
                                                  0
                                                  Это исключительно радио-приемник, хоть и очень неплохой. Наврядли его можно использовать как «ethernet звуковушку», разве только через icecast2/shoutcast, но с задержками.

                                                  Нечто похожее на «ethernet звуковую карту» я находил для бизнес сектора и стоило оно тысяч десять.
                                                  0
                                                  кстати на базе данного роутера mr3020 так же можно сделать airplay(звук) совместимое устройство, звук не плохой но раз в 5-10 минут появляются рандомно секундные артефакты.
                                                    0
                                                    Собирал подобное на базе nslu2 и китайской звуковушки за 2$, только функционал маленько другой, без аудиоудлинителя, зато с поддержкой флешек, т.е. полностью автономный девайс :-) на OpenWRT к сожалению проблемы с автомонтировнием оказались.
                                                      0
                                                      Отличный пост! Для тех, кто на винде — попробуйте установить shoutcast сервер, и в настройках чтобы он вещал с источника stereomixer, а можно и к винампу прикрутить!
                                                      Тогда надо настроить mpd на прием потока с какого-либо адреса…
                                                      Точнее не знаю как сделать, сам только играл радиостанцию с инета при помощи этого роутера и mpd, далее не оказалось времени…
                                                      Но кстати, я его не компилировал, а с репозитория взял, так что не понял, зачем тут компиляция?
                                                        +1
                                                        Компиляция нужна для поддержки pulseaudio. Версия с репозитория использует alsa, тем самым невозможно одновременно запустить и mpd и pulseaudio.
                                                          0
                                                          понял, спасибо!
                                                        0
                                                        Круто!
                                                        Но меня больше интересует вопрос синхронизации звучания двух и более таких вайфай-приемников в разных комнатах.
                                                        Существуют какие-то рабочие варианты или для этого все-таки придется тянуть провода по дому?
                                                          0
                                                          С Wifi сложно. Появляется треск и заикания. По ethernet такого не замечал.
                                                          Думаю необходима тонкая настройка.
                                                          –1
                                                          Любой ФМ-модулятор и простейшие ФМ-приемники. Почти все ФМ-модуляторы имеют line-in. Как итог — задержки звука между приемниками — отсутствует.
                                                            –1
                                                            Помехи и перехват сигнала вас не смущают?
                                                              0
                                                              Однако способ имеет право на жизнь, он просто другой :)
                                                              0
                                                              У FM довольно сильные ограничения по качеству звучания. А если учитывать плотность радиостанций в некоторыз городах, то ограничения еще больше.
                                                              +1
                                                              Примерно месяц назад хотел пристроить старика wl500gP2 для проигрывания интернет-радио через юсб-звуковуху, да только так не нашел у себя завалявшегося свистка. Тогда присмотрел альтернативу для воспроизведения музыки с ноутбука по воздуху. Хорошо, что не успел дойти купить. Закажу звуковуху по ссылкам выше и вдохну жизнь в рутер-легенду. Спасибо.
                                                                +1
                                                                Для вашего роутера есть более изящное и проверенное временем решение mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/ (там далее по ссылкам вначале). В сути тоже самое, но заточено под wl520. Я знаю, что это разные роутеры, но у них не так много отличий.
                                                                  0
                                                                  Ссылка фиолетовая, открыта где-то в куче вкладок в момент первого поиска достижения цели )) Вопрос так или иначе упирается в томительное ожидание девайса для непосредственного подключения колонок )
                                                              0
                                                              Как я понял, важно, чтобы было OpenWRT?

                                                              То есть, реальная ли нижеописанное?

                                                              Берём TP-LINK TL-WDR4300, настраиваем её программу так, чтобы можно было в её usb-порт включить любую usb-звуковую карту и затем с ноутбука, через сеть, используя, например, winamp, слушать музыку, находясь в любом месте квартиры?

                                                              Причём важно, чтобы можно было использовать именно любые звуковые карты, например, 5-канальные…

                                                              То есть, цель — слушать звук с ноутбука (или записывать), не подключая к нему внешнюю звуковую карту по usb… провода надоели.

                                                              И если это реально, то как это сделать?
                                                              Могли бы вы написать статью?
                                                                0
                                                                Я не автор статьи, но вызов принят =)))
                                                                  0
                                                                  Провод, скорее всего, придется хоть один оставить. Звук по вайфаю не сильно хорошо пролазит, по крайней мере по 54Мб.
                                                                  А так — задача решается легко при условии, что у вас Linux на ноуте.
                                                                  Ставим jack, настраиваем его чуть, и всё.
                                                                    0
                                                                    Не совсем все так просто, но суть примерно такая, да.
                                                                      0
                                                                      Ну, если никогда не работали с jack — то да, нужно время чтобы разобраться.
                                                                      Я разобрался, теперь у меня колонки подключены к Raspberry Pi, и на них идет звук со стационарного компьютера и ноутбука (на ноутбуке можно использовать и встроенные динамики, переключается с помощью pulseaudio).
                                                                      Правда, записи звука тут нет, т.к. Raspberry Pi этого не умеет, но мне достаточно только воспроизведения.
                                                                      Плюс на Raspberry Pi стоит mpd, что дает возможность со смартфона включать/выключать музыку или онлайн-радио при выключенном компьютере.
                                                                        0
                                                                        Ну это рабочая конфигурация в вашем конкретном случае.

                                                                        А когда появляется куча других нюансов — все становится не так шикарно.

                                                                        Использовать JackTrip или NetJack? Нужна ли синхронизация? Проводной или беспроводной канал?
                                                                        Как избежать задержки при проигрывании фильмов? Какой размер буфера должен быть у MPD чтобы и задержки были не большими, но и не «хрюкало».

                                                                        Там работы напильником на несколько вечеров как минимум. А то и неделю.
                                                                        Так что по сути вы правы, но деталей очень много.
                                                                          0
                                                                          По беспроводному каналу — тут не знаю, вообще читал что Jack не рекомендуют с ним использовать.

                                                                          А так — NetJack2 и пару вечеров. Никаких специфичных настроек для клиентов не делал, а на сервере покрутил параметры чтобы у Raspberry Pi хватало процессора на работу. С видео никаких проблем — всё «просто работает».
                                                                          До этого мучился с Jack1 — ничего хорошего не получилось, а вот второй — работает сразу, автоматом находит сервер, работает независимо от порядка включения сторон.

                                                                          P.S. Пару вечеров — я считаю что это просто. Для кого-то возможно не так.
                                                                            0
                                                                            Я же говорю, есть нюансы.

                                                                            Видеоплеер не умеет синхронизироваться с удаленной аудиокартой. Звук будет запаздывать. Он может запаздывать совсем чуть-чуть и вы этого не заметите, но это зависит от многих вещей. По беспроводу все становится совсем заметно. Это можно победить используя UDP и JackTrip, но задержку придется настраивать в плеере руками. И работать это будет только если нет второй аудиосистемы, работающей одновременно с беспроводной.

                                                                            Там просто умотаться сколько нюансов. В простых конфигурациях они не видны, но стоит немного расширить запросы — и ситуация меняется.

                                                                            Важно отметить что коммерческие решения для этого страдают теми же болячками, но вендоры их пытаются решить каждый своими костылями.
                                                                            Вообще, на такие вещи должен быть стандарт. Но его нет.
                                                                              0
                                                                              Подождите… насколько я понял, NetJack как раз и гарантирует что все будет хорошо с синхронизацией. По беспроводу — да, будет печально. А по проводу все хорошо.

                                                                              Ну а стандарта — да, нет. Наверное, нет критической массы людей, которым это надо. Большинству достаточно того, что есть…
                                                                                0
                                                                                NetJack лишь гарантирует что при правильно выбранном размере буфера все удаленные клиенты проиграют одновременно. И наоборот.

                                                                                Задержку при просмотре видео он не уберет. Может в этом плане что-то и изменилось, но в VLC было все плохо (((
                                                                    0

                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                  Самое читаемое