Introduction

What is SPPAS?

Overview

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, with 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 rest!

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 xra. Annotations 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.

User engagement

By using SPPAS, you agree to cite a reference in your publications. The full list of references is available in Chapter 7.

Need help

  1. Many problems can be solved by updating the version of SPPAS.
  2. When looking for more detail about some subject, one can search this book.
  3. 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:

Contact

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.

Contributors

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-July 2023: Audric Vachet (GUI: video player of the page editor)
  • April 2023-June 2023 & Feb 2024-June 2024: Florian Lopitaux (cued speech video tagger)

Licenses

SPPAS source code is distributed under the terms of the GNU AFFERO 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.

Supports

All along the years, SPPAS was supported by the Laboratoire Parole et Langage in many ways.

2011-2012:

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/

2013-2015:

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/

2014-2016:

SPPAS was also partly carried out thanks to the support of the following projects or groups:

2017-2020:

The introduction of Naija language is supported by the ANR NaijaSynCor.

2019-2020:

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).

2020:

Both the Proof of Concept of the Cued Speech automatic annotation and the package for the dependencies’ installation was supported by the LPL.

2023-2026:

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

Websites

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 installation instructions.

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.

To summarize:

  • STEP 1: install the recommended version of Python 3.x ONCE (Windows/Linux)
  • STEP 2: launch the setup.bat (Windows) or 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.

The package

SPPAS is a Research Software, distributed in the context of the 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 operations.

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:

  • the README.md file, which aims to be read!
  • the files setup.bat and setup.command to install some external programs;
  • the files sppas.bat and sppas.command to launch the Graphical User Interface;
  • the demo folder contains an audio file, its corresponding orthographic transcription and the video file. It also contains a large number of annotations automatically created by SPPAS;
  • the samples directory contains data of various languages: they are proposed to test various features of SPPAS in different languages;
  • the workspaces directory with two already available workspaces: samples.json and Demo.json;
  • the sppas directory contains the program itself, it’s the SPPAS source code;
  • the resources directory contains data that are used by automatic annotations (lexicons, dictionaries, …);
  • the documentation directory contains:
    • 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 Phonetician journal
    • the orthographic transcription convention
    • the folder scripting_solutions is a set of python scripts corresponding to the exercises proposed in the website Scripting with Python and SPPAS

Update

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.

Features

How to use SPPAS?

There are three main ways to use SPPAS:

  1. The Graphical User Interface (GUI) is as user-friendly as possible. It requires wxPython to be installed, i.e., to check wxpython feature at the time of the setup.
    • double-click on sppas.bat file, under Windows;
    • double-click on sppas.command file, under macOS or Linux. The file must be executable: if not, change its modality either with the command-line chmod +x sppas.command or with any file explorer, except for the macOS-1982-made 'Finder'.
  2. 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.
  3. 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:

  1. Annotate automatically or semi-automatically;
  2. Analyze annotated data;
  3. 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

About files

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:

  1. Speech audio files for automatic annotations:
    • only wav and au files 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.
  2. Annotated data files:
    • UTF-8 encoding only
  3. 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.