What is SPPAS?
SPPAS - the automatic annotation and analyses of speech is a
scientific computer software package. SPPAS is daily developed with the
aim to provide a robust and reliable software tool. Available for free,
open source code, there is simply no other package for linguists
to simple use in both the automatic annotations of speech, the analyses of
any annotated data and the conversion of annotated file formats.
You can imagine the annotations or analyses you need, SPPAS does the
SPPAS ensures flexibility rather than a one-size-fits-all approach in the implementation of the proposed features. There are no fixed or unique solutions, but a bunch of customizable features to make choices according to your needs.
Annotating recordings is very labor-intensive and cost-ineffective
since it has to be performed manually by experienced researchers with
many hours of work. As the primary functionality, SPPAS proposes a set of
automatic or semi-automatic annotations of recordings.
In the present context, annotations are
defined as the practice of adding
interpretative, linguistic information to an electronic corpus of spoken
and/or written language data. Annotation can also refer to the end-product
of this process (Leech, 1997).
SPPAS expects you to have a rigorous methodology to collect data and to prepare them. In return, it will automatize the annotation processes, and help in data analysis: it allows you to save a lot of time.
Linguistics annotation, especially when dealing with multiple
domains, makes use of different tools within a given project. This
implies a rigorous annotation framework to ensure compatibilities
between annotations and time-saving. SPPAS annotation files are in a
specific XML format with extension
can be imported from and exported to a variety of other formats
including Praat (TextGrid, PitchTier, IntensityTier), Elan (eaf),
Transcriber (trs), Annotation Pro (antx), Phonedit (mrk), Sclite (ctm,
stm), HTK (lab, mlf), subtitles formats (srt, sub), CSV files…
[…] when multiple annotations are integrated into a single data
set, interrelationships between the annotations can be explored both
qualitatively (by using database queries that combine levels) and
quantitatively (by running statistical analyses or machine learning
algorithms) (Chiarcos 2008). As a consequence, the annotations must
be time-synchronized: annotations need to be time-aligned to be
useful for purposes such as analyses. Some special features are offered
in SPPAS for managing annotated files and analyzing
data. Among others, it includes a tool to filter multi-level
annotations. Other included tools are to estimate descriptive
statistics, to manage annotated files, to manage audio files, etc. These
data analysis tools of SPPAS are mainly proposed in the Graphical User
Interface. However, advanced users can also directly access the
Application Programming Interface, for example, to estimate statistics or
to manipulate annotated data.
By using SPPAS, you agree to cite a reference in your publications. The full list of references is available in Chapter 7.
- Many problems can be solved by updating the version of SPPAS.
- When looking for more detail about some subject, one can search this book.
- There are: a F.A.Q. and tutorials in the SPPAS website.
About the author
Since January 2011, Brigitte Bigi is the main author of SPPAS. She has a tenured position of researcher at the French CNRS - Centre National de la Recherche Scientifique. She’s working since 2009 at Laboratoire Parole et Langage in Aix-en-Provence, France.
More about the author:
You may contact the author by e-mail - no more than three lines:
- to improve the quality of the linguistic resources;
- to add new linguistic resources;
- to add new annotations or analysis methods;
- to propose to collaborate for a research purpose;
- to declare an issue;
- to help in programming.
Do not contact the author if:
- you failed to install Python;
- you didn't read the installation instructions;
- you didn't read both this book and the tutorials.
Possible e-mails are:
- contact[at]sppas.org for general purposes;
- develop[at]sppas.org for developer questions or for a bug alert.
Here is the list of contributors in programming:
- April 2012-June 2012: Alexandre Ranson (1st website)
- April 2012-July 2012: Cazembé Henry (1st GUI)
- April 2012-June 2013: Bastien Herbaut (help system)
- March 2013-March 2014: Tatsuya Watanabe (annotated data support)
- April 2015-June 2015: Nicolas Chazeau (audio support)
- April 2015-June 2015: Jibril Saffi (annotated data support)
- April 2019-June 2019: Barthélémy Drabczuk (workspaces and num2letter)
- April 2020-June 2020: Laurent Vouriot (a SPEAKER annotation)
- April 2020-June 2020: Florian Hocquet (installer and video support)
- April 2023-June 2023: Mathias Cazals (dynamic website)
- April 2023-June 2023: Florian Lopitaux (cued speech video tagger)
- April 2023-July 2023: Audric Vachet (GUI: video player of the page editor)
SPPAS source code is distributed under the terms of the GNU GENERAL PUBLIC LICENSE v3.
Linguistic resources of SPPAS are either distributed:
- under the terms of the GNU GENERAL PUBLIC LICENSE, v3, or
- under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License.
See the documentation of the resources for details about individual license.
To summarize, SPPAS users are:
- free to study the source code and the resources of the software they use,
- free to share the software,
- free to modify the software and re-distribute.
All along the years, SPPAS was supported by the Laboratoire Parole et Langage in many ways.
Partly supported by ANR OTIM project (Ref. Nr. ANR-08-BLAN-0239), Tools for Multimodal Information Processing. Read more at: https://www.lpl-aix.fr/~otim/
Partly supported by ORTOLANG (Ref. Nr. ANR-11-EQPX-0032) funded by the « Investissements d’Avenir » French Government program managed by the French National Research Agency (ANR). Read more at: https://www.ortolang.fr/
SPPAS was also partly carried out thanks to the support of the following projects or groups:
- CoFee - Conversational Feedback http://cofee.hypotheses.org
- Variamu - Variations in Action: a MUltilingual approach http://variamu.hypotheses.org
- Campus France, Procore PHC.
The introduction of Naija language is supported by the ANR NaijaSynCor.
The introduction of workspaces to manage files and the SPEAKER annotation type were both supported by the Vapvisio ANR project (ANR-18-CE28-0011-01).
Both the Proof of Concept of the Cued Speech automatic annotation and the package for the dependencies’ installation was supported by the LPL.
Cued Speech Annotation is developed thanks to a grant of FIRAH - Applied Disability Research: https://www.firah.org/. See https://auto-cuedspeech.org for details.
Getting and installing
The website of SPPAS is located at the following URL: https://sppas.org
The releases and the source code are hosted by SourceForge at: https://sppas.sf.net/
Download and install SPPAS
The main website contains the
Download page to download
recent versions of the SPPAS software package, and it describes the
Download and decompress the SPPAS package:
There is a unique version of SPPAS which does not depend on the operating system. SPPAS is ready to run, so it does not need elaborate installation. All you need to do is to copy the SPPAS package from the website to somewhere on your computer. Choose a location with preferably only US-ASCII characters in the name which obviously includes its full path. The package of SPPAS is compressed and zipped, so you only need to decompress and unpack it once you’ve got it.
Install external programs
An installation guide is available and must be followed carefully. Notice that administrator rights may be required.
- STEP 1: install the recommended version of Python 3.x ONCE (Windows/Linux)
- STEP 2: launch the
setup.command(Linux, macOS) to continue the installation and follows instructions.
In case of difficulty arising from this installation, you’re invited to consult the web first. It probably will provide the solution. If, however, the problem was to persist, ask a technician for help.
SPPAS is a Research Software, distributed in the context of
Open Science. Then, unlike many other
software tools, SPPAS is not distributed as an executable program.
Instead, everything is done so that users can check / change
It is particularly suitable for automatic annotations: it allows anyone to customize automatic annotations to its own needs and to implement its custom annotation solution.
The SPPAS package is a directory with content as files and folders:
README.mdfile, which aims to be read!
- the files
setup.commandto install some external programs;
- the files
sppas.commandto launch the Graphical User Interface;
demofolder contains an audio file, its corresponding orthographic transcription and the video file. It also contains a large number of annotations automatically created by SPPAS;
samplesdirectory contains data of various languages: they are proposed to test various features of SPPAS in different languages;
workspacesdirectory with two already available workspaces: samples.json and Demo.json;
sppasdirectory contains the program itself, it’s the SPPAS source code;
resourcesdirectory contains data that are used by automatic annotations (lexicons, dictionaries, …);
- the terms of the licenses
- the printable version of this book (deprecated: use the in-line version instead)
- the printable resources documentation
- the printable XRA file format documentation
- the printable version of the main reference published in
- the orthographic transcription convention
- the folder
scripting_solutionsis a set of python scripts corresponding to the exercises proposed in the website
Scripting with Python and SPPAS
SPPAS is constantly being improved and new packages are published frequently (about 6–8 versions a year). It is important to update regularly to get the latest features and corrections.
Updating SPPAS consists of downloading, decompressing and launching the setup.
How to use SPPAS?
There are three main ways to use SPPAS:
- The Graphical User Interface (GUI) is as user-friendly as
possible. It requires wxPython to be installed, i.e., to check
wxpythonfeature at the time of the setup.
- double-click on
sppas.batfile, under Windows;
- double-click on
sppas.commandfile, under macOS or Linux. The file must be executable: if not, change its modality either with the command-line
chmod +x sppas.commandor with any file explorer, except for the macOS-1982-made 'Finder'.
- double-click on
- The Command-line User Interface (CLI), with a set of programs, each one essentially independent of the others, that can be run on its own at the level of the shell.
- Advanced users can also access directly the Application Programming Interface - API. Scripting with Python and SPPAS provides the more powerful and reproducible way.
What SPPAS can do?
Features of SPPAS can be divided into three main categories:
- Annotate automatically or semi-automatically;
- Analyze annotated data;
- Convert from/to a large variety of file formats.
The SPPAS website contains the list of the features and how most of the automatic annotations can be organized in an annotation workflow. See https://sppas.org/features.html
Main and important recommendations
There is a list of important things to keep in mind while annotating with SPPAS. They are summarized as follows and detailed in the chapters of this book:
- Speech audio files for automatic annotations:
aufiles are supported. Obviously, you never will convert a compressed file - like mp3, into a wav...
- only mono (= one channel) files are supported
- frame rate is preferably 16000hz
- bit rate is preferably 16 bits
- good recording quality is expected.
- Annotated data files:
- UTF-8 encoding only
- It is recommended to use only US-ASCII characters in file names, which includes its path, particularly for Windows users.
About automatic annotations
The quality of the SPPAS results for most of the automatic annotations is highly influenced by the quality of your data. It is a politically correct way to say: Garbage in, garbage out! SPPAS creates annotations from your data, not miracles.
Annotations are based on the use of linguistic resources. Resources for several languages are gently shared and freely available or downloadable. The quality of the automatic annotations is also highly influenced by the quality of the linguistic resources.
About linguistic resources
Users are of crucial importance for resource development.
Do not hesitate to help in checking resource files and sharing your corrections with the community.
The users of SPPAS are invited to contribute to improve them. They can release the improvements to the public, so that the whole community benefits.
Any help is welcome to improve existing resources or to create new ones.