記事一覧
Sync Controller の製作
#earthMetronome 中で必要とされる、映像・音楽・イベントなどの多拠点での絶対時刻同期を実現するコントローラーの製作。
といってもこれ自体は機能的にはとても単純で、
ネットワーク上の時刻同期プロトコルを受け取って、ビデオ同期用SMPTEタイムコード信号(LTC)と、音楽・イベント・照明同期用MIDIタイムコード(MTC)を生成する
だけである。 #earthMetronome プ
SyncController Reboot (1)
さて、基幹デバイスだった mbed LPC1768 の入手難により、1年近く開発停止していた本プロジェクトですが、やはりないと不便!という局面がいくつかあり、開発を継続することとしました。とはいえ、基幹デバイスはもうほとんど製造中止?とも思われるし、ほかのプラットフォームに乗り換えたところで流通在庫がどのくらい担保されるかが相変わらず未知数。なので、もっとシンプル化できないかを考えたい。
必要な
SyncController Studio 次期プロト
概要・LPC1768 / LPC54606 兼用型(差し替え可能)
・MACアドレスはEEPROM
・設定はLED付きロータリーエンコーダー(プッシュスイッチあり) / DIPスイッチ
・表示は小型グラフィック有機EL(128 x 32 dot) →適当なのが見つからず、まだ検討中
・内蔵リアルタイムクロックはCR2032電池駆動に変更
(今使っているものの電池が2年しか持たない・はんだ付けのた
SyncController 新名称
いろいろ自分的にも不便なので、名前を定義。あとで変えるかも。
SyncController Studio (旧名: 有線バージョン)確定機能
- 1Uハーフまたは1/3ラックサイズ(予定)
- 有線LAN接続によるNTP時間取得
- 内蔵リアルタイムクロックによる独立動作
- LTC出力(BNCコネクタ)
- HD Tri-level sync入力によるフレーム同期
- LCDまたはOLED表
SyncController技術メモ - 「時刻情報と映像」編
(title image - PexelsのIana Pugachovaによる写真)
必ずしも現状のバージョンの話だけではなく、今後も含んだ仕様技術の詳細、ほかの選択肢、などを記しておきます(Facebook記事のまとめです)。
NTPSyncControllerはNTPというインターネット標準の時刻同期プロトコルを使用します。これはWindows、MacOSなどで標準的に使われており、要はイ
GPSタイムサーバーの構築
#earthMetronome 構想は、とても正確な時刻同期を前提としています。ここでは、ローカルネットワーク上でGPSに同期した時刻サーバーを設定してみます。
どうしてそんなものが必要?earth Metronome 構想では、音楽・映像などに関係するすべてのイベントが、全地球で一つだけの時間尺度で動作することを目標としています。ネットワークでもし遅延があっても、最大1フレーム以内、できれば1
Sync Controller - 有線バージョン ver. 2
#SyncController のうち、現在評価中の有線バージョンで、いろいろ調べたり試したりしているうちにいくつか問題があったので、早くも全面バージョンアップに踏み切る構えで。
1. メモリが足りないいや何とか現状でも動いてはいるのだけれど、たぶん問題ないのだけれど、でもビルド時のメモリマップが
Post-Build: LTCSyncControler| Module
Sync Controller バージョン説明
パラレルに存在するので、バージョンって言わないほうがいいかしら。まあ名前は後で考えます。というか良い名前があったら教えてください。
Light バージョン現在プロト中のこれですね。
機能(予定含む)
- WiFi接続によるNTP時間取得
- WiFi設定
- 内蔵リアルタイムクロックによる独立動作
- LTC出力
- (HD Tri-level sync入力によるフレーム同期 - これはまだ
Sync Controller Light Version (1)
まだ開発途中の Sync Controller ですが、ロードマップに記したように、
現状の構成では中心となる部品 mBed LPC1768 の入手性があまりよくなく、性能の割には値段が高く、かつそろそろだいぶ古いのでもしかしたらディスコン!?となるかもしれないという恐怖があるために、別のプラットフォームを探していました。
M5Stackとはで、見つけたのがこちらです。
一時期IoT用プロト
Sync Controller のロードマップ
やりたいことはいーーーーーーーっぱいあるんですが、すでに引き合いをいただいてたりもするので(なんと!)、
0. ひとさまに使っていただく最小限の機能拡張まず、いろんなネット環境でふつうに使えるようにするため、
- 固定アドレス対応 (ローカル IPアドレス、ゲートウェイアドレス、DNSアドレスなどの手動設定)
- 自前のNTPサーバーアドレス設定(ローカルに高精度NTPサーバーがある場合)
Sync Controller - 早速ファームアップ!
プロジェクトに参加していただいた
さんから、さっそくこんな感じで試作機のレポートをいただいて、
ありゃ、Lockしないとな?と動画を見させてもらったところ、
ああ、5秒に一回外れてる!
やはり!
この Sync Controller、部品の都合&拡張性を優先して汎用のマイコンボードを使っているのですが、そいつが用意してくれる「タイマー」という機能は、ベースの(つまりいちばん細かい)周波数
世界を繋ぐ地球規模のメトロノーム
NTP(エヌティーピー)・ネットワーク時刻同期に対応したタイムコードジェネレーター「Sync Contoller(シンクコントローラー)」の試作機の動作検証をしています。
studio bluegreenのTakuminさんが開発されている「Sync Contoller」は、インターネット上から正確な時刻を受け取り、ビデオ同期用のタイムコード信号を生成する機械です。
これを使うことで、世界中の
Sync Controller 試作機マニュアル
これは、評価いただいている方(まだ一名様w)向けの簡易マニュアルです。
前面
スイッチの設定は、基本的に電源投入時にしか読みません。設定を変えたい場合は、電源再投入(後ろのUSBケーブルを挿しなおし)してください。
左:時刻ソース切り替え
上/NTP - インターネット時刻、下/RTC - 内蔵高精度クロック
NTPで実行時にRTC側に切り替えると、NTPに時刻を取りにいって、RTCに反映