Unity上でLinear Timecode (LTC/業務用音響・映像機器で使用される同期用タイムコード信号)をリアルタイムでデコードするパッケージです。オーディオ入力からLTC信号を解析し、正確なタイムコードを取得できます。
さらに、デコードしたLTCをUnity Timelineと同期させる機能も提供しています。LTC Timeline Syncコンポーネントを使用することで、PlayableDirector(Unity Timelineを再生するコンポーネント)を自動的にLTCに同期させることができます。
- 🎙️ リアルタイムLTCデコード - マイク入力からLTC信号を解析します
- 🎬 Unity Timeline自動同期 - PlayableDirectorとの高精度同期を実現します
- 🔧 高度なノイズ除去 - 適応フィルタリングによりジッター(タイムコードの不規則な揺らぎ)を除去します
- 📊 包括的なデバッグツール - 波形表示、ジッター解析、詳細ログを提供します
- 🎮 柔軟なイベントシステム - UnityEventによる拡張性の高い連携が可能です
- 🖥️ デバッグUI - リアルタイムタイムコード表示とステータスモニターを備えています
- Unity Package Managerを開いてください (Window > Package Manager)
- 「+」ボタンから「Add package from git URL...」を選択してください
- 以下のURLを入力してください:
https://github.com/murasaqi/Unity_LTCDecoder.git?path=jp.iridescent.ltcdecoder
- このリポジトリをクローンしてください
jp.iridescent.ltcdecoderフォルダをプロジェクトのPackagesフォルダにコピーしてください
-
LTC Decoderを追加
- GameObjectに
LTCDecoderコンポーネントを追加してください - Inspectorでオーディオ入力デバイスを選択してください
- GameObjectに
-
Timeline同期を設定
- PlayableDirectorを持つGameObjectに
LTCTimelineSyncコンポーネントを追加してください - LTC Decoderコンポーネントへの参照を設定してください
- PlayableDirectorを持つGameObjectに
-
動作確認
- UnityをPlay
- Audio Interface等からLTCの音声を入力してください
Unityメニューから簡単にセットアップできます。
基本セットアップ: GameObject > LTC Decoder > Create LTC Decoder
デバッグUI付きセットアップ: GameObject > LTC Decoder > Create Complete UI Setup
メインのLTCデコードコンポーネントです。オーディオ入力からLTC信号を解析します。
主要設定:
Device: オーディオ入力デバイスFrame Rate: タイムコードフレームレート (24/25/29.97/30 fps)Drop Frame: ドロップフレームタイムコード使用Sample Rate: オーディオサンプリングレート
ノイズ除去設定:
Use Timecode Validation: タイムコード連続性チェックを有効化しますJitter Threshold: ジッター検出閾値(タイムコードのずれを異常と判定する基準値)です (デフォルト: 100ms)Denoising Strength: ノイズ除去の強度を設定します 0-1 (デフォルト: 0.8)
Unity TimelineをデコードされたLTCと同期させるコンポーネントです。
同期設定:
Sync Threshold: 同期トリガー閾値です (デフォルト: 0.1秒)Smoothing Factor: タイムライン調整の滑らかさを設定します (0-1)Pause When No Signal: LTC信号喪失時に自動一時停止を行います
イベントシステムのデバッグとモニタリング用コンポーネントです。
イベント:
OnTimecodeReceived: タイムコード受信時OnTimecodeJump: タイムコードジャンプ検出時OnSignalLost: LTC信号喪失時OnSignalRestored: LTC信号復旧時
- オーディオ入力デバイスが正しく選択されているか確認してください
- LTC信号が入力されているか確認してください
- フレームレートとドロップフレーム設定を確認してください
Jitter Thresholdを上げてください(安定した信号なら0.05、不安定な信号なら0.15程度)Denoising Strengthを上げてください(0.5から1.0の範囲で調整)Min Consecutive Valid Frames(有効と判定するための連続フレーム数)を増やしてください(2から4の範囲)
- PlayableDirectorが正しく設定されているか確認してください
Sync Thresholdを調整してください- TimelineAssetが設定されているか確認してください
Log To Consoleは必ずOFFにしてください(大きなパフォーマンス影響があります)- 必要な時のみ特定のログカテゴリを有効化してください
- Inspector内のDebug Logsセクションでログを確認してください
- レイテンシと安定性のトレードオフを考慮してください
- 推奨値は512-1024サンプルです
- 各プラットフォームでマイクロフォン権限の設定が必要です
- Windows/macOS: 初回起動時にマイクアクセス許可のダイアログが表示されます
- iOS: Info.plistに
NSMicrophoneUsageDescriptionを追加してください - Android: AndroidManifest.xmlに
RECORD_AUDIO権限を追加してください
- サンプルレートは使用するオーディオインターフェースやLTC機器の仕様に合わせて設定してください(一般的には48000Hz、場合により44100Hz)
- 各プラットフォーム固有の設定については、Unity公式ドキュメントを参照してください
新機能追加時の注意点:
ValidateTimecodeロジックへの影響を確認してください- 安定した信号と不安定な信号の両方でテストしてください
- ログがパフォーマンスに影響しないことを確認してください
- このドキュメントを更新してください
- Unity 2021.3 LTS以降
- Windows / macOS / Linux
- マイクロフォン入力デバイス
MIT License
Issue報告やPull RequestはGitHubリポジトリにお願いします。
- 外部制御API拡充
- PlayableDirector参照の柔軟化
- Inspector自動更新機能
- 設定永続化システム改善
- Unity Package Manager対応
- イベントシステム再設計
- デバッグUI改善
- 初回リリース
- 基本的なLTCデコード機能
- Timeline同期機能
開発元: Iridescent



