Create a Milkdrop visualizer
masterTo create a visualizer, initialize it with an audioContext and a canvas element using butterchurn.createVisualizer. You must then connect an audioNode (from a source or microphone) and can load presets from the butterchurn-presets package. Use loadPreset to apply a preset, optionally providing a blend time in seconds to transition smoothly.
import butterchurn from 'butterchurn';
import butterchurnPresets from 'butterchurn-presets';
// initialize audioContext and get canvas
const visualizer = butterchurn.createVisualizer(audioContext, canvas, {
width: 800,
height: 600
});
// get audioNode from audio source or microphone
visualizer.connectAudio(audioNode);
// load a preset
const presets = butterchurnPresets.getPresets();
const preset = presets['Flexi, martin + geiss - dedicated to the sherwin maxawow'];
visualizer.loadPreset(preset, 0.0); // 2nd argument is the number of seconds to blend presets
// resize visualizer
visualizer.setRendererSize(1600, 1200);
// render a frame
visualizer.render();