[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Changes

6.1 History  The history of SPro
6.2 Changes from previous version  What's new from the previous version?
6.3 Compatibility  Is th current version compatible with the previous one?


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 History

Here is a little bit of history before going into the details of the changes between the two last version of SPro.

I started the SPro project in 1996 while working at ELAN Informatique. At the time, SPro was nothing but a simple linear prediction analysis library for a CELP coder.

After I left this company to go as a Ph. D. Student at ENST Paris, the project rapidly turned into a speech processing toolkit to design front-end processing for speech and speaker recognition algorithms. In particular, all those nice variable resolution spectral analysis programs were developed for my work there. I left ENST with SPro version 3.2, a rather stable version of the toolkit but dependent upon non GPL code and upon other toolkits I used to maintain.

After a short pause, the project restarted when I joined IRISA as a CNRS fellow researcher. Version 3.2 then quickly turned into version 3.3 which is the first truly GPL stand-alone distribution of SPro. Version 3.3 also introduced the use of the configure script which has made SPro developer's life easier since.

Finally, it took quite a long time and several non fully documented (3.3.1) or non distributed (3.3.2) intermediate versions of SPro before the major rewrite that lead to version 4.0. Version 4.0 has basically the same functionalities as had version 3.3 with the immense advantage that the new version can handle signals of virtually infinite length via the use of signal and feature streams. Implementing streamed I/O mechanisms for waveforms and features required rewriting a lot of functions and changing the SPro feature file format, thus loosing both the command and the library compatibility (see note on the compatibility below). I took this opportunity of a major rewrite to undergo modifications I had been willing to do for a long time.

Changes from 3.3 to 4.0 are detailed below.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Changes from previous version

Listing all the changes between SPro 4.0 and 3.3 is a nearly impossible task as, apart from the command names and a few of the options, virtually everything has changed.

Regardless of the code structure, the main difference is the introduction of streamed I/Os in version 4.0. This new feature I/O mechanisms enables the processing of continuous (or very large) audio streams without jeopardizing the computer's memory. I also believe that the new release offers much more opportunities to embed front-end processing in a demo application thanks to streaming.

As introducing feature streams required a major redesign of the source code, all the library files have been deeply modified and, to avoid confusions, old `spro_*.c' names have been changed. Also, the SPro feature file format has changed to accommodate for streams (e.g. number of frames unknown). Though the library interface has changed, the algorithms and their implementation remained the same.

Below is a list of the major changes:

I probably forgot a bunch of new things that you will discover, hopefully with great pleasure, as you go along with this new version of SPro.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 Compatibility

In case you did not get it,SPro 4.0 is not compatible with any previous release!

The current release of SPro is a major rewrite from any previous releases and is therefore not compatible (see above for more details on the changes) at all. The main reason for a new organization of SPro, and therefore for the incompatibility, is the ability to process arbitrary length streams.

In particular, the feature file format has changed and feature files (formerly known as data files) generated with a previous version can not be used directly. However, the scopy tool provides a compatibility option which enables the import of feature files from previous SPro releases. The new file format is more flexible and enables to store arbitrary information in the feature files. See section 3.1 File formats, for details.

The lack of compatibility also extends to the library. Programs based on former releases of the library will not compile anymore.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Guillaume Gravier on March, 5 2004 using texi2html