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.2k
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
93
SREが考えるハイブリッド開催の技術イベントのライブ配信における信頼性
yuchi
2
3.6k
The Naya Vol.5を開催するための映像技術
yuchi
2
120
How to Start RP2040
yuchi
0
1.7k
Other Decks in Technology
See All in Technology
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
2
1.1k
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
250
AI開発に用いられるHPC技術について
gpuunite_official
0
260
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
18
6.7k
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
120
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
250
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
440
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
1
890
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
120
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
170
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Writing Fast Ruby
sferik
630
63k
How to Ace a Technical Interview
jacobian
281
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Invisible Side of Design
smashingmag
301
52k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Leo the Paperboy
mayatellez
8
2.2k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
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)を少しでもライブで使いたいと思った 人に参考になれば幸いです
ご清聴ありがとうございました