Copyright © 2001-2023 MultiMedia Soft

How to apply special effects to a playing sound

Previous pageReturn to chapter overviewNext page

This control supports the following kinds of special effects:

 

Custom DSP effects

Preamplifier

Filters

Channels remapping, swapping and mixing

Misc effects

Vocal remover

Normalization

DC Offset removal

Multiplex management

VST effects

DirectX Media Object effects

Equalizer

Reverse playback

EAX effects

 

 

Custom DSP effects

 

The purpose of custom DSP effects is to give the developer the possibility to apply custom DSP algorithms to the sound under playback. Check the How to manage custom DSP effects tutorial for further details.

 

 

Preamplifier

 

Pre-amplification of the loaded sound can be enabled or disabled through the Effects.PreAmplifierEnable method.

For stereo and mono sounds the current pre-amplification value can be obtained through the Effects.PreAmplifierValueGet method and changed through the Effects.PreAmplifierValueSet method.

For multi-channel songs like 5.1 or 7.1 the current pre-amplification value assigned to each speaker can be obtained through the Effects.PreAmplifierSpeakerValueGet method and changed through the Effects.PreAmplifierSpeakerValueSet method.

 

 

Filters

 

You can apply or remove a filter (low pass, high pass, band pass or stop band) through the Effects,FilterApply and Effects.FilterReset methods.

 

 

Channels remapping, swapping and mixing

 

You can remap channels of a stereo or multi-channel sound through the Effects.ChannelsRemapApply method: remapping includes the possibility to swap and/or reposition specific channels and also to mix  specific channels together. Channels remapping can be reset through the Effects.ChannelsRemapReset method.

 

 

Misc effects

 

You can apply or remove the following types of multi-channel capable effects:

 

"AutoWah" effect through the Effects.AutoWahApply and Effects.AutoWahReset methods
"Chorus" effect through the Effects.ChorusApply and Effects.ChorusReset methods
"Compressor" effect  through the Effects.CompressorApply and Effects.CompressorReset methods
"Distortion" effect  through the Effects.DistortionApply and Effects.DistortionReset methods
"Echo" effect  through the Effects.EchoApply and Effects.EchoReset methods
"Freeverb reverberation" effect  through the Effects.FreeverbApply and Effects.FreeverbReset methods
"Phaser" effect  through the Effects.PhaserApply and Effects.PhaserReset methods
"Bass boost "effect  through the Effects.BassBoostApply and Effects.BassBoostReset methods

 

 

Vocal remover

 

You can apply or remove the vocal remover filter through the Effects.FilterVocalRemoverApply and Effects.FilterVocalRemoverReset methods.

 

 

Normalization

 

You can apply or remove normalization to a playing sound through the Effects.NormalizationEnable method.

 

 

DC Offset removal

 

You can enable or disable DC Offset removal to a playing sound through the Effects.DcOffsetRemovalEnable method.

 

 

Multiplex management

 

Multiplex, also known as "MPX", is a type of Karaoke software that has specially formatted left and right channels to make multiplex features available: you can enable MPX management through the Effects.MPXEnable and control the vocal attenuation through the Effects.MPXSetVocalAttenuation method.

 

 

VST effects

 

Steinberg''s Virtual Studio Technology (VST) is an interface for integrating software audio synthesizer and effect plugins with audio editors and hard-disk recording systems. VST and similar technologies use Digital Signal Processing (DSP) to simulate traditional recording studio hardware with software. Thousands of plugins exist and VST is supported by a large number of audio applications. Check the How to manage VST effects tutorial for further details.

 

 

DirectX Media Object effects

 

DirectX Media Objects (also known as DMO) are components that can be inserted in a media stream to manipulate the data in some way. In audio, DMOs are generally used to create special effects.

The use of DMO requires DirectX version 8 or higher: you can check if your system has the required DirectX version installed using the IsDirectX8Avail method.

 

The following standard effects are installed with the operating system:

 

Chorus

Compression

Distortion

Echo

Environmental reverberation (I3DL2)

Flange

Gargle

Parametric equalizer

Waves reverberation (music reverb based on the Waves MaxxVerb technology, licensed to Microsoft)

 

These effects can be used with any sound format supported by our control and come with their own default settings: you can retrieve the current settings using the Effects.DirectXEffectParamsGet and you can change them using the Effects.DirectXEffectParamsSet . Once the effect parameters have been setup, you can apply/remove an effect using the Effects.DirectXEffectApply method; in case you should need to apply more effects at the same time, and you should need to apply them in a specific order, you could add them to the chain of effects with a specific priority.

 

Note that more than one DMO effect can be applied on a playing sound.

 

 

Equalizer

 

Sound equalization is obtained through the DMO effect "Parametric equalizer". Check the How to create and use an Equalizer tutorial for further details.

 

 

Reverse playback

 

Reverse playback can be enabled or disabled through the Effects.SoundDirectionEnable method: during playback you can modify the sound's playback direction through the Effects.SoundDirectionSet method and obtain the current direction through the Effects.SoundDirectionGet method.

 

 

EAX effects

 

EAX environmental effects, available only on Windows XP, can be applied to a given output device (sound card) in order to enhance your music listening experience: not all of the commercial sound cards implement EAX and not all of the sound cards implementing EAX reach the same quality you can have with Creative sound cards. You can check if an output device supports EAX through a call to the IsEAXAvailableOnOutputDevice method.

 

EAX parameters (volume, decay and damping) applied to a given output device can be obtained through the GetEAXEffect method and changed through the SetEAXEffect and SetEAXEffectPresets methods. Differently from DMO effects, which are applied directly to an existing player, EAX parameters are applied to a given output device: this means that EAX settings will automatically affect all of the players associated to an EAX compatible output device.

 

At runtime it's easy to know if a given player is associated to an EAX compatible output device through the IsEAXAvailable method and obtain/modify the EAX wet/dry mix ratio for that specific player through the GetEAXEffectWetDryMix and SetEAXEffectWetDryMix methods.

 

It's important to note that EAX effects can be applied only to sounds loaded through the LoadSoundForEAX method: this method will load a given song in Mono and will not allow further Tempo, Playback rate and Pitch changes.

 

EAX supported effects are the following:

 

None (removes the current EAX effect, if any)

Generic

Padded cell

Room

Bathroom

Living room

Stone room

Auditorium

Concert hall

Cave

Arena

Hangar

Carpeted hallway

Hallway

Stone corridor

Alley

Forest

City

Mountains

Quarry

Plain

Parking lot

Sewer pipe

Underwater

Drugged

Dizzy

Psychotic

 

It's important to note that EAX effects are mutually exclusive: you cannot have more than one EAX effect applied on an output device.

 

 

Samples of use of the mentioned special effects in Visual Basic 6 and Visual C++ 6 can be found inside the following samples installed with the product's setup package:

- SpecialEffects

- VstEffects

- CustomDSP

- CustomDSPWithUI

- TestEqualizer

- TestVideoPlayer