﻿SL Broadcaster V1.2.0 — Free / Pro 操作説明（Windows 11 64bit）

【この配布版について】
共通の「SL-Broadcaster.exe」を起動すると、ライセンス未登録時はFreeになります。
購入後に受け取った署名付きキーを登録するとProへ切り替わります。
V1.1.3の再生・配信機能を引き継ぎ、ライセンス認証とエディション別の制限を追加した版です。

【FreeとProの違い】
Free / Pro共通：音楽再生、通常のクロスフェード（Ballroom原速）、AUTO GAIN、
曲末の切り替え開始・音量低下検出、配信、曲一覧、QUEUE、M3U入出力、MONITOR。
Freeには再生時間・QUEUE曲数・配信ビットレートによる追加制限はありません。
Pro限定：MC（マイク入力、MIC GAIN、声によるダッキング）、
Danceのテンポ合わせ±8%・解析した拍位置を使う同期。
FreeではMCとDanceの操作が無効になります。音声処理側でもこれらの制限を適用します。

【Proへの切り替え】
1. アプリをZIPから、書き込み可能なフォルダーへ「すべて展開」します。
2. 起動して上部の「Proを有効化」を押します。
3. 販売者から受け取ったキーを貼り付けるか、キーファイルを選びます。
4. 「Proを有効化して保存」を押します。登録名とPro表示を確認します。
再起動は不要です。MCをONにする、またはDanceを選んでテンポ合わせをONにしてください。
キーはEXEと同じフォルダーの pro-license.txt に保存され、次回起動時に再検証します。
設定ファイルやアプリ名を変更するだけではProには切り替わりません。
新しいフォルダーへ移す際はキーもコピーするか、再入力してください。
認証はオフラインです。この版には有効期限・PC紐付け・遠隔失効の機能はありません。
キーには登録名と任意の管理番号が記録されます。秘密情報や決済情報の入力は不要です。
ライセンスキーを他の方に共有しないでください。
販売窓口・決済方法はこのアプリでは確定していません。アプリに購入・決済機能はありません。

【起動】
1. ZIPを右クリックし「すべて展開」してください。
2. 展開したフォルダーの「SL-Broadcaster.exe」をダブルクリックしてください。
Rust・C++ Build Tools・FFmpegのインストールや、ビルド操作は不要です。
Windows 11（64bit）向けです。Windows 11での最終起動確認を推奨します。
インストーラー不要です。書き込み可能な任意のフォルダーへ展開してください。
初回起動後、同じフォルダーに設定ファイルを作成します。
ZIP内から直接起動せず、展開後に起動してください。

【既存設定の引き継ぎ】
旧版を終了し、stream-settings.json と layout-settings.json を
新しいSL-Broadcaster.exeの隣へコピーすると、配信設定とレイアウトを引き継げます。
V1.1.2以降は music-library.json もコピーすると曲一覧とQUEUEを引き継げます。
V1.1.1以前には一覧の自動保存がないため、初回だけ曲を取り込んでください。
旧版のQUEUEは、旧版を終了する前にM3U書き出しで保存できます。
M3Uの読み込みは曲一覧へ取り込む操作です。QUEUEへは必要な曲を選んで追加してください。
配信設定にはパスワードが含まれるため、この設定ファイルを友人へ配らないでください。
この配布ZIPに個人設定・パスワード・音楽ファイルは含まれていません。

【画面】
従来のSL Broadcasterの黒い光沢GUIと回転タンテを維持しています。
Deck A/B、操作/NOW/NEXT、STREAM MASTER、MC/MONITOR、曲一覧/QUEUEの6パネルです。
初期状態は全パネルの位置・サイズを固定します。
上部「パネル / レイアウト」で「すべてのパネルを固定」を解除すると、
タイトルバーで移動、右下の斜線で伸縮できます。各パネルの「固定」も使えます。
「サイズ」から幅・高さを数値指定できます。内容が大きくてもパネルは自動拡大しません。
他の表示中パネルと重なる移動・拡大は確定せず、元の配置・サイズを保ちます。
調整後は固定をONにして動作テストしてください。
上部「配置リセット」で標準配置・標準サイズ・全体固定へ戻せます。
左の三角で折りたたみ、右の×で非表示にできます。
上部「パネル / レイアウト」で非表示のパネルを戻せます。
「コンパクト表示」は操作・配信・MCだけの520×640表示です。
「標準配置へ戻す」で全パネルを戻せます。
配置、表示状態、折りたたみ、サイズ、列設定、一覧タブ、メインウィンドウサイズを保存します。
レイアウトは操作後に自動保存し、正常終了時にも保存します。手動保存もできます。
パネルを隠しても音楽・配信・MCの動作は継続します。

【曲一覧とQUEUEの自動保存・復元】
曲一覧とQUEUEは、変更があった場合に約1秒以内に自動保存します。
正常終了時にも保存し、次回起動時に曲一覧とQUEUEの順番を復元します。
QUEUE内の同じ曲の重複も保持します。曲一覧を自動で全件QUEUEへ入れることはありません。
起動時は停止・配信未接続の状態です。前回の再生位置や配信接続は再開しません。
音源の実ファイルは複製せず、場所・曲情報・曲順をEXE横の music-library.json に保存します。
ジャケット・波形・ビートのデータは、この一覧ファイルには埋め込みません。
音源が移動・削除された場合も項目を残し、曲名に[ファイルが見つからない]と表示します。
元の場所へ音源を戻して起動し直すか、古い項目を削除して新しい場所から取り込んでください。
見つからない音源は再生できません。配信前にQUEUEを確認してください。
一覧の変更を保存するため、EXEは書き込み可能なフォルダーへ展開してください。
保存に失敗した場合は画面のメッセージを確認してください。

【一覧から削除／クリア】
停止中、曲一覧の行を右クリック →「曲一覧から削除」でその曲の登録を外します。
この操作ではQUEUEに登録された同じ曲も外します。
曲一覧の行を右クリック →「曲一覧とQUEUEをクリア」で両方の一覧を空にします。
QUEUEの行を右クリック →「QUEUEをクリア」でQUEUEだけを空にします。
一曲だけQUEUEから外すには、QUEUEで選択 →「QUEUEから外す」を使います。
これらの操作で音楽ファイル自体を削除することはありません。
削除・クリアした結果も保存します。再生中・取り込み中の全クリアと曲一覧からの削除は無効です。

【曲一覧 / QUEUE】
曲を取り込む → 曲一覧で選択 → QUEUEへ追加 → QUEUEで再生開始位置を選択 → START。
Shiftで範囲選択、Ctrlで追加/解除。選択曲は表示順でまとめてQUEUEへ追加します。
列の選択、列見出しクリックでソート、列境界で幅変更、列見出しドラッグで並び変更。
曲名等は左詰め。縦横のスクロールバーを表示します。
QUEUEは再生中も次曲以降の編集・並べ替えが可能です。
M3U/M3U8読み込み・書き出しは引き続き使えます。
取り込み時に重いBPM／ビート解析は行いません。未解析曲のBPMはMP3のTBPMタグを使います。
波形と長さはバックグラウンドで解析します。保存済みの拍解析があれば取り込み時に復元します。
「BPM／ビート一括解析」は曲の選択不要で、曲一覧にある全曲を対象にします。
取り込み直後の波形解析中でも押せます。その場合は波形解析完了後にBPM／ビート解析を開始します。
保存済みの変更のない曲は再利用します。V1.1.0の保存結果はこの版では再利用せず、音源から再解析します。
曲一覧・QUEUEは元の解析BPMを小数1桁で表示し、テンポ合わせで上書きしません。

【再生 / AUTOMIX】
Dance（Pro）：A/Bの交互再生＋等電力クロスフェード。
Ballroom：原速で通常のクロスフェード。テンポ合わせ／拍同期は常に無効です。
Danceと同じクロスフェード時間・切り替え開始の設定が使えます。両モードで設定値を共有します。
Ballroomで曲末まで流して即切り替える場合は、クロスフェード時間0秒、切り替え開始を曲末0秒前にします。
DanceからBallroomへ再生中に切り替えた場合も、位置を保ったまま原速へ戻します。
選曲・曲順はユーザーが決めます。ジャンル・3分固定の切り替えにはしません。

● 終盤の音量低下でつなぐ
初期状態はONです。AUTO GAINとMASTER補正前の音から基準音量を学習し、
曲の後半かつ残り90秒以内で、基準から6dB低い状態が3秒続いたら次曲へ移ります。
最初の5秒は基準音量を学習します。「条件」で低下量・継続秒数・終盤範囲を調整できます。
基準は平滑化したRMSの高い値で、LUFS測定・楽曲構成解析ではありません。
終盤の静かな演奏部分でも条件を満たす可能性があります。実曲で調整してください。
条件を満たさなければ「未検出時：曲末」の秒数で切り替えます。フェード時間とは別の指定です。
次曲がない最終曲では早期切り替えを行わず、最後まで再生します。
「切り替え開始」で「曲末の秒数」を選ぶと、指定した秒数前に切り替えます。Ballroomでも同じ切り替え条件を使います。

● クロスフェード時間／切り替え開始
「クロスフェード時間」は、2曲を重ねる長さ（0〜99秒）です。8秒固定のチェックは廃止しました。
「切り替え開始」は別の設定です。次の2方式を選択できます。
・曲末の秒数：指定した残り秒数（0〜300秒）に達したら開始します。
・終盤の音量低下：「条件」で低下dB、継続秒数、判定する終盤範囲を指定します。
  音量低下を検出できなかった場合の「未検出時：曲末」の秒数も別に指定できます。
例：開始を曲末90秒前、クロスフェード時間を45秒にすると、90秒前から45秒間重ねて切り替えます。
フェード時間を変更しても、開始位置の指定は変わりません。フェード終了時に前曲の残り部分は停止します。
開始時に残り音声がフェード時間より短ければ、実際の残り時間まで短縮します。
0秒のフェードは指定した開始位置で即切り替えです。音量低下による早期切り替えは行いません。
次曲がない最終曲は開始条件に関係なく最後まで再生します。
旧設定のAUTO ONは実効8秒を、OFFは保存した秒数を引き継ぎます。旧設定に開始秒数がなければ以前の開始タイミングを引き継ぎます。
A→B / B→Aと進行率を表示します。極端に短い曲では各曲長の90％をフェード上限とします。

● START / 一時停止 / STOP
新規STARTはAデッキから開始し、以降は自動でA/Bを交互に使います。
新しい曲の初期位置は先頭です。再生前に位置を指定した場合はそこから開始します。
「一時停止」は曲の位置とデッキを保持し、「再開」で続きから流します。
クロスフェード中は両デッキとフェード進行を一緒に止め、続きから再開します。
一時停止中も配信接続とMCは継続します。音楽を止めて話すことができます。
STOPは再生終了です。位置指定を解除し、次のSTARTは選択した曲の先頭からAで開始します。

● 再生位置
A/Bデッキの波形をクリック、またはドラッグを離した位置へ移動できます。
「位置」スライダーでも指定できます。
再生中は移動して続行、一時停止中は移動して停止を維持、再生前は開始位置の指定になります。
再生中は現在のデッキ、再生前はAで操作します。クロスフェード中と待機デッキの位置操作は無効です。
非対応のファイル等で移動に失敗した場合は、元の音声を維持してエラーを表示します。

● テンポ合わせ／拍同期
既存の「テンポ合わせ ±8％」で切り替えます。OFFは通常のクロスフェードです。
信頼できる拍解析が両方にある曲では、次曲の最初の拍が前曲の拍と重なるように開始を調整します。
次曲の最初の解析拍が冒頭2秒以内にある場合に開始調整を試みます。
調整は最大1秒の待機で、次曲のイントロを飛ばしません。曲末まで余裕がなければ通常の切り替えです。
重なっている間は、近くの拍間隔と拍のズレを使って速度をゆっくり補正します。
生演奏などの小さなテンポの揺れにも、解析が信頼できる範囲で追従します。
準備時・補正中とも速度は×0.920〜×1.080以内です。音程も連動します。
解析が不確か・未解析・拍情報の範囲外・±8％では合わない場合、拍補正を行わず従来のBPMテンポ合わせを使います。
BPMもない場合は速度×1.000です。次曲速度倍率は準備時の値を表示します。
再生デッキは、速度が変わっている場合「元のBPM → 速度補正後のBPM」を表示します。
小節の頭や曲の構成を合わせる機能、Intro／Outroマーカー解析、音程維持は含みません。
音の周期から求めたテンポと拍追跡の平均が2％を超えて食い違う場合、周期側のBPMを使い、拍同期の信頼度を下げて通常のBPM合わせへ戻します。
楽曲によって半分／倍のBPM、裏拍、音の少ない部分などの誤判定があり、すべての曲での同期を保証するものではありません。

● 解析データの保存
初期保存先はEXEの横にある「AnalysisCache」フォルダーです。解析したときに自動作成します。
「パネル / レイアウト」→「解析データ保存先」で任意のフォルダーに変更でき、次回起動にも引き継ぎます。
保存する内容はBPM、拍位置、解析の信頼度、波形、曲長、音楽ファイルの場所・サイズ・更新日時です。
音楽ファイルやそのタグは変更しません。場所・サイズ・更新日時または解析方式の版が変わった場合は再解析します。
壊れた保存データも再解析します。同じ曲を再取り込みしたときにも保存データを利用します。
保存できない場合でも、その起動中は解析結果を使えます。取り込み結果のエラーを確認してください。
移動した音楽ファイルは新しい場所として再解析します。保存先を変えた場合も新しい場所に解析結果を作ります。

【音量：AUTO GAIN / MASTER / MIC GAIN / MONITOR】
AUTO GAIN：音楽の再生中の平均音量（RMS）に応じて、ゆっくり自動補正します。
補正範囲は約−9.1dB～＋8.0dB、内部目標はRMS約−17.7dBFSです。
MP3Gainの92dB等とは尺度・測り方が異なり、そのまま比較できません。
MP3Gainで音量調整済みなら、AUTO GAINをOFFにして音量差を確認できます。
MASTER：音楽とMCを合成した全体音量。配信とモニターの両方に作用します。
MIC GAIN：マイク音量。声でMICメーターを確認して調整します。
MONITORのVOLUME／MUTE：自分が聴く音だけ。配信音量には影響しません。
曲の重なりやMCで大きくなりすぎる場合はMASTERを下げて余裕を確保します。
最終出力には上限がありますが、メーター上限に張り付く設定は避けてください。
終盤の音量低下の判定にはAUTO GAIN補正前の音を使います。
AUTO GAIN、MC ON、テンポ合わせ、Dance／Ballroom等のスイッチはこの版では起動時の既定状態になります。

【BallroomでBPM／ビート一括解析は必要？】
原速のクロスフェードだけなら不要です。曲長と波形は取り込み時に自動解析します。
終盤の音量低下による切り替えは再生音を使い、BPMやビート解析は必要ありません。
Danceでテンポ合わせ・拍同期を使う場合はBPM／ビート一括解析を行ってください。

【±8％で合わせられるBPMの例】
次曲の速度＝現在の実際の再生BPM÷次曲の元BPMです。
現在100BPMなら、次曲は約92.6～108.7BPMの範囲で100BPMに合わせられます。
現在116BPMなら、次曲は約107.4～126.1BPMの範囲で116BPMに合わせられます。
±8％を超える差は、現行版では上限まで速度を変え、完全には一致しません。
原速でつなぎたい場合は「テンポ合わせ ±8％」をOFFにしてください。
元のBPM表示は解析値のままです。現在曲が速度変更中なら実際の再生BPMが基準です。
表拍・裏拍・小節の1拍目を確定する機能や、曲ごとの同期開始CUEの保存はありません。
裏拍の誤判定等で不自然に感じる曲では、テンポ合わせをOFFにして通常のクロスフェードを使えます。

【配信】
STREAM SETTINGS にホスト名、ポート、ユーザー、パスワード、Mount等を入力してSAVE。
ホスト欄はURLではなくホスト名だけを入れてください。
STREAM MASTER の CONNECT / 配信開始 → 接続済み表示を確認 → START。
曲の途中から接続した場合は、その時点の音から配信されます。
既定はMP3 192kbps、44.1kHz、ステレオ。
Icecast 2：SOURCE方式。Mountは通常 /stream、ユーザーは通常 source。
SHOUTcast：従来のv1ソース方式。設定ポートの+1に接続します。
SHOUTcast 2はサーバー側で従来方式を許可している場合が対象です。ネイティブv2方式は未実装です。
管理ポートとソースポートを別指定するサービス、HTTPS/TLS専用ソースはこの版の対象外です。
曲名送信ONではArtist - TitleをUTF-8でサーバーへ送信します。
日本語の表示は配信サーバーとSecond Life側の対応にも依存します。
MASTER LEVELは音楽＋MCの最終出力に作用します。
MONITOR MUTE/音量はPCで聴く音だけに作用し、配信は続きます。
STOPは曲の再生停止、DISCONNECTは配信接続の終了です。
曲が終わっても接続は継続します。終了時はDISCONNECTを押してください。
接続/認証/送信エラーは画面に表示します。切断後はCONNECTで再接続できます。
FFmpegや別のエンコーダーアプリは不要です。MP3エンコーダーはビルド時に組み込まれます。

【MC（Pro限定）】
MC/MONITORでマイクを選択。必要なら「更新」で機器一覧を更新します。
MC ONでマイクと曲を同時に配信し、声を検出すると曲を自動的に下げます。
MIC GAINでマイク音量を調整できます。MICメーターで入力を確認できます。
配信未接続時もモニター音でMCの動作を確認できます。

【設定ファイル】
layout-settings.json、stream-settings.json、music-library.json はEXEと同じフォルダーへ保存します。
配布時には自分の設定・一覧・AnalysisCacheを入れず、未使用の配布ZIPを渡してください。
旧版を残して新しいフォルダーへ展開すれば、旧版のソース・設定は変更されません。
以前の配信設定を引き継ぐ場合は stream-settings.json を新しいEXEの隣へコピーしてください。
V0.4.0以前のレイアウト設定は、拡大不具合を解消するためパネル配置と窓サイズを初回だけ標準へ戻します。
曲一覧の列設定・選択タブは引き継ぎます。V0.4.2のサイズ・固定設定は再起動時に復元します。

【この版について】
V1.1.3の一覧保存・配信・パネル構成を維持し、Free/Proのライセンス切り替えを追加しました。
新版はWindows 64bit用にビルドしています。今回のWindows実機での起動確認は未実施です。
詳しいビルド・自動テスト結果はVALIDATION.txtを参照してください。

【ソース・ライセンス】
LICENSESとTHIRD-PARTY-NOTICES.txtを同梱しています。
SOURCE.zipは再ビルド・ライブラリ差し替え用です。通常の起動には必要ありません。
ソースからの再ビルドにはRustとC++ Build Tools（Windows SDK）が必要です。
