HN 日本語サマリー

← 一覧へ戻る
プログラミング

Partyline: LXST上で構築されたReticulum向けグループ音声アプリケーション

Partyline: A group voice application for Reticulum, built on LXST (github.com)

17 pointsby iamnothere3 コメント

要約

Partylineは、Reticulumネットワーク上で動作する軽量なグループ音声アプリケーションです。Mumbleにインスパイアされており、暗号化されたリアルタイム音声通信を、OpusやCodec2などの様々なコーデックを用いて、低帯域幅から高帯域幅まで対応します。GUIおよびターミナルクライアントが提供され、容易にサーバーをセットアップできるのが特徴です。

全文翻訳

partyline

[画像: partyline]

Reticulum向けのグループ音声アプリケーションで、LXST上で構築され、Mumbleにインスパイアされています。

[画像: Screenshot from 2026-09-04 07-05-40]

Features

  • Reticulumトランスポートを介した、1秒あたり6キロビット以上の通信が可能な、暗号化されたリアルタイムグループ音声およびオーディオ。
  • 容易にホストできる軽量サーバーとプロトコル。30秒未満でPartylineサーバーを起動できます。
  • ルームごとのアクセスおよびチャンネル制御。オープン、識別されたユーザーのみ、IDハッシュの許可リスト、またはパスワード。サーバーもパスワードまたは許可リストを要求できます。
  • ダイヤルイン: rnphoneおよびSideband、MeshChatXなどの他のLXSTクライアントも、有効になっている場合はサーバーに電話してルームに着信できます。
  • 各ルームにサーバーで設定可能な独自のLXSTコーデックがあります。高速リンクにはOpus、低速リンクには700 bpsまで対応するCodec2。
  • GUIおよびターミナルクライアントで、複数言語をサポート。

Installation

Python 3.11以降が必要です。

pip install partyline

システム全体でプッシュ・トゥ・トークキーを使用するには、オプションの追加機能をインストールします。

pip install "partyline[hotkeys]"

グラフィカルクライアントはTkを使用しますが、pipではインストールできません。ほとんどのOS/ディストリビューションでは、システムに既にインストールされている場合があります。そうでない場合は、

DebianまたはUbuntuでは sudo apt install python3-tk、Fedoraでは sudo dnf install python3-tkinter を実行してください。

ソースからのインストール

Python 3.11以降、Reticulum、およびLXSTが必要です。

git clone https://github.com/RFnexus/partyline
cd partyline
pip install .

または、rngit を使用してインストールします。

git clone rns://4cf8a0651c4d73cacd0f93ac1d95e80a/public/partyline

システム全体でプッシュ・トゥ・トークキーを使用するには、オプションの追加機能をインストールします。

pip install ".[hotkeys]"

これにより、partyline、partyline-server、partyline-client の3つのコマンドがインストールされます。

Running

GUIクライアントを起動します。

partyline

Connectを開くとサーバーブラウザが表示されます。サーバーのハッシュを追加するか、サーバーブラウザを使用してアナウンスから検出されたサーバーを見つけます。ルームに参加するにはダブルクリックします。Settingsには、オーディオデバイス、送信モード、プッシュ・トゥ・トークキー、UIの外観オプションがあります。[画像: Screenshot from 2026-09-04 07-06-15]

Terminal client
partyline-client HASH --name Bob --room Lobby

コマンドは /join, /say, /poke, /who, /mute, /deaf です。

/ptt と入力してプッシュ・トゥ・トークを切り替えます。

オペレーターとして: /kick, /ban, /smute, /op, /move

Server

サーバーを起動します。

partyline-server --name "My server" --profile opus-high

サーバーはクライアント向けの宛先ハッシュを出力し、ダイヤルインが有効な場合は設定されたルームのrnphoneユーザーがダイヤルする番号を表示します。ルーム、アクセスリスト、オペレーター、サーバーパスワード、ダイヤルインを設定するには、server_example.json をコピーして以下のように起動します。

partyline-server --config server.json

利用可能な --profile コーデックは以下の通りです。

  • opus-high - Opus音声、16 kbps
  • opus-med - Opus音声、8 kbps
  • opus-low - Opus音声、6 kbps
  • c2-3200 - Codec2、3200 bps
  • c2-2400 - Codec2、2400 bps
  • c2-1200 - Codec2、1200 bps
  • c2-700 - Codec2、700 bps
  • music-low - Opus音楽、14 kbps
  • music-med - Opus音楽、28 kbps
  • music-high - Opus音楽、56 kbps

server_example.json で全オプションを確認してください。opus-high-med-low および Codec2 モードは音声用で、music-high-med-low は音楽ストリーミングまたはルームへのブロードキャスト用です。リンクで伝送できる最高ビットレートを使用することをお勧めします。

systemdユニットとしてのインストール

systemdユニットとしてインストールするには、which partyline-server でサーバーコマンドを見つけ、/etc/systemd/system/partyline.service を作成します。

[Unit]
Description=Partyline voice server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=partyline
ExecStart=/usr/local/bin/partyline-server --config /home/partyline/server.json
Restart=on-failure

[Install]
WantedBy=multi-user.target

その後、以下のコマンドを実行します。

sudo systemctl daemon-reload
sudo systemctl enable --now partyline
Music/Broadcasting Rooms & Bots

サーバーオペレーターは、LXSTのOpus CELTプロファイルを使用した高品質な音楽およびオーディオ用のブロードキャスト専用ルームも設定できます。オプションは music-high、music-med、music-low です。ミュージックルームは、リストされたIDのみが音声送信できる特別な種類のルームです。IDハッシュをカンマ区切りで music に追加します。

{"name": "Broadcast", "profile": "music-med", "music": ["0123456789abcdef0123456789abcdef"], "description": "Music/broadcast room. Only listed identities may talk. Uses LXSTs Opus CELT profile"}

[画像: Screenshot from 2026-09-05 17-07-35]

ミュージックボットの例は bots/music_bot.py にあります。Partylineがpipでインストールされている場合、python3 -m partyline.bots.music_bot で実行できます。

Push to talk (slow link) Rooms

PTT、またはスローモードルームは、LoRa、ベア銅線ビットバッシング、パケット無線などの低速リンクで動作するように設計されたルームです。毎秒約3.5 kbps以上の安定したスループットがあれば、PTTルームを使用できます。これらはPartylineサーバー上の通常のルームと共存でき、高速および低速クライアント間の音声通信を可能にします。

通常のルームとは異なり、わずかな遅延があります。PTTルームは、送信オーディオをパケット化してリンクのMTUを埋め、パケットごとのフレームではなく、より少なく、より完全なパケットを送信し、各リスナーに大きな受信ジッターバッファを提供して、LoRaのような無線媒体で発生するバースト的な到着をスムーズにします。

PTTを `