import { AudioEngine, MIDINoteNumber, Velocity } from '../types'; /** * High-quality sample-based audio engine for piano sounds * Uses Web Audio API with pre-loaded samples */ export declare class PianoAudioEngine implements AudioEngine { private audioContext; private masterGain; private samples; private activeNotes; private initialized; init(): Promise; /** * Load a set of piano samples from URLs * @param sampleMap Map of MIDI note numbers to audio file URLs */ loadSamples(sampleMap: Map): Promise; playNote(pitch: MIDINoteNumber, velocity: Velocity, duration: number): void; stopNote(pitch: MIDINoteNumber): void; stopAll(): void; setVolume(volume: number): void; dispose(): void; /** * Find the closest loaded sample to the target pitch */ private findClosestSample; /** * Calculate playback rate for pitch shifting */ private calculatePlaybackRate; /** * Fallback oscillator-based note playback */ private playOscillatorNote; /** * Convert MIDI note number to frequency in Hz */ private midiToFrequency; } //# sourceMappingURL=AudioEngine.d.ts.map