Mac の音声をネットワーク経由で iPhone・Raspberry Pi・ブラウザにリアルタイム配信。このページを読めば 5 分で動きます。

仕組み
Mac のシステム出力を Soluna(仮想デバイス)に変えるだけ ↓ Soluna.driver ← CoreAudio HAL プラグイン ↓ 共有メモリ Soluna.app ────────────────────────────────────┐ │ │ ├── Audio TX → システム音声をネットワーク配信 │ ├── Mic TX → マイク音声を配信 │ ├── RX → 他の Mac / iPhone から受信 │ ├── WAN P2P → インターネット越しにグループ共有│ └── CoreAudio → Mac スピーカー同時再生 │ │ Web UI http://localhost:8400 ◄───────┘ ※ .pkg インストーラで全コンポーネントをまとめてセットアップ
対応プラットフォーム
💻

Mac

Soluna.app 1つで TX + RX + WAN P2P。システム音声・マイク配信、マルチスピーカー同期。

TX + RX + WAN
📱

iPhone

Soluna Receiver アプリで受信。Bonjour で自動検出、音量・遅延を個別調整。

RX 受信
🥧

Raspberry Pi

soluna-rx を起動するだけ。ALSA 対応 DAC で高音質再生。

RX 受信
🌐

ブラウザ

このダッシュボードの「Browser」タブから即座に試聴。インストール不要。

RX 受信
Mac セットアップ

.pkg インストーラで Soluna.app + 仮想オーディオデバイス + バックグラウンドサービスをまとめてセットアップします。

Soluna-mac.pkg をダウンロード

macOS 13 Ventura 以降 • Apple Silicon + Intel 対応

1

ダウンロード & インストール

上のボタンから Soluna-mac.pkg をダウンロードし、ダブルクリックでインストーラを起動します。

2

Soluna をサウンド出力に設定

システム設定 → サウンド → 出力 で「Soluna」を選択します。

⚠ 「Soluna」が表示されない場合は システム設定 → プライバシーとセキュリティ でドライバを許可後、sudo killall coreaudiod を実行してください。
3

Soluna.app で配信開始

/Applications/Soluna.app を開き、Audio TX をON → 配信開始!

solunad バックグラウンドサービスはインストーラが自動設定済み。solctl status でステータス確認。

開発者向け: ソースからビルドする場合は GitHub README を参照してください。

iPhone セットアップ
1

アプリをインストール

Xcode で apps/ios/SolunaReceiver.xcodeproj を開いてビルド、または TestFlight で配布。

2

自動接続(Bonjour)

Mac と同じ Wi-Fi に接続していれば、起動するだけで自動検出されます。
「Speakers」欄に Mac が表示されたら完了。

3

手動で接続する場合

「+」ボタンから Mac の IP アドレス(例: 192.168.1.10)を入力してください。

Mac の IP は システム設定 → Wi-Fi → 詳細 → TCP/IP で確認できます。

4

遅延の自動同期

接続直後に自動でレイテンシ計測が走り、Mac スピーカーと iPhone の音がぴったり合います。
ズレを感じる場合は「Global Delay」スライダーで手動調整してください。

Raspberry Pi セットアップ
1

ワンコマンドインストール

RPi / Linux 上で実行。ビルドからサービス登録まで全自動。

curl -fsSL https://solun.art/install-rx.sh | sudo bash

依存パッケージ、ビルド、systemd サービス登録まで自動で行います。

2

手動ビルド(Linux 環境)

cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -- soluna-rx sudo cp build/soluna-rx /usr/local/bin/
3

起動・確認

# ALSA デフォルト出力 soluna-rx --output alsa # パイプ出力 → aplay に渡す soluna-rx --output pipe | aplay -f S16_LE -r 48000 -c 2 # サービス状態確認 systemctl status soluna-rx
ブラウザで試聴する
1

Dashboard → "Browser" タブ

ダッシュボードの下部ナビゲーションから Browser を選択。

▶ ボタンを押すと即座に試聴開始。インストール不要です。

2

別のデバイスから接続

Mac の IP アドレスを使って同じネットワーク内の任意のブラウザから開けます。

http://<MacのIPアドレス>:8400
⚠ iOS Safari はバックグラウンドタブでオーディオが停止する場合があります。画面を表示したままにしてください。
トラブルシューティング
「Soluna」がサウンド設定に表示されない
.pkg インストーラを再実行し、CoreAudio を再起動すると解消することがほとんどです。 # システム設定 → プライバシーとセキュリティ で「許可」をクリック後 sudo killall coreaudiod
音が出ない(Soluna.app 起動済みなのに)
Soluna.app の Audio TX が ON になっていることを確認してください。共有メモリが存在しない場合、ドライバが 2〜3 秒ごとに再接続を試みます。 # 共有メモリを確認 ls -la /private/var/db/soluna/ # .pkg を再ダウンロードしてインストール
Mac 再起動後に自動起動しない
launchd の登録状態を確認します。 launchctl print gui/$UID/io.soluna.daemon # LaunchAgent がない場合は .pkg を再インストール
iPhone で音がプツプツ切れる
バッファを増やすことで改善します。iPhone アプリの Settings → Buffer Size を 60〜120ms に上げてください。
または「Global Delay」スライダーを 60ms 以上に設定してみてください。
Raspberry Pi でドロップアウトが発生する
リアルタイムスケジューリング権限を付与すると大幅に改善します。 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
ブラウザで音が遅れる / 途切れる
ブラウザ版は AudioWorklet を使った低遅延設計ですが、CPU 負荷が高い場合に途切れることがあります。Controls の Buffer 値(ms)が安定している場合は正常動作中です。「Underruns: 0」であれば問題ありません。
Mac と iPhone の音がズレる
iPhone アプリが接続時に RTT を自動計測して遅延を合わせます。大きくズレる場合は「Global Delay」スライダーで手動調整してください。目安: 同一 Wi-Fi で 30〜60ms、ルーター越えで 80〜150ms。
launchd コマンドチートシート
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 # ログ確認
WebSocket コマンドリファレンス

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"}

Soluna — MIT License  ·  GitHub  ·  ← ダッシュボード