explainroo
explainroo는 AI 에이전트가 음성으로 설명 영상을 만들 수 있는 무료 오픈소스 도구이며, 로컬에서 API 키 없이 실행됩니다
노래를 재생하면 그림이 한 음씩 나타나고, 음악에 맞춰 같은 그림이 재생됩니다. 브라우저에서 무료
Play a song and watch its painting appear, note by note — the same painting every time, chosen by the music itself. Pictures play back as music. Free in your browser.
미디어JavaScript · HTMLGitHub @RastoDee온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Music → φ painting. A Progressive Web App that turns songs, MIDI, audio, PDFs, and images into a colored chord painting laid out on the golden-ratio grid.
A standalone, installable web app. Same code that ran as a Claude artifact, but unwrapped from the sandbox — so file downloads, the iOS share sheet, the clipboard, and Add to Home Screen all work natively.
Built with Vite + React + Tone.js + vite-plugin-pwa. No backend. Everything runs in the browser.
You'll need Node.js 18+ installed.
npm install
npm run dev
Open http://localhost:5173. Hot-reload on edits.
npm run build
Output lands in dist/. That folder is a complete static site — drop it on any static host.
To preview the production build locally:
npm run preview
It serves on http://localhost:4173.
Once deployed (see below), open the deployed URL in Safari on your iPhone, then:
A Paintiano icon appears on your home screen. Tap it — it opens full-screen, no Safari chrome, behaves like a native app. Works offline once cached.
The 🖨 PRINT button will use real iOS share sheet and real file system access — no clipboard workarounds needed.
npm run build. Publish directory: dist# Build
npm run build
# Push dist/ to a gh-pages branch (one-time install)
npm install -g gh-pages
npx gh-pages -d dist
Then on GitHub repo Settings → Pages → source: gh-pages branch.
Cloudflare Pages, Firebase Hosting, S3, your own server with nginx — anything that serves static files works. Just upload the contents of dist/.
Important: the host must serve over HTTPS for the PWA to install and for the clipboard / share APIs to work. All four options above provide HTTPS automatically.
paintiano-pwa/
├── package.json # deps + scripts
├── vite.config.js # Vite + PWA plugin config
├── index.html # entry HTML
├── public/
│ ├── favicon.svg # SVG favicon
│ ├── icon-192.png # PWA icon
│ ├── icon-512.png # PWA icon
│ └── icon-maskable.png # Android adaptive icon
└── src/
├── main.jsx # React entry
└── Paintiano.jsx # the whole app (BUILD #70)
Everything is in src/Paintiano.jsx — about 560 KB of code + embedded Liebestraum MIDI/MP3 samples + Scream image sample. That's the entire app.
public/icon-*.png, public/favicon.svg — replace with your ownvite.config.js → manifest section — name, short_name, theme color, etc.index.html → <title> and <meta> tags/manifest.webmanifest.Whatever you want. This is your app now.