Textream — macOS向けリアルタイム・テレプロンプター

Tool

概要

Textreamは「話すペースに合わせてスクリプトを自動でハイライトする」ことを主眼にしたmacOS向けテレプロンプターです。主にストリーマー、インタビュアー、プレゼンター、ポッドキャスターを想定して設計されており、話しながら視線を大きく移動させずに次に読むべき箇所を追えるようにします。READMEによればアプリは無料で配布され、アイコンや基本的なドキュメント、実際のアプリ本体がリポジトリに含まれています。UIは視認性を重視したオーバーレイ表示を備え、録画や配信中の使い勝手を高めることが狙いです。

GitHub

リポジトリの統計情報

  • スター数: 16
  • フォーク数: 0
  • ウォッチャー数: 16
  • コミット数: 27
  • ファイル数: 5
  • メインの言語: Swift

主な特徴

  • スピーカーの発話に合わせてスクリプトをリアルタイムにハイライト表示
  • Dynamic Island風のオーバーレイで邪魔にならない視認性を実現
  • 配信・録画・インタビュー用に軽量で直感的なUIを提供
  • Swiftで実装され、macOSネイティブの操作感を重視

技術的なポイント

TextreamはSwift製のmacOSアプリであり、READMEの説明から「音声認識に基づくテキスト同期」と「常時表示のオーバーレイ」をコア機能としていることが読み取れます。実装上で考えられる主要技術は次の通りです。

  • 音声認識エンジン: macOSネイティブのSpeechフレームワークやAVAudioEngineを用いてマイク入力を取り込み、発話をリアルタイムにテキスト化/タイムスタンプ化することで、現在話されている語句に合わせたハイライト同期を行っている可能性が高いです。低遅延での認識精度・ノイズ耐性がポイントになります。
  • テキスト同期アルゴリズム: 認識結果(部分的な認識テキスト)のストリームを元に、表示中の原稿テキスト内の該当箇所を逐次検索・マッチングしてハイライトするロジックが必要です。単純な文字列一致に加え、語順や省略、認識誤差を吸収するファジーマッチングやトークナイズ処理があると安定します。
  • UI/ウィンドウ管理: 「Dynamic Island風オーバーレイ」は、透明背景かつ常に手前に出るフローティングウィンドウとして実装されている想定です。AppKit(NSWindow)やSwiftUIのWindowGroupでレイヤーを管理し、配信ソフトと併用した際の干渉を避けるためのクリック透過/サイズ調整機能が考慮されています。
  • パフォーマンスとリソース管理: リアルタイム処理のため、音声認識ループやテキストマッチングは非同期で行い、メインスレッド負荷を低く抑える設計が重要です。メモリ/CPUを過度に消費しない軽量なパイプラインが望まれます。
  • 拡張性と設定: スクリプトの読み込み(テキストファイルやコピペ)、フォントやハイライト色、スクロール挙動(自動スクロール/ページ送り)などのカスタマイズが実装されていると運用性が高まります。docsディレクトリや設定UIでこれらを調整できる設計になっていることが期待されます。

リポジトリ自体は比較的シンプルな構成で、コアのアプリ部分(Textreamディレクトリ)とドキュメント群が分かれており、macOSネイティブの開発経験があれば読みやすい構造です。OSSとして実際の音声同期方式やUI実装の詳細を確認・改良できる点が魅力です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • README.md: file
  • Textream: dir
  • docs: dir

(Textreamフォルダにアプリ本体のソース/Assetsが、docsに説明や利用方法が含まれている想定です)

まとめ

配信や録音の現場で発話に同期する見やすいテレプロンプターを手軽に試せる、実用性の高いmacOSオープンソースアプリです。

リポジトリ情報:

READMEの抜粋:

Textream icon

Textream

A free macOS teleprompter that highlights your script in real-time as you speak.

Built for streamers, interviewers, presenters, and podcasters.

Download · Features ·