「寄席の箱」というブラウン管TVを使ったデジタルアート作品を展示しました

今回、中国出身の Designer 王雅さんと一緒に制作した 「寄席の箱」 を SNACKS Vol.2 で展示しました。

実は、王さんは私が学校の授業(IoT)で教えていた生徒なのですが、卒業デザインで発表した内容の世界観がとても良いなと思っていました。

せっかくなので卒業制作とは別に展示やコンテストに出せるものにしないかと声をかけたのでした。
// 一応補足しておくと学校の卒制の合否判定は私の担当では無く、また卒業制作提出後のやり取りです

彼女は、日本のデザインと漫才がとても好きで来日し、1年足らずで日本語のやり取りがほとんど出来るぐらいになっていました。

お笑いを知るには歴史から(?)ということで漫才について色々と調査し、その流れの中で寄席や漫才、お笑いにはテレビが非常に大きな関わりを持っており、欠かせないものであると感じ、その時代背景とともにお笑いの歴史をブラウン管に映し表現したい。というものでした。

例えば、中国にもお笑いが有り、ボケとツッコミなど日本との相関図をインフォグラフィックで表現したり、お笑いやコントのキーワードをアニメーションさせるモーショングラフィックで表現したりさまざまなものでした。

そこで私は、彼女が考える世界観を極力表現できるサポートに徹しようと思いました。

SNACKSに展示を行うまでの経緯や漫才に対する思いは王さん自身のブログを見てもらうことにし、私は制作したものの仕組みについて書きたいと思います。

以下、中国語版

(中国語版いずれ読めるようになりたい...)

余談ですが、王さんは出展時の自己紹介に 小林賢太郎氏とハイタッチしたい と書くぐらいラーメンズが好きです。

ブラウン管テレビに映像を映す

今回、ブラウン管テレビに漫才のキーワードや時代のテーマなどを映し出す。ということが鍵となっています。

昭和の時代のレトロ感を出すことが目的であったため、HDMIを搭載したレトロチックなテレビは選択肢から早々に対象から外れていました。
また、ブラウン管の表側の曲面が大事だなという認識でした。

そこでやはり古いブラウン管テレビを使おうという事になりました。
私はオークションサイトで中古のブラウン管テレビを物色し、到着するまでの間に映像を投影する方法を考えました。
// やったことのないことだったので、考えうる全ての方法を並行しながら実行した記憶があります。

ブラウン管そのものを切った張った改造してなんとか映像を映したり出来ないかと考えていましたが、流石にそれは難しそうということで、色々調べていると昔ファミコンで利用した RFモジュレータを改造し、RCA出力とする手法があることを知りました。
RCAに変換できればさらにそこからHDMIに変換することが出来るため、映像を表示することが出来るかもしれない。
そう考え、RFモジュレータを物色する日々が続きました。

所謂ファミコンと言われるハードに使用するRFモジュレータはやはりなかなか見つからず、Nintendo64 のRFモジュレータを改造する方法にたどり着きました。

記事を参考に色々作ったものがこちら

つまり

HDMI <=> RCA <=> RFモジュレータ => VHF

と接続されることになります。

これで、何かしらのデバイスからの映像を映し出すという確証は得ることが出来ました。

ラーメンズ 日本語学校

映像表現について

話し合いの結果、テレビのチャンネルを選んだ時に昭和や平成の時代を象徴する映像を流し、テレビの音量ボリュームを回すとその映像オブジェクトを回転させることが出来る。
というものが最終的な表現となりました。

王: 映像担当
かみやん(私): テレビまわり担当 

となり、ツールをどうしようかという話の中でUnityが無難かなと思っていましたが、 王さんとしては、CINEMA4Dでの映像が得意であるため、そこで制作したいという話になりました。

結果、何らかのモデルデータを出力 し、 何らかのデバイスで表現 し、 何かしらの方法でモデルをコントロールする ということが決まりました。

当時書き出したメモをそのまま書いたのがこちら

# 現状 2通り

## 1. CINEMA4D エクスポート => GLTF
### Render
- Raspberry Pi
GLTF => Three.js (on Node.js Server) => 表示

### 操作
チャンネル/ボリューム => Arduino
↓
- raspberry pi
=> Johnny-five => Node.js Server => Socket.io => Three.js

## 2. CINEMA4D エクスポート=> FBX

### Render
- Win or Mac(テレビ台に隠す)
FBX => touchDesigner(Syphon Spout Out) =>  TCPSyphonServer(Syphon => INetSyphon)
↓
- Raspberry Pi
TCPSyphonClient(INetSyphon) => 表示

### 操作
チャンネル/ボリューム => Arduino
↓
- raspberry pi
=> Johnny-five => Node-OSC
↓
- Win or Mac 
=> TouchDesigner

第2案はどうしても外にPCを置く必要がありそう。
しかし、やはりブラウン管テレビ単体で映像を流したい。
そういうコンセプトがあり、色々と調べるうちにCINEMA4DのGLTFファイル形式で出力するとブラウザのJavaScriptで映像が出せそうだ。ということになりました。

上記の HDMI <=> RF の画像で、RaspberryPi が接続されているのはその時に試したものでした。

TouchDesignerの映像レシーバとしてRaspberryPiを置く方法(第2案) はできれば今回は避けたい。という方向で走り始めました。

テレビとの格闘

さて、実装方針は決まったものの肝心のテレビを改造しなければなりません。

基本方針としては以下のイメージでした。

  • RFモジュレータでHDMIの映像が映るチャンネルを固定
  • 押されたチャンネルは無効化(押したスイッチはフックし判定する必要有)
  • チャンネル選択時の点灯は基板から隔離(別の制御方法をかませる必要有)

これにより、

  1. テレビ本体は内部的にはチャンネル固定化
  2. 押したスイッチを制御側で判定
  3. 映像を切り替えた時にチェンネルの点灯も制御

ということが必要となります。

また、他の修正としては

  • ボリュームは回転位置を無効化(回転位置は判定する必要有)
  • もともと存在していたボリュームの配線は背面に移設する

となります。

早速バラし、配線を確認していきます。

ボリュームは可変抵抗

チャンネルのスイッチは基板直付けだった

1つづつ外して行き、基板のパターンを使わずArduinoと接続するため、配線を取り出します。

チャンネルのスイッチを再び元に戻し、どこにも干渉しないように配線をまとめる

チャンネル選択時の点灯は麦球だったのでLEDに打ち替え

一旦配線をバラしてすべて長いものに変更

チャンネル選択とLEDの配線が取り出せた

テレビの音量ボリュームは裏側へ移設

テレビ内部に固定

LEDの制御はArduinoのIO数が足りないためシフトレジスタで制御しました。

システム周り

ハード側の配線が出来たのでソフト側の方針は以下です。

  • Arduino側のio取得 (安定のJohnnyfive)
  • Webサーバ(Node.js) 立ち上げ + Socket.io
  • ブラウザでモデルデータや映像の表示(Babylon.js)

※ Three.jsを使う予定でしたが、Babylon.jsへ変更しました。

  1. チャンネルのスイッチを押した判定をサーバ側で判定し、LEDの点灯箇所を変更
  2. 選択されたチャンネルをSocket.io経由でブラウザ側へ送信する
  3. ブラウザで受信したチャンネル情報を受取り、映像を切り替える

ハード側の値をブラウザに送っての表現は私のお得意パターンなのでサクサク進めます。 しかし、RaspberryPiのブラウザだとどうしてもモデルデータの表示でカクカクします。

やはり厳しいかなということで、検索で見つけた Tinker Board S なるものも試しましたがうまく行かず、諦めて一旦テレビにMacMiniを入れるかー。と言って配置した結果がこちら

しかし、ノイズなどがひどくSNACKS展示時点ではテレビ本体にArduinoを内蔵し、外に Mac mini を配置することになりました。(※後日談有り)

SNACKS当日に書いた解説用メモ

出来なかったこと

CINEMA4DからGLTFモデルデータへエクスポートする際エラーが出ることが多く、チャンネルのほとんどを動画で制作する方向へシフトし、ボリュームでモデルを操作することが出来ませんでした。

ボリュームによるモデル操作などやりたいことがまだ残っているので、変更を加えつつコンテスト等に出したいなと思っています。

映像システム内蔵型ブラウン管への道

Intel Compute Stick の Chrome で意外と映像が再生出来たため、調整している所

このサイズなら、当初の予定通りブラウン管の中に全て内包出来るかも

Thx SNACKS

SNACKSは 小さなデジタルアート作品を展示するグループです。

ということなのだけど、今回はとても作品としてしっかりまとまったものが多く刺激を受ける展示でした。

もしかすると今回は主催側からするとSNACKSの展示方針とは違ったのかもしれない… 作品然とした HOMEWORKSから打って変わって、気軽に出せる展示にしたかったのだろうなというところは有りつつも。。。

前回のSNACKS Vol.1 の展示では、所謂Webカメラを使い画像解析で顔の位置を認識させ、目の前に映る映像の視点をSyncさせる立体視を行う展示でした。

卓上でやってみた系でも良いということで、敷居を下げつつ表現することへの入り口を準備して頂いているのはホント良い機会だなと思います。

Thx ouga

自分の世界観をしっかり出してくれたことに感謝。

我有很多东西要向你学习,我非常尊重你作为表达者。
YOSE BOX proj.的未来还在继续!