기본 사용법 — 단음 및 화음

아래 버튼을 클릭하면 ChiptuneSynth의 실제 소리를 들어볼 수 있습니다. 각 예제는 핵심 API 기능을 보여줍니다.

파형
1. 단음 — 다양한 파형
const synth = new ChiptuneSynth();
await synth.init();

// Square wave on Lead (track 0)
synth.playNote(440, 0, 0.5);

// Triangle on Bass (track 1)
synth.playNoteByName('C', 3, 1, 0.5);

// Sawtooth on FX (track 3)
synth.tracks[3].type = 'sawtooth';
synth.playNote(330, 3, 0.5);
2. 코드 — 여러 트랙 재생
// C major across 3 tracks simultaneously
synth.playNoteByName('C', 4, 0, 1.0);  // Root
synth.playNoteByName('E', 4, 1, 1.0);  // Third
synth.playNoteByName('G', 4, 3, 1.0);  // Fifth
3. 유니슨 — 두툼하고 튜닝이 어긋난 보컬
// 8-voice super-saw with stereo spread
synth.tracks[0].type = 'sawtooth';
synth.tracks[0].unisonVoices = 8;
synth.tracks[0].unisonDetune = 25;
synth.tracks[0].unisonSpread = 80;
synth.envelopes[0] = { attack: 0.2, decay: 0.3, sustain: 0.7, release: 1.0 };

synth.playNoteByName('E', 4, 0, 2.0);
4. LFO — 비브라토 및 트레몰로
// LFO1: Vibrato (pitch modulation)
synth.vibrato[0] = { rate: 5, depth: 12 };

// LFO2: Filter modulation
synth.tracks[0].filterEnabled = true;
synth.tracks[0].filterCutoff = 1000;
synth.tracks[0].lfoFilterRate = 3;
synth.tracks[0].lfoFilterDepth = 2000;

// LFO3: Tremolo (amplitude modulation)
synth.tracks[0].tremoloRate = 6;
synth.tracks[0].tremoloDepth = 50;
8Binami 제공