explainroo
explainroo는 AI 에이전트가 음성으로 설명 영상을 만들 수 있는 무료 오픈소스 도구이며, 로컬에서 API 키 없이 실행됩니다
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A point-cloud visual piece for a 5:55 improvised piano solo by Incheol Kim.
A researcher stands alone on an alien world. Every note she hears goes out as a sonar pulse, and what it touches comes back as points of light: the sand at her feet, a broken stele with a worn handprint, the ruins of a city buried under a mound. Time drifts back and the city stands again; giant whale-like beings pass overhead, come close, and leave.
Watch it
The whole picture is generated in the browser from code and from timing data of the performance; nothing in it is pre-rendered.
| Input | Action |
|---|---|
| Tap / click, or Space | Play / pause |
| Double-tap the left / right third, or ← / → | 5 s back / forward (keep tapping to add 5 s) |
| Drag the bar on the pause screen | Jump |
Smooth playback needs a capable GPU. On laptops with two GPUs, browsers often run on the power-saving one: in Windows,
Settings → System → Display → Graphics, set your browser to High performance. chrome://gpu (or edge://gpu,
whale://gpu) shows which GPU is in use.
Open dist/echolocation.html in Chrome, Edge or another browser with WebGL2. dist/echolocation.mp3 must sit next to
it. Opening the file directly (file://) works; no server is needed.
Page options:
dist/echolocation.html#t=125 — a still frame of second 125?w=1920&h=1080 — render at a fixed size regardless of the window?gen=1 — compute the researcher's points at load time instead of using the baked copy (slower, same picture)Requirements: Python 3 and Node.js.
python tools/build.py # src/ + data/ -> dist/echolocation.html (bakes the researcher's points with tools/bake.js)
node --test "test/*.test.js"
python -m unittest discover -s tools -p "test_*.py"
data/music.json holds the note onsets, velocities and loudness envelope of the performance. It was made from the
original MIDI and WAV with tools/make_data.py; those originals are not part of this repository (the tests that need
them are skipped). To rebuild it, put them at media/echolocation.mid and media/echolocation.wav, or set ECHO_MIDI
and ECHO_WAV. The build copies media/echolocation.mp3 (or ECHO_MP3) into dist/ when present and keeps the
existing dist/echolocation.mp3 otherwise.
tools/export_video.mjs renders the 4K / 1080p 60 fps video in headless Microsoft Edge (Windows): every frame is the
average of 16 sub-frames over a 180° shutter with sub-pixel jitter, streamed into ffmpeg together with the original WAV.
It needs ffmpeg (tools/ffmpeg/bin/ffmpeg.exe or ECHO_FFMPEG) and the WAV (media/echolocation.wav or ECHO_WAV),
neither of which is included. The rendered videos are published on YouTube, not here.
The tools/check_*.mjs scripts are browser checks used during development (headless Edge).
src/template.html page, HUD, controls
src/js/00-core.js namespace, seeded random, matrices, splines
10-music.js performance data: notes, envelope
20-gen.js point generators: terrain, ruins, whales, researcher, sky, clouds, planet, rings
30-gl.js WebGL2 point renderer (additive splats into a half-float target, tone mapping)
40-director.js scenes, camera, timing of every event against the music
50-app.js stage, playback clock, controls, export frame rendering
data/music.json timing data of the performance
dist/ the built page and its mp3 (served by GitHub Pages through index.html)
test/ unit tests (node --test)
tools/ build, bake, data, export and check scripts
김인철(Incheol Kim)의 5분 55초 피아노 즉흥 연주에 맞춘 점구름(point cloud) 비주얼 아트입니다. 외계 행성의 연구원이 음 하나하나를 음파로 내보내고, 그 음파가 닿은 모래, 비석, 묻힌 도시, 거대한 고래 같은 생명체가 빛의 점으로 드러납니다.
dist/echolocation.html(같은 폴더에 echolocation.mp3 필요). GitHub Pages에서는 저장소 주소로 바로 열립니다.python tools/build.py, 테스트: node --test "test/*.test.js".Music: Incheol Kim — solo piano improvisation, Echolocation.
Visuals: Directed by Incheol Kim, coded with Claude Code.
© 2026 Incheol Kim. All rights reserved.