YM2612Synth Direct Demo
This example uses YM2612Synth with
YM2612DirectTransport, generates PCM directly from the
YM2612 WASM wrapper, and plays it through Web Audio.
Minimal Usage
const transport =
new YM2612DirectTransport(ym2612);
const synth =
new YM2612Synth({ transport });
synth.setOperator(0, 0, { tl: 0x7f });
synth.setOperator(0, 1, { tl: 0x7f });
synth.setOperator(0, 2, { tl: 0x7f });
synth.setOperator(0, 3, {
dt: 0,
multi: 1,
tl: 8,
ar: 22,
d1r: 6,
d2r: 3,
sl: 3,
rr: 8,
});
synth.setAlgo(0, 7, 0);
synth.setPan(0, true, true);
synth.noteOn(0, 4, 553);
const { left, right } =
ym2612.generateStereo(frames);
synth.noteOff(0);
Ready.
Data Flow
YM2612Synth
|
v
YM2612DirectTransport
|
v
Ym2612
|
v
YM2612 / ymfm WASM
|
v
generateStereo()
|
v
Float32 PCM
|
v
AudioBufferSourceNode
|
v
AudioContext.destination