Mac の音声をネットワーク経由で iPhone・Raspberry Pi・ブラウザにリアルタイム配信。このページを読めば 5 分で動きます。
Soluna.app 1つで TX + RX + WAN P2P。システム音声・マイク配信、マルチスピーカー同期。
TX + RX + WANSoluna Receiver アプリで受信。Bonjour で自動検出、音量・遅延を個別調整。
RX 受信soluna-rx を起動するだけ。ALSA 対応 DAC で高音質再生。
このダッシュボードの「Browser」タブから即座に試聴。インストール不要。
RX 受信.pkg インストーラで Soluna.app + 仮想オーディオデバイス + バックグラウンドサービスをまとめてセットアップします。
macOS 13 Ventura 以降 • Apple Silicon + Intel 対応
上のボタンから Soluna-mac.pkg をダウンロードし、ダブルクリックでインストーラを起動します。
システム設定 → サウンド → 出力 で「Soluna」を選択します。
sudo killall coreaudiod を実行してください。/Applications/Soluna.app を開き、Audio TX をON → 配信開始!
solunad バックグラウンドサービスはインストーラが自動設定済み。solctl status でステータス確認。
開発者向け: ソースからビルドする場合は GitHub README を参照してください。
Xcode で apps/ios/SolunaReceiver.xcodeproj を開いてビルド、または TestFlight で配布。
Mac と同じ Wi-Fi に接続していれば、起動するだけで自動検出されます。
「Speakers」欄に Mac が表示されたら完了。
「+」ボタンから Mac の IP アドレス(例: 192.168.1.10)を入力してください。
Mac の IP は システム設定 → Wi-Fi → 詳細 → TCP/IP で確認できます。
接続直後に自動でレイテンシ計測が走り、Mac スピーカーと iPhone の音がぴったり合います。
ズレを感じる場合は「Global Delay」スライダーで手動調整してください。
RPi / Linux 上で実行。ビルドからサービス登録まで全自動。
curl -fsSL https://solun.art/install-rx.sh | sudo bash
依存パッケージ、ビルド、systemd サービス登録まで自動で行います。
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -- soluna-rx
sudo cp build/soluna-rx /usr/local/bin/
# ALSA デフォルト出力
soluna-rx --output alsa
# パイプ出力 → aplay に渡す
soluna-rx --output pipe | aplay -f S16_LE -r 48000 -c 2
# サービス状態確認
systemctl status soluna-rx
Mac の IP アドレスを使って同じネットワーク内の任意のブラウザから開けます。
http://<MacのIPアドレス>:8400
# システム設定 → プライバシーとセキュリティ で「許可」をクリック後
sudo killall coreaudiod
# 共有メモリを確認
ls -la /private/var/db/soluna/
# .pkg を再ダウンロードしてインストール
launchctl print gui/$UID/io.soluna.daemon
# LaunchAgent がない場合は .pkg を再インストール
sudo setcap cap_sys_nice=ep /usr/local/bin/soluna-rx
echo 'kernel.sched_rt_runtime_us=-1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
launchctl print gui/$UID/io.soluna.daemon # 状態確認
launchctl stop gui/$UID/io.soluna.daemon # 停止
launchctl start gui/$UID/io.soluna.daemon # 開始
launchctl bootout gui/$UID/io.soluna.daemon # アンインストール
tail -f /tmp/solunad.log # ログ確認
ws://localhost:8400/ws に接続して JSON コマンドを送れます。
# モニター音量を 80% に設定
{"id":1,"command":"monitor.set_volume","volume":0.8}
# バッファを 40ms に設定
{"id":2,"command":"monitor.set_buffer","ms":40}
# 遅延を 50ms に設定
{"id":3,"command":"monitor.set_delay","ms":50}
# 受信側の統計取得
{"id":4,"command":"rx.stats"}
# ブラウザオーディオ開始
{"id":5,"command":"audio.subscribe"}
# ping / RTT 計測
{"id":6,"command":"time.ping"}