2006-04-01 0.3.8 - lucasvr Releasing the latest modifications as 0.3.8. I probably won't touch this code again. Feel free to fork this project or to submit patches to enhance its correlation function, or to email me about specific questions on its implementation. 2005-06-22 0.2.8 - lucasvr Code restructuration on src/libdsp/alsa.c; Removed calls to mlock() and munlock(). 2005-06-13 0.2.8 - lucasvr Voilą! VoiceAuth is now available as a library, which means that anyone can use it outside PAM. The API is explained in the doc/ directory. The code for audio/mixer was also splitted into a library called libdsp inside VoiceAuth, which can be used for other projects as well. 2004-10-05 0.2.8 - lucasvr *A lot* of cleanup and restructuration was made on the code. The algorithm used to detect the silence level, taken from libSpectro, was removed from now. Support for automake/autoconf/libtool was added, packing also the audio code into a libtool library. Given the autoconf stuff, hardcoded paths were also removed from header files, and now everyone is happy. I've taken away libfftw. The speedup was being achieved only when doing massive (sequential) transforms, which is not the case here. I've merged the FFT code from Don Cross code and packed it as a libtool library, named libfft inside this code. 2003-11-25 0.2.8 - lucasvr Oops. 's/float/fftw_real/g' 2003-06-04 0.1.8 - lucasvr A new FFT algorithm is being used: FFTW (http://www.fftw.org). It has increased impressively the speed of the transform. Two memory leaks were also fixed. Routines to deal with ALSA were also written. Choose between OSS and ALSA can be done on compilation time. I still could't fix some little problem with the file handling (time..), but I guess it can be done on the next 2 weeks. 2003-02-05 0.0.7 - lucasvr Due to the lack of overlapping, wrong passwords were being authenticated. Also the number of windows was changed from 32 to 64 to increase accuracy. 2003-02-04 0.0.6 - lucasvr A new algorithm to define the silence level is being tested, based on libSpectro, developed by Rafael Guterres Jeffman . I was only modifying the algorithm to test it with the ALS card, but since I didn't find too much difference on the results, I decided to put weights to the values computed, combining the old method with the new one. If you find some problems regarding to the silence level detection (eg, the program automatically starts to listen to your voice, even without noise in the environment), you can try to play with the return value on OSS_get_silence_level(), in oss.c . Tests with the ALS4000 card also gave me some confort: the silence level is working on others card than EMU10k1. 2003-01-07 0.0.5 - lucasvr Some code cleanup was done. 2003-01-04 0.0.5 - lucasvr The conversation function was implemented. I have removed the printf's portion of the code from the module file: this now is handled by the application, as the conversation function should be used. There is also now 2 variables being exported to the PAM environment, telling the application the current silence level/threshold. I feel the module is now ready to be used on the real world. 2003-01-01 0.0.4 - lucasvr A few modifications were done: - Added session management to the voicelogin app; - A bug in the file management (va_passwd) was fixed; - The silence management is now made after the user speak his/her password. Doing this fixed the problem with the data being cutted off on 'randomic' places; - Using open() instead of fopen() to handle file permissions correctly; - /etc :) 2002-12-30 0.0.3 - lucasvr Well, I decided to rewrite the 'voicepasswd' before going to the beach. It's done, and I also take profit to wrote the README file. The software is now good documented, good enough to one understand how it works and how it can be fine-tuned. I also have changed the silence_threshold variable to work as a percentage of the silence_level, instead of hardcoded value (0.0.3 was defining 10%). Now, silence_threshold may be defined as '0.05' instead of 16350, for example. 2002-12-30 0.0.3 - lucasvr After a month, I did put my hands on the source again. The module is now ready, and a 'voicelogin' application was developed, which can successfully authenticate the user by using the VoiceAuth PAM module. Another application was also developed to aid debugging: 'playpasswd'. Since I always forget my password, it's nice to hear it before blindingly speaking nonsense words in the microphone. The existing 'voicepasswd' is going to be rewritten in order to make use of the new functions and the PAM module. This will be done on the 1st day of the new rising sun^H^H^Hyear. 2002-11-16 0.0.2 - lucasvr Finally I could touch this code again. The format choosen to deal with the passwords was a text-file defining the username and the lenght of it's password. Another file is created named 'username', in binary mode, containing it's password. Now we just have to choose a way to encrypt it. I'm also starting to put the code in the PAM module right now. 2002-11-03 0.0.1 - lucasvr 'voicepasswd' is working fine, without using any PAM module yet. The aim now is to select a good format to save the password into the va_passwd file.