Software for Download

1. GMM on Hadoop

This is a set of Java programs that I developed recently for teaching the subject "Distributed Systems and Cloud Computing". The package contains both sequential and parallel version of the EM algorithm for training Gaussian mixture models (GMM). The parallel version is designed to run on Hadoop clusters. For the source code, visit


Speech Analysis (SPANA V4.0) is a teaching tool developed by M.W. Mak and his undergraduate students many years ago (So, it may or may not work on today's version of Windows). This tool allows students to investigate the effect of varying the LP parameters on the LP spectrum. It also allows students to visualize the effect of using different windowing techniques. The software has been used in the MSc subject "Speech Processing" and the BEng subject "Image and Speech Processing.

There are four main functions in SPANA V3.0.  First, “Pole and Envelope Mapping” provides a dialog box for controlling the poles of a vocal tract filter. It helps students find the relationship between LP parameters and the spectral envelope of speech signals.  Second, “Sensitivity of LP Parameter Control” provides a dialog box for investigating LP parameter’s sensitivity.  Third, “Windowing Effect Control” enables students to select different window types and compare the output in the frequency domain.  Finally, “Real Time Speech Processing” embeds real time recording and displaying functions in SPANA.With this software, students can (1) input the signal, (2) find the vocal tract filter that models the signal, and (3) change the parameters of the vocal tract filter. As a result,  they can  observe the relationship among the vocal tract parameters, vocal tract filter, and the speech signal.

Students are requested to use this software to do some laboratory exercises and to submit a report.  They use this software to record a speech and then to analyze it.  They also need to change the parameters to see the effects.  In the report, they have to give explanation of the effects and to answer the questions set up in the exercises.   After working through the exercises, they are expected to have a better understanding of LP analysis.

Click Here! Click Here!

Click Here!
Click Here!


BSFT and BBSFT is the C implementation of "Blind Stochastic Feature Transformation" described in the papers

  1. K.K. Yiu, M.W. Mak, M.C. Cheung, and S.Y. Kung, "Blind Stochastic Feature Transformation for Channel Robust Speaker Verification," J. of VLSI Signal Processing
  2. K.K. Yiu, M.W. Mak, and S.Y. Kung, "Channel Robust Speaker Verification via Bayesian Blind Stochastic Feature Transformation, Eurospeech'05, pp. 2013-2016, Lisbon, 2005.


Real-Time Spectrogram is a program that allows users to record and visualize spectrograms in real-time. The program must be used with Visual C++ MFC library.

Click Here!

M.W. Mak's Homepage