Skip to content

FilterManager

Defined in: src/structures/Filters.ts:77

new FilterManager(player: Player): FilterManager;

Defined in: src/structures/Filters.ts:111

The Constructor for the FilterManager

ParameterType
playerPlayer

FilterManager

Property (defined in)TypeDefault valueDescription
data
(src/structures/Filters.ts:107)
FilterDataundefinedThe Filter Data sent to Lavalink, only if the filter is enabled (ofc.)
equalizerBands
(src/structures/Filters.ts:80)
EQBand[][]The Equalizer bands currently applied to the Lavalink Server
filters
(src/structures/Filters.ts:84)
PlayerFiltersundefinedAll “Active” / “disabled” Player Filters
filterUpdatedState
(src/structures/Filters.ts:82)
booleanfalsePrivate Util for the instaFix Filters option
lavalinkFilterPlugin
(src/structures/Filters.ts:646)
objectundefinedLavalinkFilter Plugin specific Filters
lavalinkFilterPlugin.toggleEcho
(src/structures/Filters.ts:662)
(delay: number, decay: number) => Promise<FilterManager>undefinedEnables / Disables the Echo effect, IMPORTANT! Only works with the correct Lavalink Plugin installed. (Optional: provide your Own Data) Example `// Toggle Echo filter with custom settings await pl…
lavalinkFilterPlugin.toggleReverb
(src/structures/Filters.ts:699)
(delays: number[], gains: number[]) => Promise<FilterManager>undefinedEnables / Disables the Echo effect, IMPORTANT! Only works with the correct Lavalink Plugin installed. (Optional: provide your Own Data) Example `// Toggle Reverb filter with custom settings await …
lavalinkLavaDspxPlugin
(src/structures/Filters.ts:521)
objectundefinedLavalink LavaDspx Plugin Filters
lavalinkLavaDspxPlugin.toggleEcho
(src/structures/Filters.ts:628)
(decay?: number, echoLength?: number) => Promise<FilterManager>undefinedEnables / Disables the Echo effect, IMPORTANT! Only works with the correct Lavalink Plugin installed. (Optional: provide your Own Data) Example `// Toggle Echo filter with custom settings await pl…
lavalinkLavaDspxPlugin.toggleHighPass
(src/structures/Filters.ts:568)
(boostFactor: number, cutoffFrequency: number) => Promise<FilterManager>undefinedEnables / Disables the HighPass effect, (Optional: provide your Own Data) Example `// Toggle HighPass filter with custom settings await player.filterManager.lavalinkLavaDspxPlugin.toggleHighPass(1…
lavalinkLavaDspxPlugin.toggleLowPass
(src/structures/Filters.ts:538)
(boostFactor: number, cutoffFrequency: number) => Promise<FilterManager>undefinedEnables / Disables the LowPass effect, (Optional: provide your Own Data) Example `// Toggle LowPass filter with custom settings await player.filterManager.lavalinkLavaDspxPlugin.toggleLowPass(1.2,…
lavalinkLavaDspxPlugin.toggleNormalization
(src/structures/Filters.ts:598)
(maxAmplitude?: number, adaptive?: boolean) => Promise<FilterManager>undefinedEnables / Disables the Normalization effect. Example `// Toggle Normalization filter with custom settings await player.filterManager.lavalinkLavaDspxPlugin.toggleNormalization(0.9, false); // cust…
player
(src/structures/Filters.ts:109)
PlayerundefinedThe Player assigned to this Filter Manager
EQList
(src/structures/Filters.ts:78)
objectEQList
EQList.BassboostEarrape
(src/structures/Constants.ts:122)
EQBand[]undefinedA Bassboost Equalizer, so high it distorts the audio
EQList.BassboostHigh
(src/structures/Constants.ts:140)
EQBand[]undefinedA High and decent Bassboost Equalizer
EQList.BassboostLow
(src/structures/Constants.ts:176)
EQBand[]undefinedA slight Bassboost Equalizer
EQList.BassboostMedium
(src/structures/Constants.ts:158)
EQBand[]undefinedA decent Bassboost Equalizer
EQList.BetterMusic
(src/structures/Constants.ts:194)
EQBand[]undefinedMakes the Music slightly “better”
EQList.Classic
(src/structures/Constants.ts:230)
EQBand[]undefinedMakes the Music sound like Classic music / sound Classic music better
EQList.Electronic
(src/structures/Constants.ts:265)
EQBand[]undefinedMakes the Music sound like Electronic music / sound Electronic music better
EQList.FullSound
(src/structures/Constants.ts:283)
EQBand[]undefinedBoosts all Bands slightly for louder and fuller sound
EQList.Gaming
(src/structures/Constants.ts:301)
EQBand[]undefinedBoosts basses + lower highs for a pro gaming sound
EQList.Pop
(src/structures/Constants.ts:248)
EQBand[]undefinedMakes the Music sound like Pop music / sound Pop music better
EQList.Rock
(src/structures/Constants.ts:212)
EQBand[]undefinedMakes the Music sound like rock music / sound rock music better
applyPlayerFilters(): Promise<void>;

Defined in: src/structures/Filters.ts:130

Apply Player filters for lavalink filter sending data, if the filter is enabled / not

Promise<void>

// Apply the filters after changing them manually:
player.filterManager.data.volume = 0.5;
// maybe you wanna manually set a distorition filter? then do it like this...
player.filterManager.data.distortion = { sinOffset: 0.5, sinScale: 2, cosOffset: 0.5, cosScale: 2, tanOffset: 0.5, tanScale: 2, offset: 0.5, scale: 2 };
await player.filterManager.applyPlayerFilters();

checkFiltersState(oldFilterTimescale?: Partial<TimescaleFilter>): boolean;

Defined in: src/structures/Filters.ts:217

Checks if the filters are correctly stated (active / not-active) - mostly used internally.

ParameterTypeDescription
oldFilterTimescale?Partial<TimescaleFilter>

boolean

True, if the check was successfull

// Check the filter states
player.filterManager.checkFiltersState();
// Apply the filters after checking
await player.filterManager.applyPlayerFilters();

clearEQ(): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:895

Clears the equalizer bands.

Promise<FilterManager>

The Filter Manager, for chaining.

// Clear all EQ bands
await player.filterManager.clearEQ();

isCustomFilterActive(): boolean;

Defined in: src/structures/Filters.ts:820

Function to find out if currently there is a custom timescamle etc. filter applied

boolean

whether a custom filter is active

// Check if a custom filter is active
const isCustom = player.filterManager.isCustomFilterActive();
console.log(`Is custom filter active? ${isCustom}`);

resetFilters(): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:257

Reset all Filters

Promise<FilterManager>

The Filter Manager, for chaining.

// Reset all filters
await player.filterManager.resetFilters();

setAudioOutput(type: AudioOutputs): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:325

Set the AudioOutput Filter

ParameterTypeDescription
typeAudioOutputsthe audio output type

Promise<FilterManager>

The Filter Manager, for chaining.

// Set Audio Output to Mono
await player.filterManager.setAudioOutput("mono");
// Set Audio Output to Stereo
await player.filterManager.setAudioOutput("stereo");
// Set Audio Output to Left
await player.filterManager.setAudioOutput("left");
// Set Audio Output to Right
await player.filterManager.setAudioOutput("right");

setEQ(bands:
| EQBand
| EQBand[]): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:860

Sets the players equalizer band on-top of the existing ones.

ParameterTypeDescription
bands| EQBand | EQBand[]

Promise<FilterManager>

The Filter Manager, for chaining.

// Set EQ bands
await player.filterManager.setEQ([
{ band: 0, gain: 0.3 },
{ band: 1, gain: -0.2 },
{ band: 2, gain: 0.1 }
]);
// or use one of the templates:
await player.filterManager.setEQ(player.filterManager.EQList.BassboostMedium); // you can also import EQList from somewhere package if wanted.

setEQPreset(preset:
| "BassboostEarrape"
| "BassboostHigh"
| "BassboostMedium"
| "BassboostLow"
| "BetterMusic"
| "Rock"
| "Classic"
| "Pop"
| "Electronic"
| "FullSound"
| "Gaming"): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:837

Sets the players equalizer bands using one of the predefined presets.

ParameterTypeDescription
preset| "BassboostEarrape" | "BassboostHigh" | "BassboostMedium" | "BassboostLow" | "BetterMusic" | "Rock" | "Classic" | "Pop" | "Electronic" | "FullSound" | "Gaming"The preset to use.

Promise<FilterManager>

The Filter Manager, for chaining.

// Set EQ preset
await player.filterManager.setEQPreset('BassboostMedium');

setPitch(pitch: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:373

Set custom filter.timescale#pitch . This method disabled both: nightcore & vaporwave. use 1 to reset it to normal

ParameterTypeDefault valueDescription
pitchnumber1set the pitch of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Set Pitch to 1.25 (disableds nightcore and vaporwave effect which are pre-made timescale settings of rate,pitch and speed)
await player.filterManager.setPitch(1.25);

setRate(rate: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:398

Set custom filter.timescale#rate . This method disabled both: nightcore & vaporwave. use 1 to reset it to normal

ParameterTypeDefault valueDescription
ratenumber1set the rate of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Set Rate to 1.25 (disableds nightcore and vaporwave effect which are pre-made timescale settings of rate,pitch and speed)
await player.filterManager.setRate(1.25);

setSpeed(speed: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:348

Set custom filter.timescale#speed . This method disabled both: nightcore & vaporwave. use 1 to reset it to normal

ParameterTypeDefault valueDescription
speednumber1set the speed of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Set Speed to 1.25 (disableds nightcore and vaporwave effect which are pre-made timescale settings of rate,pitch and speed)
await player.filterManager.setSpeed(1.25);

setVolume(volume: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:292

Set the Filter Volume

ParameterTypeDescription
volumenumberthe volume (0.0 - 5.0)

Promise<FilterManager>

The Filter Manager, for chaining.

// Set Volume to 50%
await player.filterManager.setVolume(0.5);
// note this is a filter, so it will "jump" to the volume, i think it's like a "volume boost effect" so i marketed it as a filter

toggleKaraoke(
level: number,
monoLevel: number,
filterBand: number,
filterWidth: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:797

Enable / Disables a Karaoke like Filter Effect

ParameterTypeDefault valueDescription
levelnumber1set the level of the filter
monoLevelnumber1set the mono level of the filter
filterBandnumber220set the filter band of the filter
filterWidthnumber100set the filter width of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Toggle Karaoke filter with custom settings
await player.filterManager.toggleKaraoke(1.5, 1.0, 220, 100);
// or use the defaults
await player.filterManager.toggleKaraoke();
// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.

toggleLowPass(smoothing: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:506

Enables / Disables the LowPass effect, (Optional: provide your Own Data)

ParameterTypeDefault valueDescription
smoothingnumber20set the smoothing of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Toggle LowPass filter with custom settings
await player.filterManager.toggleLowPass(30);
// or use the defaults
await player.filterManager.toggleLowPass();
// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.

toggleNightcore(
speed: number,
pitch: number,
rate: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:736

Enables / Disables a Nightcore-like filter Effect. Disables/Overrides both: custom and Vaporwave Filter

ParameterTypeDefault valueDescription
speednumber1.289999523162842set the speed of the filter
pitchnumber1.289999523162842set the pitch of the filter
ratenumber0.9365999523162842set the rate of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Toggle Nightcore filter with custom settings
await player.filterManager.toggleNightcore(1.3, 1.3, 0.9);
// or use the defaults
await player.filterManager.toggleNightcore();
// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.

toggleRotation(rotationHz: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:426

Enables / Disables the rotation effect, (Optional: provide your Own Data)

ParameterTypeDefault valueDescription
rotationHznumber0.2set the rotationHz of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Toggle Rotation filter with custom settings
await player.filterManager.toggleRotation(0.4);
// or use the defaults
await player.filterManager.toggleRotation();
// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.

toggleTremolo(frequency: number, depth: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:481

Enables / Disables the Tremolo effect, (Optional: provide your Own Data)

ParameterTypeDefault valueDescription
frequencynumber4set the frequency of the filter
depthnumber0.8set the depth of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Toggle Tremolo filter with custom settings
await player.filterManager.toggleTremolo(5, 0.7);
// or use the defaults
await player.filterManager.toggleTremolo();
// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.

toggleVaporwave(
speed: number,
pitch: number,
rate: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:766

Enables / Disables a Vaporwave-like filter Effect. Disables/Overrides both: custom and nightcore Filter

ParameterTypeDefault valueDescription
speednumber0.8500000238418579set the speed of the filterq
pitchnumber0.800000011920929set the pitch of the filter
ratenumber1set the rate of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Toggle Vaporwave filter with custom settings
await player.filterManager.toggleVaporwave(0.9, 0.7, 1);
// or use the defaults
await player.filterManager.toggleVaporwave();
// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.

toggleVibrato(frequency: number, depth: number): Promise<FilterManager>;

Defined in: src/structures/Filters.ts:455

Enables / Disables the Vibrato effect, (Optional: provide your Own Data)

ParameterTypeDefault valueDescription
frequencynumber10set the frequency of the filter
depthnumber1set the depth of the filter

Promise<FilterManager>

The Filter Manager, for chaining.

// Toggle Vibrato filter with custom settings
await player.filterManager.toggleVibrato(8, 0.5);
// or use the defaults
await player.filterManager.toggleVibrato();
// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.