QLabでExcel、CSV、TXTから素早く字幕を作成する方法
もし既にQLabで公演を運用しているなら、時間がかかるのはプロジェクターの準備ではありません。
時間がかかるのは、台本、翻訳、スプレッドシート、またはプレーンテキスト文書を、何百ものキュー可能な字幕行に変換し、しかも公演ファイルを壊さないことです。
舞台監督はWordの台本を持っているかもしれません。翻訳者はExcelシートを持っているかもしれません。技術スタッフはプレーンテキストのリストを持っているかもしれません。QLabオペレーターが必要とするのは別のものです。それは、公演のタイムラインに配置でき、リハーサルができ、移動、番号変更、そしてプレッシャーの中でも確実にトリガーできる、信頼性の高いTextキューです。
このガイドでは、Excel、CSV、またはTXTから字幕を構築するための高速なQLab 5ワークフローを説明します。また、この方法を公式QLabドキュメントと比較し、QLabが直接サポートするもの、AppleScriptで自動化できるもの、そしてSurtitleLiveのような専用サータイトルワークフローがより安全になる領域を明確にします。
QLabは字幕を表示できますか?
はい。QLabでは、字幕やサータイトルは通常Textキューで構築します。
公式QLab 5ドキュメントでは、Textキューはスタイル設定されたテキストをビデオ出力として表示するキューと説明されています。Textキューはフォント、サイズ、スタイル、配置、色、背景色の設定を使用でき、キューが実行されるとQLabはテキストをビデオとしてレンダリングします。TextキューはQLabのビデオシステムの一部であるため、投影用のビデオ出力ステージに割り当てることができます。
劇場チームにとって、これは字幕が通常のQLabキューになり得ることを意味します:
- 音声、ビデオ、照明、ウェイト、スタンバイと同じキューリストに配置できる
- プロジェクターやスクリーンステージに割り当てられる
- 他のビジュアル素材と同様にフォーマットできる
- GO、キュートリガー、タイムライングループ、OSC、MIDI、その他のショーコントロールロジックでトリガーできる
これが良いニュースです。
悪いニュースは、QLabが翻訳エディターではないことです。台本のセグメンテーションツールでもありません。多言語対応の観客ビューアーでもありません。QLab内で手動ですべての字幕を作成すると、リハーサルが始まる前に何時間も失う可能性があります。
公式QLabドキュメントがサポートするもの
ワークフローを構築する前に、公式のQLabの動作と制作上のショートカットを区別する価値があります。
| ニーズ | 公式QLabドキュメントがサポートするもの | この記事が追加するもの |
|---|---|---|
| 投影テキストの表示 | QLab Textキューはスタイル設定されたテキストをビデオ出力としてレンダリングし、ビデオ出力ステージに割り当てることができます。 | 各字幕を1つのQLab Textキューとして扱います。 |
| 多数のキューの生成 | QLab AppleScript辞書は make type "text" をサポートし、text、text alignment、fixed width、stage name、translation x、translation y などのキュー属性を公開します。 |
スプレッドシートの行またはテキストブロックを各Textキューのソースとして使用します。 |
| スプレッドシートの使用 | QLab Cookbookには、Excelの行を読み取り、グループを作成し、Textキューを作成し、テキストとフォーマットを設定し、キューをグループに移動するスプレッドシート駆動の例が含まれています。 | フラッシュカードではなく、字幕とサータイトルに同じパターンを適用します。 |
| XLSXのネイティブ字幕インポート | QLabの公開ドキュメントはExcel自動化を実演しており、ワンクリックのネイティブXLSX字幕インポート機能ではありません。 | Excel/CSV/TXTをソースデータとして使用し、スクリプトまたはインポーターを使用してQLabキューを生成します。 |
| 観客のスマートフォンとの同期 | QLabのTextキューはローカル投影を処理します。それ自体では、ブラウザベースの字幕状態を観客のスマートフォンに公開しません。 | 同じキューが投影と観客のモバイル視聴の両方を駆動する必要がある場合は、SurtitleLive QLab Syncを使用します。 |
この区別はSEOと制作の正確性にとって重要です。安全な表現は「QLabはExcel字幕をネイティブにインポートする」ではありません。より安全で正確な表現は次のとおりです:
スプレッドシート駆動またはスクリプト駆動のワークフローを使用して、Excel、CSV、またはTXTからQLab字幕Textキューを作成できます。
これは、QLab自身のCookbookがスプレッドシート自動化にアプローチする方法と一致しています。
最速の構造:1行に1つの字幕
ソースがExcelまたはGoogle Sheetsの場合、1行に1つの字幕から始めます。
シートは退屈に保ちます。退屈は良いことです。退屈なシートはテクニカルリハーサルを乗り切ります。
テンプレートはこちらからダウンロード: QLab Subtitles Excel Template (XLSX)
| 列 | 例 | なぜ重要か |
|---|---|---|
cue_number |
10 |
割り当てたいQLabキュー番号。 |
subtitle_text |
ようこそ。 |
観客が見るテキスト。 |
operator_note |
呼び鈴の後 |
オペレーター用のキューイングノート。 |
language |
ja |
複数のバージョンを準備する場合に便利。 |
stage |
サータイトル |
オプションのQLabビデオ出力ステージ名。 |
alignment |
center |
通常は center ですが、明示的に指定します。 |
最初のパスでは、2つの列だけが必須です:
cue_number,subtitle_text
10,Welcome to the show.
11,Please turn off your phones.
12,The performance will begin shortly.翻訳者から字幕が届く場合は、セルを結合したり、意味を色分けしたり、制作ノートをコメントに隠したりしないように依頼してください。テキストは列に入れてください。スクリプトは列を読み取れます。オペレーターは列を確認できます。
方法1:ExcelからQLab Textキューへ
この方法は、公式QLab Cookbookパターンに最も近いものです。
アイデアはシンプルです:
- Excelで字幕スプレッドシートを開きます。
- ターゲットのQLab 5ワークスペースを開きます。
- 最初にQLabでTextキューテンプレートを設定します。
- 各行を読み取るAppleScriptを実行します。
- 各行に対して、QLab Textキューを作成します。
- キュー番号、キュー名、テキスト、配置、幅、ノート、そしてオプションでステージを設定します。
- 生成されたキューを実際の公演タイムラインに移動またはコピーします。
公式Cookbookの例では、Excelを使用して、グループと1行あたり複数のTextキューを持つ、より複雑なビジュアルワークスペースを作成しています。字幕の場合は、そのパターンを簡略化できます:1つのスプレッドシート行が1つの字幕Textキューになります。
最小限のAppleScriptスケルトンは次のようになります:
-- Official QLab 5 pattern:
-- https://qlab.app/docs/v5/scripting/examples/#create-and-move-a-new-cue
on makeCueInGroup(cueType, destinationContainer)
tell application id "com.figure53.QLab.5" to tell front workspace
make type cueType
set newCue to last item of (selected as list)
set q number of newCue to ""
set newCueID to uniqueID of newCue
set sourceList to parent of newCue
move cue id newCueID of sourceList to end of destinationContainer
return cue id newCueID of destinationContainer
end tell
end makeCueInGroupこのAppleScript、Excelテンプレート、スクリーンショットを含む完全なコンパニオンパッケージはこちらからダウンロードできます:QLab Subtitles Demo Assets (ZIP)。
これは完成されたプロダクション用インポーターではありません。読みやすい出発点です。
実際の公演では、QLabワークスペースに書き込む前にチェックを追加してください:
- キュー番号が空白の場合は停止
- キュー番号が既に存在する場合は停止
- 字幕テキストから余分なスペースをトリム
- 行が長すぎる場合は警告
- ドラフトまたは未承認とマークされた行を拒否
- 生成されたキューを最初に一時グループに入れる
- QLabワークスペースのタイムスタンプ付きバックアップを保持
最も安全なワークフローは、キューを別のQLabワークスペースまたは明確に名前付けられたグループに生成し、レビューしてから、ライブの公演ファイルに貼り付けることです。
方法2:CSVからQLab字幕へ
CSVは、XLSXよりも優れた交換フォーマットであることがよくあります。
Excelは編集に便利です。CSVは自動化に便利です。
CSVワークフローは通常次のようになります:
- Excel、Google Sheets、Numbers、またはAirtableで字幕を編集します。
- CSVとしてエクスポートします。
- CSVを読み取り、QLab Textキューを作成する小さなインポーターを実行します。
- リハーサルの前に生成されたQLabキューをレビューします。
利点は、インポーターがExcelと直接通信する必要がないことです。プレーンなCSVファイルを読み取ることができます。これにより、ワークフローのバージョン管理、テスト、繰り返しが容易になります。
CSVはGitにも保存できるため、変更のレビューが容易になります。例えば、プロダクションマネージャーは、QLabワークスペースを開かなくても、キュー42の翻訳が変更されたことを確認できます。
劇場チームにとって、これは字幕作業が常に変化するため有用です:
- 翻訳が短縮される
- 俳優が間を変える
- ジョークに異なる改行が必要になる
- 遅いカットでページが削除される
- 監督が字幕を2つ前のキューに移動するよう指示する
ソースデータが構造化されていれば、QLabキューリストの再構築が手動ではなく繰り返し可能になります。
方法3:TXTからQLab字幕へ
プレーンテキストは、まだスプレッドシートがない場合の最速の出発点です。
シンプルなブロック形式を使用します:
10
Welcome to the show.
11
Please turn off your phones.
12
The performance will begin shortly.この形式では、各字幕ブロックに以下が含まれます:
- キュー番号
- 1行以上の字幕テキスト
- 次のブロックの前の空白行
TXTインポーターは、ファイルを空白行で分割し、最初の行をQLabキュー番号として読み取り、残りの行を字幕テキストとして扱うことができます。
これは高速ですが、脆弱でもあります。プレーンテキストは小規模なイベントや仮リハーサルには適していますが、複数の言語、承認ステータス、オペレーターノート、シーン番号、話者名、改訂履歴が必要になると弱くなります。
本格的なサータイトルには、構造が複雑になり次第、TXTをスプレッドシートまたは専用のサータイトルエディターに変換してください。
投影設定:ステージを忘れずに
Textキューを生成することは仕事の半分に過ぎません。
QLab Textキューはどこかに出力する必要があります。公式QLab Textキューインスペクターでは、I/Oタブでキューをビデオ出力ステージに割り当てます。キューにステージがない場合、Textキューは壊れたり、期待される場所に表示されなかったりする可能性があります。

何百もの字幕キューをインポートする前に、ステージを作成してテストしてください:
- プロジェクターまたはディスプレイを接続する
- QLabビデオ出力ステージを設定する
- 1つの手動Textキューを作成する
- フォント、サイズ、色、幅、配置、位置を設定する
- 最後列から読めることを確認する
- そのキューをテンプレートとして保存するか、その設定を生成されたキューにコピーする
これを自動化の前に行ってください。自動化は設定を繰り返します。テンプレートが間違っていると、自動化は間違った設定を非常に速く繰り返します。
DIY QLab字幕ワークフローで通常壊れるもの
DIY QLab字幕生成は、問題が単純な場合にうまく機能します:
テキストがある。QLab Textキューが必要だ。
問題が実際に次のような場合、難しくなります:
翻訳済み台本、遅い編集、複数バージョン、投影スクリーン、観客のスマートフォン、キュージャンプ、そして公演が台本から外れたときにリカバリーする必要があるライブオペレーターがある。
一般的な失敗点は次のとおりです:
- キュー番号の重複
- ステージ割り当ての欠落
- 画面に対して幅が広すぎる字幕
- Excelでは問題なかったがプロジェクターでは問題になる改行
- キューが既にインポートされた後の翻訳変更
- QLab公演ファイルが字幕テキストが存在する唯一の場所になる
- バージョン3とバージョン4の翻訳をクリーンに比較する方法がない
- 投影とモバイル字幕配信の乖離
- 俳優がセリフをスキップ、繰り返し、または並べ替えたときのオペレーターのストレス
これが「迅速なQLab自動化」と実際のサータイトル制作ワークフローの境界線です。
SurtitleLiveがより良いワークフローである場合
ローカル投影のみが必要な場合、QLab Textキュー ワークフローで十分かもしれません。
翻訳レビュー、安定したキーキュー、モバイル視聴、または投影と観客のスマートフォンの両方が必要な場合、SurtitleLiveはQLabに到達する前に字幕作業に専用の居場所を提供します。
SurtitleLive QLabワークフローには2つのレベルがあります。
QLab Projection Pack
QLabからローカル投影を行いたい場合に使用します。
ワークフローは次のとおりです:
SurtitleLive Editor → QLab Projection Pack → QLab Text cues → プロジェクター
SurtitleLiveで台本と字幕セグメントを準備し、翻訳とキュー順序をレビューしてから、QLab対応キューをエクスポートします。QLabは会場の再生環境として残ります。
これは、QLabがすでにテクニカルオペレーターの中心であるが、字幕の準備をQLab内で1キューずつ行うべきではない場合に便利です。
QLab + SurtitleLive Cloud Sync
QLabが公演タイムラインを実行し続ける必要があるが、観客のスマートフォンが同じ字幕状態に従うべき場合に使用します。
ワークフローは次のとおりです:
QLab → ローカル投影 → プロジェクター
そして、同じキューポイントで:
QLab同期キュー → ローカルMacブリッジ → SurtitleLive Cloud → 観客のスマートフォン
この設定では、各SurtitleLive字幕をQLabにタイムライングループとしてインポートできます。グループには、ローカル投影用のTextキューと観客のスマートフォン用の同期キューが含まれています。オペレーターは引き続きQLabタイムライン内で作業し、SurtitleLiveが観客のモバイル字幕状態を処理します。
graph TD
%% Style Definitions
classDef qlab fill:#1a1c23,stroke:#5856d6,stroke-width:2px,color:#fff;
classDef hardware fill:#2a2b36,stroke:#8e8e93,stroke-width:2px,color:#fff;
classDef cloud fill:#0d2d5e,stroke:#007aff,stroke-width:2px,color:#fff;
classDef audience fill:#103823,stroke:#34c759,stroke-width:2px,color:#fff;
subgraph Venue ["Local Venue (Theatre)"]
QLab["QLab 5 Workspace
(Show Control Mac)"]:::qlab
Projector["Stage Projector"]:::hardware
Screen["Subtitle Screen / LED Wall"]:::hardware
Bridge["SurtitleLive Local Bridge
(Receives QLab OSC)"]:::qlab
end
subgraph CloudSpace ["Cloud Service"]
Cloud["SurtitleLive Cloud Platform
(Real-time Sync)"]:::cloud
end
subgraph Viewers ["Audience Devices"]
Phone1["Audience Phone A
(Web Browser)"]:::audience
Phone2["Audience Phone B
(Web Browser)"]:::audience
PhoneN["...Other Phones"]:::audience
end
%% Connection Logic
QLab -->|"1. Video Output (HDMI/SDI)"| Projector
Projector --> Screen
QLab -->|"2. Local OSC Trigger"| Bridge
Bridge -->|"3. Secure WebSocket"| Cloud
Cloud -->|"4. Millisecond-level Push"| Phone1
Cloud -->|"4. Millisecond-level Push"| Phone2
Cloud -->|"4. Millisecond-level Push"| PhoneN
%% Subgraph Styling
style Venue fill:#f9f9fb,stroke:#ccc,stroke-width:1px;
style CloudSpace fill:#f0f7ff,stroke:#b3d7ff,stroke-width:1px;
style Viewers fill:#f2fff5,stroke:#c2f0cc,stroke-width:1px;これは、スマートフォン字幕ワークフローでは観客デバイスがQLabと直接通信する必要がないため重要です。公演コンピューター、プロジェクター、ローカルブリッジ、観客リンクはすべて異なる役割を持っています。
最善の実用的推奨事項
小規模な一夜限りのイベントの場合:
ExcelまたはTXTを使用してQLab Textキューを生成します。シンプルに保ちます。プロジェクターをテストします。バックアップを保存します。
翻訳された演劇公演の場合:
QLabの外部で字幕を準備し、テキストがレビューされた後にQLabにインポートします。
多言語またはモバイルビューアー向け公演の場合:
QLabエクスポートまたはQLab Syncと共にSurtitleLiveを使用します。QLabを公演タイムラインとして維持しますが、QLabを字幕コンテンツの唯一の情報源にしないでください。
目標はQLabを置き換えることではありません。目標は、QLabが優れていること、つまりライブショーコントロールをQLabに任せることです。
字幕の準備、翻訳レビュー、モバイル視聴、キュー状態の同期には、それぞれ独自のワークフローが必要です。
FAQ
QLabは字幕を表示できますか?
はい。QLab Textキューはスタイル設定されたテキストをビデオ出力として表示できるため、投影字幕、サータイトル、キャプション、アナウンス、および同様のテキストベースのビジュアルに一般的に使用されます。
Excel字幕をQLabに直接インポートできますか?
QLabの公式Cookbookは、AppleScriptを使用したExcel駆動のキュー生成を実演していますが、これは組み込みのワンクリックXLSX字幕インポート機能とは異なります。実用的なアプローチは、Excelをソースデータとして使用し、QLab Textキューを作成するスクリプトまたはインポーターを実行することです。
CSVからQLab字幕を作成できますか?
はい、インポーターを使用すれば可能です。CSVはプレーンテキストであり解析が容易なため、XLSXよりも簡単なことがよくあります。スクリプトは各行を読み取り、字幕ごとに1つのTextキューを作成できます。
TXTからQLab字幕を作成できますか?
はい、TXTファイルが予測可能な構造を使用している場合に限ります。例えば、各ブロックはキュー番号で始まり、その後に字幕テキストが続き、キュー間は空白行で区切られます。スクリプトはこれらのブロックをQLab Textキューに変換できます。
字幕はQLab TextキューとVideoキューのどちらを使うべきですか?
編集可能なライブテキストには、Textキューを使用してください。Videoキューは、字幕が既にレンダリングされたビデオやグラフィックに焼き付けられている場合に適しています。Textキューは、構造化テキストからの改訂、フォーマット、生成が容易です。
QLabは字幕を観客のスマートフォンに同期しますか?
QLabはTextキューをローカルに投影できますが、観客のスマートフォンへの配信にはブラウザ/モバイルワークフローが必要です。SurtitleLive QLab Syncはそのために設計されています。QLabが公演タイムラインを維持し、SurtitleLiveが観客のスマートフォン字幕状態を更新します。
DIY QLab字幕スクリプトの使用をいつやめるべきですか?
字幕ワークフローに翻訳レビュー、複数言語、安定したキーキュー、モバイル視聴、リハーサルリカバリー、またはインポート後の繰り返し更新が必要になった時点で、DIYスクリプトのみに依存するのをやめてください。その時点で、専用のサータイトルワークフローを使用し、QLabワークスペース内で字幕コンテンツを手動で維持する代わりにQLabにエクスポートしてください。
関連リソース
- QLab 5 Text Cues: https://qlab.app/docs/v5/video/text-cues/
- QLab 5 AppleScript Dictionary: https://qlab.app/docs/v5/scripting/applescript-dictionary-v5/
- QLab Cookbook — Grid: https://qlab.app/cookbook/grid/
- SurtitleLive QLab workflow: https://surtitlelive.com/qlab
- SurtitleLive QLabインポートパックの書き出し: https://surtitlelive.com/ja/guides/export-qlab-import-pack
- SurtitleLive QLab制御(ASMとビューア同期)ユーザーガイド: https://surtitlelive.com/ja/guides/qlab-asm-viewer-sync-beta