好みと詩人を含むネットワークサウンドカードを作成する

1回2回のトピックに触発されて、似たようなものを作成することにしました。



在庫あり:

-スピーカー付きの1つのアンプ

-1台のデスクトップコンピューター

-ラップトップ1台

-前の2つの段落とワイヤのジャビングに関係なく、インターネットラジオを聞きたいという願望



その結果、「イーサネット上のオーディオカード」を構築する計画ができました。 ハードウェアの互換性の問題を調べた後、TP-link MR3020ルーターとCreative SB Play USBオーディオカードを選択しました。



それの由来:





入手方法については、猫へようこそ。



価格からすぐに始めます。 ルーターは700ルーブル、サウンドカードは800ルーブル、USBハブは200ルーブルに対応しています。 1700ルーブルまたは55ドルの量で。 そして、なぜ誰もまだこれをストリームに載せていないのですか?



OpenWRTファームウェア(USBおよびパッケージアセンブリ)のすべての欠点は、以前のバージョン10.03のみに関係していました。 Last stable 12.09はほぼ完璧です。



/オーバーレイセクションをUSBフラッシュに転送します


ルーターの空き領域は約800 kbです。 これを防ぐために、USBフラッシュをルーターに接続します。 フラッシュカードのセクションは、ext4で事前にフォーマットされています。 命令はすでに短い:

opkgアップデート

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

マウント/ dev / sda1 / mnt / sda1

tar -C / overlay -cvf-。 | tar -C / mnt / sda1 -xf-




/ etc / config / fstabに書き込みます

構成マウント

オプションターゲット/オーバーレイ

オプションデバイス/ dev / sda1

オプションfstype ext4

オプションオプションrw、sync

オプションが有効1

オプションenabled_fsck 0



ルーターを再起動して確認します:

マウント| grep sda

/ dev / sda1 on /オーバーレイタイプext4(rw、sync、relatime、user_xattr、バリア= 1、データ=順序付け)





USBオーディオカードを接続します


必要なモジュールをインストールする

opkgインストールkmod-usb-audio kmod-sound-core





サウンドカードをUSBハブに接続します:

dmesg | grep -iオーディオ

[41.080000] usbcore:登録済みの新しいインターフェイスドライバー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#wifi経由でLinuxデバイスからサウンドを再生するため

load-module module-native-protocol-tcp auth-anonymous = 1#イーサネット経由でLinuxデバイスからサウンドを再生する





Pulseaudioはユーザーパルスから開始されるため、initスクリプトを編集して、オーディオデバイス/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



焼きたてのオーディオサーバーを音源に追加します。

pacmd load-module module-tunnel-sink server =%serverIP%

pacmd set-default-sink 1#番号は、pacmd list-sinkの出力によって異なる場合があります



サウンドを再生してみてください。

pulseaudioで動作するMPDを学ぶ


注意、ハードコア! MPDのコンパイルは簡単ですが、他の方法で行った。 OpenWRTソースをダウンロードします。

svn co svn://svn.openwrt.org/openwrt/tags/attitude_adjustment_12.09/



SDKを収集します(make menuconfigでルーターとプラットフォームを指定することを忘れないでください):

cdtitude_adjustment_12.09

ツールの作成/インストール

ツールチェーンの作成/インストール



アプリケーションを含むフィードを取得し、サンドボックスに「インストール」します。

./scripts/feeds update

./scripts/feeds install pulseaudio

./scripts/feeds install mpd



pulseaudio devパッケージはすべてのライブラリをインストールするわけではないので、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
      
      





mpdのMakefileを編集します(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の順に選択します



最終段階:

パッケージ化/ mpd /コンパイル

パッケージ/ 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の更新

opkgインストールcurl

rm / tmp / opkg-lists / titude_adjustment

opkg install /tmp/mpd-full_0.16.5-2_ar71xx.ipk



MPD /etc/mpd.confの構成:

入力{

プラグイン「カール」

}

audio_output {

タイプ「パルス」

名前「マイデバイス」

}



起動時にオンにして、実行します:

/etc/init.d/mpd enable

/etc/init.d/mpd start



Linuxで確認します。

mpc add pub4.di.fm:80 / di_latinhouse

mpc play





または、WindowsでQMPDClientをインストールしてくださいIMHOは最高のマルチプラットフォームmpdクライアントです)。



AACの問題


標準のlibfaad2ライブラリは、100%のプロセッサ負荷でaacを失います。 ルーターでは、プロセッサの浮動小数点計算のパフォーマンスが低下します。 そのような場合、ライブラリ開発者はFIXED_POINTオプションを提供しましたが、OpenWRT開発者は、titude_adjustment_12.09のリリース前にそれを使用する時間がありませんでした。 faad2のMakefileの最新バージョンでは、FIXED_POINTでコンパイルする機能が追加されました。 最新のMakefileをダウンロードするだけです:

wget dev.openwrt.org/export/34527/packages/libs/faad2/Makefile



make menuconfigで詳細構成オプション->ターゲットオプション->デフォルトでソフトウェア浮動小数点を使用し、パッケージを再コンパイルします。

パッケージを作成/ faad2 /コンパイル

パッケージを作成/ faad2install



パッケージbin / ar71xx / packages / libfaad2_2.7-2_ar71xx.ipkを取得し、mpdと同じ方法でインストールします(この場合のみopkg upgradeコマンドを使用)。

暖かいAACチューブサウンドをお楽しみください。

音源として接続するWindows


ここで見つけ Windowsからpulseaudioにサウンドをストリーミングする唯一の実行可能なソリューション。 しかし、残念ながらこれには仮想オーディオケーブルソフトウェアを購入する必要があります。

これは私のbat'nikから始まります:

linco.exe -B 16 -C 2 -R 44100 | nc.exe tplink_IP 4712



はい、特にWiFiでは音の遅れがありますが、ビデオを見るときは、プレーヤーの設定で簡単に処理できます。



batファイルの代わりに、srvanyを介してlincoを実行してみてください。 誰が成功するか-コメントの購読を停止してください。



改造


はんだごてと手を持つ友人(これを読んでいるなら、おそらく手を持つ友人ですか?)、すべてを1つのケースに入れることができます。 中国のUSBハブを分解し、そこから余分なUSBコネクタを取り外し、残りの2つのUSBコネクタの金属ケースを取り外すことにしました。 したがって、コネクタ自体を90度展開することが判明しました。



ルーター自体では、USBコネクタの接点をボードからはんだ付け解除し、ボードからワイヤをUSBハブに引き出し、USBハブ自体からワイヤを外部USBコネクタに導いた。 ルーターの場合、ジャック用に2つの穴を開けて、すべてをコンパクトに収めることができました。 残念ながら、ルーターのふたをしっかりと閉じることはできませんが、これらのニーズのために、賢い人は青い電気テープを思いつきました。



それはどのように見えますか:





午前2時の職場:





農場にあるものはかけがえのないものです。 計画は、キッチンで別のそのようなものを作成し、 I2Cを介してOLEDディスプレイを接続し、UARTを介してIRレシーバーを接続することです。



PS PMでコメントとエラーメッセージを受け入れます。



コンパイルしたくないPPS、ここに収集されたmpdとlibfaad2パッケージがあります

rghost.ru/46934574

rghost.ru/46934558



UPD:

10/ 06 /2013-rghost.net/ 49184760 OpenWRT用のPulseaudio 4.0



All Articles