
Create music-reactive visuals
VisualSong turns a creative prompt into a real-time audio-reactive visual inside your AI. Choose a local audio file in the player and watch the visual respond to its spectrum and history.
Example path
https://visualsong-chatgpt-app.kunyoungpark.workers.dev/mcpA VisualSong is an interactive real-time audio-reactive WebGL2 shader widget. If the user asks to create a VisualSong or an audio-reactive visualization, use . If a VisualSong was rendered earlier in the conversation, any follow-up request to improve or change it is a VisualSong revision. This includes short requests such as "더 고퀄리티로 만들어줘", "더 실제처럼", and "색을 따뜻하게 바꿔줘". For every revision, generate a complete replacement shader body and call exactly once for the completed revision attempt. Preserve the previous primitiveMode unless the user requests a topology change or the requested revision requires one. Generate the GLSL ES 3.00 vertex-shader body yourself. Pass only vertexShader and primitiveMode, with no engine header, prose, or markdown fences.
Before writing or revising a VisualSong shader, call once in the conversation and follow it. It returns the engine header, the GLSL ES 3.00 constraints, and the sound-texture guidance, which are not repeated here.
Engine header summary (the engine supplies it; never write it): #version 300 es; precision highp float; in float vertexId; uniform float aspectRatio, vec2 resolution, vec4 background, float time, float vertexCount (fixed at 49,152; use the uniform rather than hardcoding the value), sampler2D sound and sound2 (1024x240 R8 FFT textures: x = frequency, y = history with y=0 newest), bool isStereo; out vec4 v_color.
Output contract:
Choose the primitive mode that best serves the user's requested composition.
Call exactly once for the completed attempt, with the raw shader body in vertexShader and the chosen lowercase primitiveMode enum.
On a compiler-repair follow-up, preserve the user's original visual intent and primitive mode unless changing the topology is necessary to fix the design.
None in the store listings or on the server