Introduction
Effecto player is a Wave file player with capability to apply multiple special effects (like Echo, Chorus, Flanger, ...) on the media stream in run time using DirectSound, a part of DirectX 8.1 family. It can manage surround systems by changing sound media place in surround environment and has a highly customizable skinning interface.
User interface
The program consists of four main windows, every window having its own functionality. I will describe each function required to be able to manage the program.
The following screen shot will explain:
The main window
It has full control over the file and contains all the keys. The keys that control the sound are:
- play
- stop
- pause
- previous
- next
- open file
- hide/show play list
- hide/show effect window
This window also contains two sliders controls for:
- volume control
- panning volume
The play list window
It controls the songs that are available in the stack. It contains dragged items of the songs.
The effects window
It controls eight sound effects that I will describe later. We have added a pop up checked menu that help the user to choose the supported effects. The list items have two states, if it is checked, it shows that the effect is active, as shown above.
This window also contains eight radio buttons for sectioning the current effect. For every selected effect, there are sliders controls that affect the parameters. For example the echo effect contains four parameters:
fWetDryMix
fFeedback
fLeftDelay
fRightDelay
For every parameter there is a slider control.
The 3D window
This window controls the 3D effect of the sound. As shown in the picture, there is a standing person in the space and the 3D effect is computed according to him. The user has complete control over the sound position so that he can change the sound position in the 3D space with the mouse.
Skinning
The application gives you capability to fully customize the user interface, starting from images of the buttons and back ground, to the position of buttons.
In the folder skin there is the default skin I made for myself. You can make your own by opening the skin.ini file and changing the parameters you need. And here is a complete reference to every param and what it does:
[main] Window
0=17,85,40,103 button from left to write
1=40,85,63,103
2=63,85,86,103
3=86,85,109,103
4=109,85,132,103
5=132,85,155,103
6=257,1,268,10 close button
7=228,102,240,108 show list button
8=250,102,262,108 show effect window button
s0=156,84,219,97 volume slider
s1=230,84,264,97 pan slider
back=mainback.bmp back ground picture
press=mainpress.bmp press buttons
unpress=mainunpress.bmp
over=mainover.bmp
disable=maindisable.bmp
[effect]
back=back.bmp
bars=eqmain.bmp
press=buteqlizer1.bmp
unpress=buteqlizer0.bmp
radio0=radio0.bmp
radio1=radio1.bmp
0=150,36,14,66 slideers of effects
1=168,36,14,66
2=186,36,14,66
3=204,36,14,66
4=222,36,14,66
5=240,36,14,66
6=10,8,32,24
[playlist]
back=playlistback.bmp
The supported sound effects
-
DSFXChorus effect
Chorus is a voice-doubling effect created by echoing the original sound with a slight delay and slightly modulating the delay of the echo. The parameters for a chorus effect:
fWetDryMix
Ratio of wet (processed) signal to dry (unprocessed) signal.
fDepth
Percentage by which the delay time is modulated by the low-frequency oscillator, in hundredths of a percentage point.
fFeedback
Percentage of output signal to feed back into the effect's input..
fFrequency
Frequency of the LFO,
fDelay
Number of milliseconds the input is delayed before it is played back.
-
DSFXCompressor effect
Compression is a reduction in the fluctuation of a signal above a certain amplitude. The parameters for compression effect:
fGain
Output gain of signal after compression.
fAttack
Time before compression reaches its full value.
fRelease
Speed at which compression is stopped after input drops below fThreshold
.
fThreshold
Point at which compression begins, in decibels.
fRatio
Compression ratio.
fPredelay
Time after fThreshold
is reached before attack phase is started, in milliseconds.
-
DSFXDistortion effect
Distortion is achieved by adding harmonics to the signal in such a way that, as the level increases, the top of the waveform becomes squared off or clipped. The parameters for a distortion effect:
fGain
Amount of signal change after distortion.
fEdge
Percentage of distortion intensity.
fPostEQCenterFrequency
Center frequency of harmonic content addition.
fPostEQBandwidth
Width of frequency band that determines range of harmonic content addition.
fPreLowpassCutoff
Filter cutoff for high-frequency harmonics attenuation.
-
DSFXEcho effect
An echo effect causes an entire sound to be repeated after a fixed delay. The parameters for an echo effect:
fWetDryMix
Ratio of wet (processed) signal to dry (unprocessed) signal.
fFeedback
Percentage of output feed back into input.
fLeftDelay
Delay for left channel, in milliseconds.
fRightDelay
Delay for right channel, in milliseconds.
lPanDelay
Value that specifies whether to swap left and right, delays with each successive echo.
-
DSFXFlanger effect
Flange is an echo effect in which the delay between the original signal and its echo is very short and varies over time. The result is sometimes referred to as a sweeping sound. The term flange originated with the practice of grabbing the flanges of a tape reel to change the speed. The parameters for a flange effect:
fWetDryMix
Ratio of wet (processed) signal to dry (unprocessed) signal.
fDepth
Percentage by which the delay time is modulated by the low-frequency oscillator (LFO), in hundredths of a percentage point.
fFeedback
Percentage of output signal to feed back into the effect's input.
fFrequency
Frequency of the LFO.
fDelay
Number of milliseconds the input is delayed before it is played back.
-
DSFXGargle effect
The gargle effect modulates the amplitude of the signal. The parameters for an amplitude modulation effect:
-
DSFXParamEq effect
A parametric equalizer amplifies or attenuates signals of a given frequency. The parameters for a parametric equalizer effect.
-
DSFXWavesReverb effect
The Waves reverberation effect is intended for use with music. The Waves reverberation DMO is based on the Waves MaxxVerb technology. The parameters for a Waves reverberation effect:
fInGain
Input gain of signal, in decibels (dB).
fReverbMix
Reverb mix, in dB.
fReverbTime
Reverb time, in milliseconds.
fHighFreqRTRatio
Please send me your feedback or any bug report at ahmed_ismaiel@hotmail.com.