import { Param } from "../core/context/Param"; import { Frequency, NormalRange, Time } from "../core/type/Units"; import { RecursivePartial } from "../core/util/Interface"; import { Signal } from "../signal/Signal"; import { Instrument, InstrumentOptions } from "./Instrument"; export interface PluckSynthOptions extends InstrumentOptions { attackNoise: number; dampening: Frequency; resonance: NormalRange; } /** * Karplus-String string synthesis. Often out of tune. * * @example * var plucky = new Tone.PluckSynth().toDestination(); * plucky.triggerAttack("C4"); * @category Instrument */ export declare class PluckSynth extends Instrument { readonly name = "PluckSynth"; /** * Noise burst at the beginning */ private _noise; private _lfcf; /** * The amount of noise at the attack. * Nominal range of [0.1, 20] * @min 0.1 * @max 20 */ attackNoise: number; /** * The resonance control. */ readonly resonance: Param; /** * The dampening control. i.e. the lowpass filter frequency of the comb filter */ readonly dampening: Signal; constructor(options?: RecursivePartial); static getDefaults(): PluckSynthOptions; triggerAttack(note: Frequency, time?: Time): this; /** * PluckSynths' trigger release method doesn't do anything. */ triggerRelease(): this; dispose(): this; }