webaudiofont-npm
Version:
Soundfonts for web. About of 2000 musical instruments. GM MIDI compatible.
30 lines (29 loc) • 2.46 kB
TypeScript
import { WebAudioFontChannel } from "./channel.js";
import { WebAudioFontLoader } from "./loader.js";
import { WaveEnvelope, WavePreset, WaveSlide } from "./otypes.js";
import { WaveZone } from "./otypes.js";
import { WebAudioFontReverberator } from "./reverberator.js";
export declare class WebAudioFontPlayer {
envelopes: WaveEnvelope[];
loader: WebAudioFontLoader;
afterTime: number;
nearZero: number;
createChannel(audioContext: AudioContext): WebAudioFontChannel;
createReverberator(audioContext: AudioContext): WebAudioFontReverberator;
limitVolume(volume: number | undefined): number;
queueChord(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
queueStrumUp(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
queueStrumDown(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
queueStrum(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
queueSnap(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
resumeContext(audioContext: AudioContext): void;
queueWaveTable(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitch: number, duration: number, volume?: number, slides?: WaveSlide[]): WaveEnvelope | null;
noZeroVolume(n: number): number;
setupEnvelope(audioContext: AudioContext, envelope: WaveEnvelope, zone: WaveZone, volume: number, when: number, sampleDuration: number, noteDuration: number): void;
numValue(aValue: any, defValue: number): number;
findEnvelope(audioContext: AudioContext, target: AudioNode): WaveEnvelope;
adjustPreset: (audioContext: AudioContext, preset: WavePreset) => void;
adjustZone: (audioContext: AudioContext, zone: WaveZone) => void;
findZone(audioContext: AudioContext, preset: WavePreset, pitch: number): WaveZone | null;
cancelQueue(audioContext: AudioContext): void;
}