Communitygithub.com

2000년대 음악 시각화 전문가

Milkdrop, AVS, Geiss와 같은 전설적인 2000년대 음악 시각화를 최신 WebGL 및 Web Audio API로 재현하는 전문가입니다.

2000년대 음악 시각화 전문가란 무엇인가요?

이 스킬은 2000년대 전설적인 음악 시각화 소프트웨어(Milkdrop, AVS, Geiss)를 현대 웹 기술(WebGL, Web Audio API)로 재현하는 방법을 상세히 설명합니다. Butterchurn 라이브러리 통합, Web Audio API의 AnalyserNode를 통한 FFT 데이터 추출, GLSL 셰이더를 사용한 오디오 반응형 시각 효과, 그리고 전체 화면 몰입형 음악 경험을 중점적으로 다룹니다. 간단한 막대 차트나 정적 파형과 같은 기본적인 시각화는 사용하지 않으며, 사이키델릭하고 역동적인 제너레이티브 아트에 초점을 맞춥니다. 주요 안티패턴(예: AudioContext 상태 무시, 선형 주파수 표시, 스무딩 부족)을 피하는 방법과 함께 프리셋 시스템, 성능 최적화 팁, 실제 코드 예제를 제공하여 개발자가 브라우저에서 바로 몰입형 음악 시각화를 구현할 수 있도록 돕습니다.

지원 대상~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/curiositech/windags-skills/tree/HEAD/skills/2000s-visualization-expert

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

2000년대 음악 시각화 전문가은(는) 무엇을 하나요?

2000년대 전설적인 음악 시각화 시대(Milkdrop, AVS, Geiss)를 최신 WebGL 및 Web Audio API로 재현하는 전문가입니다.

사용해야 할 때

✅ 다음과 같은 경우 사용하세요:

  • Milkdrop 스타일의 사이키델릭 시각화 구현
  • Butterchurn 라이브러리 통합 (WebGL Milkdrop)
  • Web Audio API AnalyserNode FFT/파형 추출
  • 오디오 반응형 효과를 위한 GLSL 프래그먼트 셰이더
  • 전체 화면 몰입형 음악 경험
  • 실시간 비트 감지 및 오디오 분석
  • 프리셋 시스템 및 시각화 전환

❌ 다음과 같은 경우에는 사용하지 마세요:

  • 간단한 스펙트럼 막대 차트 (Canvas 2D 사용)
  • 정적 오디오 파형 표시
  • 비디오 편집 또는 처리
  • 비오디오 제너레이티브 아트
  • 오디오 재생/스트리밍 문제 (오디오 엔지니어 스킬 사용)

황금기 (요약)

시대주요 소프트웨어혁신
1998-2000Geiss단순 플라즈마 효과, DirectX
2001-2007Milkdrop 1 & 2픽셀 단위 방정식, 프리셋 시스템
2007-2015쇠퇴기스트리밍 서비스 부상
2018-현재ButterchurnWebGL 르네상스

Milkdrop의 마법: 블러, 확대/축소, 회전, 색상 이동과 같은 단순한 효과를 오디오 반응형 매개변수와 함께 레이어링합니다.

→ 전체 역사와 통합에 대해서는 references/butterchurn-guide.md를 참조하세요.

핵심 기술

Butterchurn (WebGL Milkdrop)

  • GitHub 별 1.7k, MIT 라이선스
  • 원본 Milkdrop과의 완전한 프리셋 호환성
  • npm: butterchurn, butterchurn-presets
import butterchurn from 'butterchurn';
const visualizer = butterchurn.createVisualizer(audioContext, canvas, {
  width: window.innerWidth,
  height: window.innerHeight,
  pixelRatio: window.devicePixelRatio || 1,
});
visualizer.connectAudio(audioNode);
visualizer.loadPreset(preset, 2.0);  // 2초 블렌드

Web Audio API FFT

const analyser = audioContext.createAnalyser();
analyser.fftSize = 2048;
analyser.smoothingTimeConstant = 0.8;
const frequencyData = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(frequencyData);

중요: FFT 빈은 선형이지만 청각은 로그 스케일입니다! 로그 매핑을 사용하세요.

→ 주파수 대역 추출에 대해서는 references/web-audio-fft.md를 참조하세요.

GLSL 셰이더

오디오 데이터를 1D 텍스처로 전달하고, 저음/중음/고음에 유니폼을 사용합니다:

uniform float u_bass;
float glow = smoothstep(0.5 - u_bass * 0.3, 0.0, dist);

→ 완전한 패턴에 대해서는 references/glsl-shaders.md를 참조하세요.

피해야 할 안티패턴

1. AudioContext 상태 무시

문제 상황: 시각화가 자동으로 실패함 잘못된 이유: AudioContext는 일시 중단된 상태로 시작되며 사용자 상호작용이 필요함 해결 방법: 클릭 시 재개: await audioContext.resume()

2. 선형 주파수 표시

문제 상황: 저음이 지배적이고 고음이 보이지 않음 잘못된 이유: FFT 빈은 선형이며, 처음 100개의 빈이 0-2kHz일 수 있음 해결 방법: 로그 빈 매핑 사용 (코드는 참조 문서에 있음)

3. 스무딩 없음

문제 상황: 떨리고 발작을 유발하는 시각 효과 잘못된 이유: 원시 FFT 데이터는 프레임 간 노이즈가 심함 해결 방법: analyserNode.smoothingTimeConstant = 0.7

4. requestAnimationFrame 정리 없음

문제 상황: 메모리 누수, 여러 렌더 루프 발생 해결 방법: 애니메이션 ID 저장, 언마운트 시 cancelAnimationFrame 호출

5. 캔버스 크기 하드코딩

문제 상황: 레티나에서 흐릿하고 종횡비가 잘못됨 해결 방법: devicePixelRatio 곱하기, 리사이즈 이벤트 처리

6. 메인 스레드 차단

문제 상황: 오디오 끊김, 프레임 드롭 잘못된 이유: UI 스레드에서 무거운 셰이더 컴파일 수행 해결 방법: 재생 중이 아닌 로딩 중에 셰이더 컴파일

프리셋 추천

사이키델릭/트립:

  • Flexi, martin + geiss - dedicated to the sherwin maxawow
  • Rovastar - Fractopia

부드러움/차분함:

  • Flexi - predator-prey-spirals
  • Geiss - Cosmic Strings 2

고에너지:

  • Flexi + Martin - disconnected
  • shifter - tumbling cubes

통합 체크리스트

  • AudioContext 생성 및 사용자 상호작용 시 재개
  • AnalyserNode가 오디오 소스에 연결됨
  • 캔버스 크기 올바르게 설정 (devicePixelRatio 고려)
  • requestAnimationFrame을 사용한 렌더 루프
  • 언마운트 시 정리 (cancelAnimationFrame)
  • 블렌드 시간이 포함된 프리셋 로딩
  • 리사이즈 처리
  • ESC 키로 종료 가능한 전체 화면 지원
  • 트랙 정보 오버레이 (z-index가 캔버스 위)
  • 비활성 후 커서 숨기기

성능 팁

  1. 오래된 GPU의 경우 텍스처 비율 낮추기: textureRatio: 0.5
  2. 필요하지 않으면 fftSize 줄이기: 2048 대신 512 또는 1024
  3. 캔버스에 will-change: transform 사용
  4. 렌더 루프 중 DOM 업데이트 피하기
  5. Chrome DevTools GPU 타임라인으로 프로파일링

참조

→ references/butterchurn-guide.md - 완전한 Butterchurn 통합 가이드 → references/web-audio-fft.md - FFT 추출 및 주파수 분석 → references/glsl-shaders.md - 오디오 반응형 셰이더 패턴


이 스킬이 다루는 내용: Butterchurn/Milkdrop | Web Audio FFT | GLSL 셰이더 | 전체 화면 시각화 | 오디오 반응형 아트

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

curiositech/windags-skills

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.

curiositech/windags-skills

Expert in 3D computer vision labeling tools, workflows, and AI-assisted annotation for LiDAR, point clouds, and sensor fusion. Covers SAM4D/Point-SAM, human-in-the-loop architectures, and vertical-specific training strategies. Activate on '3D labeling', 'point cloud annotation', 'LiDAR labeling', 'SAM 3D', 'SAM4D', 'sensor fusion annotation', '3D bounding box', 'semantic segmentation point cloud'. NOT for 2D image labeling (use clip-aware-embeddings), general ML training (use ml-engineer), video annotation without 3D (use computer-vision-pipeline), or VLM prompt engineering (use prompt-engineer).

curiositech/windags-skills

Implement WCAG 2.2 AA/AAA compliance with automated testing, keyboard navigation, screen reader support, and focus management. Activate on: accessibility audit, WCAG compliance, keyboard navigation, screen reader, aria attributes, axe-core, focus trap. NOT for: design-level accessibility review (use design-accessibility-auditor), color contrast only (use css-in-js-architect).

curiositech/windags-skills

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

curiositech/windags-skills

Designs digital experiences for ADHD brains using neuroscience research and UX principles. Expert in reducing cognitive load, time blindness solutions, dopamine-driven engagement, and compassionate design patterns. Activate on 'ADHD design', 'cognitive load', 'accessibility', 'neurodivergent UX', 'time blindness', 'dopamine-driven', 'executive function'. NOT for general accessibility (WCAG only), neurotypical UX design, or simple UI styling without ADHD context.

curiositech/windags-skills

>- Apply crisis decision-making research to agent routing, uncertainty triage, and coordination failure analysis in time-pressured systems. Use when diagnosing handoff failures, analytical paralysis, or expert judgment under incomplete information. NOT for routine coding, simple CRUD design, or static single-agent tasks with complete information.

curiositech/windags-skills

Extend and modify the admin dashboard, developer portal, and operations console. Use when adding new admin tabs, metrics, monitoring features, or internal tools. Activates for dashboard development, analytics, user management, and internal tooling.

curiositech/windags-skills

Conversation patterns and interaction protocols for multi-agent systems. Covers request/response, pub/sub, blackboard, delegation chains, debate, critique, consensus, fan-out/fan-in, supervisor-worker, and peer negotiation. Deep analysis of AutoGen conversation patterns, CrewAI delegation, LangGraph state passing, and FIPA-ACL performatives. Teaches how to design what agents say to each other and in what order. Activate on: "agent conversation", "agent protocol", "multi-agent debate", "agent delegation", "supervisor worker pattern", "agent voting", "consensus protocol", "fan-out fan-in", "agent negotiation", "blackboard pattern", "agent dialogue", "conversation topology", "agent handoff". NOT for: wire format or serialization (use agent-interchange-formats), orchestration infrastructure (use agentic-infrastructure-2026), single agent behavior (use agentic-patterns).

curiositech/windags-skills

Meta-agent for creating new custom agents, skills, and MCP integrations. Expert in agent design, MCP development, skill architecture, and rapid prototyping. Activate on 'create agent', 'new skill', 'MCP server', 'custom tool', 'agent design'. NOT for using existing agents (invoke them directly), general coding (use language-specific skills), or infrastructure setup (use deployment-engineer).

curiositech/windags-skills

AI-powered calendar management and agent-based scheduling coordination. Covers calendar APIs (Google Calendar, CalDAV/iCal), AI scheduling assistants (Reclaim, Clockwise, Motion, Cal.com), building custom calendar agents with MCP, multi-calendar merging, timezone management, focus block protection, meeting fatigue detection, and agent-to-agent meeting negotiation protocols. Activate on: "calendar agent", "AI scheduling", "calendar coordination", "meeting scheduling", "calendar API", "focus time protection", "calendar optimization", "Google Calendar MCP", "Reclaim", "Clockwise", "Motion", "Cal.com", "smart scheduling", "calendar-aware agent", "timezone scheduling", "agent negotiation meetings". NOT for: manual calendar UI component design (use form-validation-architect), project management scheduling or Gantt charts (use project-management-guru-adhd), general time-tracking or pomodoro apps (use adhd-daily-planner for time-awareness), building the agent itself from scratch (use agent-creator).

curiositech/windags-skills

Build and adopt production AI agent infrastructure in 2026. Covers framework selection (LangGraph, CrewAI, AutoGen, MCP), orchestration patterns, evaluation, observability, memory systems, and tool use. Also covers the SOCIAL dimension: how to sell agent infrastructure internally, change management, measuring ROI, building trust in autonomous systems, and scaling adoption across teams. Activate on: "agent infrastructure", "agent framework comparison", "which agent framework", "sell AI tools internally", "agent adoption", "agent observability", "agent evaluation", "MCP architecture", "agentic mesh", "enterprise AI agents", "AI change management", "agent ROI". NOT for: building specific agents (use ai-engineer), designing agent behavior patterns (use agentic-patterns), prompt tuning (use prompt-engineer).

curiositech/windags-skills

Fundamental patterns for effective agentic behavior. Teaches decomposition, tool orchestration, error recovery, context management, quality self-assessment, and knowing when to stop. Model-agnostic principles that make any agent more effective regardless of domain. Activate on: "how should I structure this agent", "agentic workflow", "agent patterns", "multi-step task", "tool orchestration", "/agentic-patterns", "decompose this", "agent best practices", "chain of actions", "when should the agent stop", "agent loop design". NOT for: creating agent infrastructure (use agent-creator), building DAGs (use windags-architect), specific tool implementation.

curiositech/windags-skills

Automated discovery and matching of agent skills for dynamic task routing and capability assessment

curiositech/windags-skills

Cryptographic security for agentic systems — zero-trust agent networking, signed message envelopes (JWS/JWE), capability-based security (ocaps), Merkle tree audit trails, WASM sandboxing, and formal verification. Covers CLI dev tool security, mTLS between agents, permission boundaries (least privilege for AI agents), and supply chain security for skills/plugins. Activate on: "agent security", "zero trust agents", "secure agent communication", "capability-based security", "ocap", "signed messages between agents", "agent audit trail", "sandbox agent execution", "agent permissions", "mTLS agents", "cryptographic verification", "agent supply chain", "OWASP agentic", "prove agent did X", "tamper-proof agent logs". NOT for: application-level SAST scanning (use security-auditor), network firewall rules (use infrastructure), SOC2/HIPAA compliance (organizational), or prompt injection defense (use prompt-engineer).

curiositech/windags-skills

Data structures and serialization formats for agent-to-agent communication. Covers message envelopes, structured output schemas, capability declarations, task handoff payloads, error/retry signaling, and context windows as data structures. Deep comparison of A2A protocol, MCP, OpenAI function calling, and LangChain message types. Teaches when to use rigid schemas vs free-form with validation, typed vs untyped, streaming vs batch. Activate on: "agent message format", "agent communication schema", "agent-to-agent protocol", "A2A protocol", "MCP message format", "structured output for agents", "agent interop", "interchange format", "agent serialization", "task handoff format", "capability declaration". NOT for: what agents say to each other (use agent-conversation-protocols), orchestration topology (use multi-agent-coordination), building agent infrastructure (use agentic-infrastructure-2026).

curiositech/windags-skills

Logic-based agent programming language implementing BDI architecture for practical autonomous agent development

curiositech/windags-skills

>- Design AgentSpeak(L)-style BDI agents with context-guarded plans, selection functions, and intention stacks. Use for interruptible autonomy, agent policy, and multi-agent orchestration in dynamic environments. NOT for simple rule engines, static planners, or centralized workflows.

curiositech/windags-skills

Foundational concurrent computation model where actors communicate exclusively through asynchronous message passing

curiositech/windags-skills

Build production-ready LLM applications, advanced RAG systems, and intelligent agents. Implements vector search, multimodal AI, agent orchestration, and enterprise AI integrations. Use PROACTIVELY for LLM features, chatbots, AI agents, or AI-powered applications.

curiositech/windags-skills

license: Apache-2.0 NOT for unrelated tasks outside this domain.

관련 스킬