Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Effecto Player

0.00/5 (No votes)
23 Sep 2003 1  
Media audio player with 3D and 2D effects and skinning.

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:

  1. play
  2. stop
  3. pause
  4. previous
  5. next
  6. open file
  7. hide/show play list
  8. 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:

    • dwRateHz

      Rate of modulation, in Hertz.

  • DSFXParamEq effect

    A parametric equalizer amplifies or attenuates signals of a given frequency. The parameters for a parametric equalizer effect.

    • fCenter

      Center frequency, in Hertz.

    • fBandwidth

      Bandwidth, in semitones.

    • fGain

      Gain

  • 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.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here