Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
暴カワでビデオシンセサイザーを導入する技術
Search
Naoki Katahira
October 18, 2024
Technology
1.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
暴カワでビデオシンセサイザーを導入する技術
ビジュアル演出概論 #001
https://peatix.com/event/4152074
Naoki Katahira
October 18, 2024
More Decks by Naoki Katahira
See All by Naoki Katahira
Hakodate in Real-Time CG: Building a GML Converter and Live Visual Performance
yuchi
1
88
SREが考えるハイブリッド開催の技術イベントのライブ配信における信頼性
yuchi
2
3.5k
The Naya Vol.5を開催するための映像技術
yuchi
2
110
How to Start RP2040
yuchi
0
1.7k
Other Decks in Technology
See All in Technology
AI Driven AI Governance
pict3
0
250
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
2.1k
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
0
1.8k
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
140
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
670
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
150
ポストモーテム! DDoSからサイトは守れた。 でもビジネスは守れなかった。
bengo4com
0
1.8k
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8.1k
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
160
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
1k
ゼロをイチにする仕事が終わったあと
smasato
0
310
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
400
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
310
Fireside Chat
paigeccino
42
4k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Navigating Team Friction
lara
192
16k
Typedesign – Prime Four
hannesfritz
42
3.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
Building Applications with DynamoDB
mza
96
7.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
How to train your dragon (web standard)
notwaldorf
97
6.7k
Transcript
暴カワで ビデオシンセサイザーを 導入する技術 yuchi 2024/10/18 ビジュアル演出概論 #001
自己紹介 yuchi / Naoki Katahira ソフトウェアエンジニア(SRE) 主にECサイト構築サービスのインフラを見ている 趣味で様々なことをしている Link: yuchi.io
Twitter(現X): @F_YUUCHI
様々な趣味 • ハードウェア設計(自作キーボード等) • VJ • DJ • 配信(の機材)
VJ 配信DJイベント”The NAYA”を主催しているパイクサイスというチームでVJを やったりしている 個人宅の納屋にLEDテープを数百メートル施工し、業務用プロジェクターを入 れて演出を行っている
None
None
本題
暴カワでビデオシンセサイザーを導入した話 暴カワとは • 正式名:暴力的にカワイイ というイベント • 去年と今年はお台場で野外音楽フェスとして開催 • 昨年は4000人の来場者数 ビデオシンセサイザーとは
• 音に合わせて映像を出してくれる装置(ざっくり) • あまり機種は多くない
暴カワでビデオシンセサイザーを導入した話 • LanPageさんで使用したビデオシンセのプリセット作成をした • DJブースから gaburyuさんが操作をして映像を作っている ◦ ジェネ系VJをDJの人にやってもらった
暴カワでビデオシンセサイザーを導入した話 • 具体的には写真の青い背景の箇所に出ているオブジェクトの映像
https://x.com/YACAINDAHOUSE/status/1843241756093276351/
使用したビデオシンセサイザー Critter & Guitari社のEYESYという機種 • それぞれの映像モードを元に、音声入力、5つのノブ、1つのトリガーで映 像を作ることができる • 中身はRaspberry Pi
Compute Module 3(組み込み版ラズパイ) • 出す映像のカスタマイズが可能でオリジナルの映像モードを作成可能 https://www.critterandguitari.com/eyesy
https://www.youtube.com/watch?v=xIxchxVhVI0
使用したビデオシンセサイザー • Python2+pygameを使用してEYESYの映像生成機能が動いている • Pythonでオリジナルのモードを作成できる • マニュアルにも”5. EYESY のプログラミング ”として簡単な関数やAPIの
例が載っている ◦ https://umbrella-company.jp/manuals/critter_and_guitari_eyesy_manual.pdf https://www.critterandguitari.com/eyesy
ライブ使用しにくい問題点 • 問題点: HDMI出力がMASTERの1本しかない ◦ OSD(= On Screen Display)画面と呼ばれている機能でタイトル や、入力音量、現在の設定などを表示できる
◦ これらはMASTER出力に表示される • 音量ゲインが映像の動きと直結しているため、入力音量のメーターの確認 /調整が必須 →ライブ本番中に設定を確認しようとすると会場のLEDディスプレイにも出てし まう
https://www.critterandguitari.com/manual?m=EYESY_Manual
今回の演出は EYESYの映像の上にフレームを重ねる表現をすることに なった →OSD画面を隠すスペースができる!!!
None
None
None
結構はみ出てる
クロップする?
いいえ
OSD画面のカスタマイズ EYESYはモデル以外もシステムレベルでカスタマイズ可能&オープンソースで 公開されている https://github.com/critterandguitari/EYESY_OS • engines/python/osd.py にOSDの設定がpygameで書かれている ◦ すべてカスタマイズ可能
例:音量メーター # input level pygame.draw.rect(screen, etc.BLACK, (20, 205, 220, 30))
mode_str = " Input Level:" text = font.render(mode_str, True, etc.WHITE, etc.BLACK) text_rect = text.get_rect() text_rect.x = 20 text_rect.centery = 220 screen.blit(text, text_rect) draw_vu_480(screen, etc, 115, 210) 1行目で背景の黒い長方形の 描画処理が書かれている • pygame.draw.rect: pygame を使って長方形を描画 • etc.BLACK: 色は黒 • 20: 左(x:0)からx:20 • 205: 上(y:0)からy:205 • 220: 長方形の幅x(px) • 30: 長方形の高さy(px)
None
None
うまく隠れた
例:音量メーター # input level pygame.draw.rect(screen, etc.BLACK, (400, 20, 220, 30))
mode_str = " Input Level:" text = font.render(mode_str, True, etc.WHITE, etc.BLACK) text_rect = text.get_rect() text_rect.x = 400 text_rect.centery = 35 screen.blit(text, text_rect) draw_vu_480(screen, etc, 490, 25) 素朴に座標をずらす • pygame.draw.rect: pygame を使って長方形を描画 • etc.BLACK: 色は黒 • 400: 左(x:0)からx:400 • 20: 上(y:0)からy:20 • 220: 長方形の幅x(px) • 30: 長方形の高さy(px)
OSD画面のカスタマイズ もっとカスタマイズすれば、VUメーター以外を消したり、サイズを小さくしたり、 VUメーターのデザインも変えられる • 今回のように、上からフレームを被せない場合も、極力目立たないようなデザイン にカスタマイズ可能 ◦ 今回は開発時間の制約上座標を移動させるに留めました • かなりライブユースなビデオシンセにできる
今回作成したモードについて LanPage 3名それぞれのイメージカラーや新曲の歌詞から着想を得て、1か ら作成したり、既存モデルのカスタマイズを行ったりしました
まとめと感想 • 一癖あるビデオシンセだったが、カスタマイズによってライ ブで十分使えるレベルに出来ることが分かった • オープンソース & システムレベルでカスタマイズできるの は最高 •
ビデオシンセ(EYESY)を少しでもライブで使いたいと思った 人に参考になれば幸いです
ご清聴ありがとうございました