You are here:   Home
Register   |  Login

Welcome to WinkyWare. WinkyWare was created by David Coombes and contains a collection of Utilities, Technical Articles and Source Code focused mainly on the internals of the Windows Operating System.

Links

Useful Links and Shortcuts

What's New

Minimize
10

Graphical Media Player (GMP) is an mp3 / m4a audio player featuring a spectrum analyser, oscilloscope and power bars. As an audio player it has the basic controls you would expect including play, pause, stop, next, previous, repeat and shuffle.

There are 3 defined views. Normal mode which combines the spectrum analyser and play list, Compact mode which hides the play list and a Mini mode which displays a smaller spectrum analyser window. Although GMP has these 3 built-in views the window is completely resizable. 

GMP’s play list shows details about songs added to the queue. If available the title, artist, album and length of each song is displayed. Any number of songs can be added to the play list but it is not currently possible to sort the list, they are displayed in the order they are added.
 
 

 Screen Shot

Spectrum Analyser

Spectrum Analysers are used to display frequencies of sound contained in a sample of music. This can range from a single frequency generated by a tuning fork to several 100 different frequencies being played at the same time in a digital audio file.
 
GMP’s spectrum analyzer uses a time domain to frequency domain conversion method known as a Fast Fourier Transform (FFT) to convert digital sign waves into frequencies bands. GMP implements a variation of the FFT known as a Short Time Fourier Transfer (STFT) where the sample window shifts along the data stream at smaller intervals than the sample size creating an overlapping effect. The resulting complex numbers (real and imaginary) are held in a matrix which stores the frequencies magnitude and phase for the particular point in time in which the sample was taken.

The spectrum analyzer has 2 separate channels (left and right), each consisting of 23 frequencies bands which represent a range of frequencies.  Band 11 in each channel is set to the note A4 or 440Hz and each band below decreases by 2 semi-tones and each band above increases by 4 semi-tones.

Band 0 contains frequencies 123.470Hz – 138.590Hz, band 1 contains frequencies 138.591Hz – 155.563Hz and so on. A semitone calculated in Hz is a twelfth root of two, or written in C as dbSemiTone = pow( 2.0f, ( 1.0f / 12.0f ) );. 

The table below shows the frequency range of each band:-

# Band
Frequency (Hz)
Note
# Band
Frequency (Hz)
Note
0
123.470
B2
12
554.365
C#5
1
138.591
C#3
13
698.456
F5
2
155.563
D#3
14
880.000
A5
3
174.613
F3
15
1108.731
C#6
4
195.997
G3
16
1396.914
F6
5
219.999
A3
17
1760.001
A6
6
246.941
B3
18
2217.463
C#7
7
277.182
C#4
19
2793.892
F7
8
311.126
D#4
20
3520.005
A7
9
349.228
F4
21
4424.930
C#8
10
391.995
G4
22
5587.663
F8
11
440
A4
 
 
 

 

Spectral Leakage is a term given to the effect of applying an FFT on an incomplete or offset sign wave; the calculated frequencies appear to span several frequency bands making it impossible to determine its exact frequency. Ideally when applying an FFT, the sample data will contain sign waves that start and end at 0. As this is not always the case a windowing algorithm is applied to the sample before it is put through an FFT. The effect of the windowing function reduces spectral leakage resulting in a more accurate frequency conversion.

GMP currently implements two different windowing functions. The left channel uses a 3-term Blackman-Harris window and the right channel uses a Hanning window.

System Requirements

Direct X, Sound Card
 
Client: Windows 7, Windows Vista, Windows XP
 
Server: Windows Server 2008, Windows Server 2003

 

Download

 Download Graphical Media Player v1.00

Posted in: Just-For-Fun
Actions: E-mail | BookMark |

Post Rating