News

As of Dec. 2013 this version of Emu and its corresponding R Package is to be considered deprecated and is no longer being actively maintained. We are currently working on a reiteration of the EMU speech database management system that, if all goes well, will start to roll out during the course of 2014. Please check here for information about future releases.

The EMU Speech Database System

EMU is a collection of software tools for the creation, manipulation and analysis of speech databases. At the core of EMU is a database search engine which allows the researcher to find various speech segments based on the sequential and hierarchical structure of the utterances in which they occur. EMU includes an interactive labeller which can display spectrograms and other speech waveforms, and which allows the creation of hierarchical, as well as sequential, labels for a speech utterance.

Features in a nutshell

  • Processing of acoustic and articluatory data
  • Sequential and hierarchical annotations with and without time association
  • Signal Processing
  • Annotation Tool
  • Scripting facilities
  • Graphical Query Tool
  • Interface to: R, Praat, WaveSurfer, Articulate Assistant
  • Extendable by users using Tcl/Tk, C/C++

Emu/R Release 4.3, March 2012

Emu/R 4.3 released. See

Emu Release 2.3, November 2009

Emu 2.3 is released. See

Downloads

Binary packages of Emu 2.3 are available for:

Linux: x86 v. 2.3
Mac OS X: 10.4 and above v. 2.3
Windows: XP, Vista, 7 v. 2.3

Note: this release works best with .


All Emu downloads are available via the .

EMU 2.4 Release, Upcoming soon 2012

RELEASE NOTES Version 2.4 Bug fixes and asked features added. See http://sourceforge.net/projects/emu/support closed Bugs and Feature Requests. Some selected modifications are listed below:

    • Included file updates:
      • #3303379 - File update: Query Tool open with Labeller for last seglist
      • #3296263 - File update: update to the Praat v. >= 5.2 Interface
      • #3089972 - File update: error, if tier contains a "{"
      • #3010479 - tkassp segsam chokes on large segment lists
      • #2999970 - File update: labeller does not display 2 columned datasets
      • #2996552 - File update: AutoBuild script path not loaded correctly
      • #2983777 - File update EMU/R 4.3: unnecessary writing of emudir file
      • #2982013 - File update: AutoBuildExtern does not report error messages
      • #2966313 - File update: emu.track: Error in ceiling(length.out)
      • #2954137 - File update: Segsam seems to hang up EMU
      • #2951579 - File update: emu2praat problems with labels with 0 start
      • #2913664 - File update: fixes wrong data display after zoom in
      • #3503474 - File update: autoDBinstaller - invalid argument
    • Bugfixes and features:
          • EMULabelModules:
            • AddTokensFromTSFile: Appends items from tab separated files to different label links - useful to create a database from raw text corpora.
            • anagest: A module for automatic landmark detection in articluatory data
            • viewProfile: A module for creating display profiles in the labeller
          • labConvert:
            • Articulate Assistent Interface improved
            • fixed: unreported problem with tiers that have initial label with start time 0
          • Database Tool:
            • Praat interface: Message informs user on the numbers and separators in the Praat labels; fixed: Update to work with Praat v. >= 5.22
          • Labeller:
            • User request: legal labels sorted
            • Hierarchy beta view improved - all level in line in horizontal position
            • fixed: detached hierarchy improved in respect to updates of displays after segment modification
            • fixed: bug in X11 zoomed state
          • queryGUI:
            • User request: hide/display levels in queryGUI
            • Developer request: fixed unuseability with level names containing special characters
            • fixed: Problems with level names containing dots or special character
          • GTemplate Editor
            • User request: Save as option added
            • GTemplate Editor: improvement of dialogs
            • fixed BUG #2855153
          • Tkassp
            • new tclassp version
            • changes towards in-memory processing
            • GUI update
            • minF can be changed independently
            • GUI messages update
            • Minor fixes and optimizings

      EMU 2.3 Release, November 2009

      RELEASE NOTES Version 2.3 Bug fixes and asked features added. See http://sourceforge.net/projects/emu/support closed Bugs and Feature Requests. Some selected modifications are listed below:

        • Emu Segmenter 3.0 added
          • There is an Linux release : the Linux PROBLEM fixed
            • Labeller: y-axis improved: better / faster / loop less calculation of best font size for y - axis label
              • Bugfixes:
                • #2884691 - Could not open Emu utterance in Praat on Win
                • #2871171 - Trackdata not displayed in Emu 2.2.4
                • #2855153 - Graphical Template Editor freezes after save button ...
                • #2864004 - Problem saving labels using Write Emulabels in Praat on Os X-with special thanks to Stagea Sam
                • #2894356 - delete label in signal view - caused by too much bindings on one mouse button
                • #2900431 - no prompt to save on exit after del in SignalView
                • #2895027 - Simple trackdata can now be written to files.Simple trackdata creation (no seg number, no time in output, but do handle "cut" parameter). .. counter removed in gettrack. Messes up the R prompt in Linux
                • unreported: modify fm data - expected integer but got "3309.8591549295775"
                • unreported: "can not open emu-conf file" - Emu creates the emu-conf path if not exists

              Installation and Usage

              1. Emu
                1. Download the latest release of the Emu Speech Database System from the section
                2. Install the Emu speech database system by executing the downloaded file and following the on-screen instructions.
                  • Windows:Press double left-mouse button on the setup file.
                  • Linux:
                    • Change to the directory where you saved the installer.
                    • Make the file executable: $ chmod +x Emu-2.3-Linux-x86-Install
                    • To install: $ ./Emu-2.3-Linux-x86-Install
                    • To install systemwide: $ sudo ./Emu-2.3-Linux-x86-Install
                  • Mac OS: Press double left-mouse button on the setup file.
                    • Mac OS X > 10.4: open Terminal and type: chmod a+rx /Library/Emu
              2. Getting started with Emu
                1. Start the Emu speech database tool.
                  • Windows: choose Emu Speech Database System -> Emu from the Start Menu.
                  • Linux: choose Emu Speech Database System from the applications menu or type Emu in the terminal window.
                  • Mac OS X: start Emu in the Applications folder.
                2. Watch the to see what you can do.

              Troubleshooting

              This software is likely to contain bugs. If you think you have encountered a bug, please don't hesitate to consult our Bug Tracking System and eventually report your problem.

              Patches

              Download patches from: Emu's Sourceforge patch collection

              A patch fixes problems of the current version of the software. All patches will be included in the next software release. Please make sure that you install patches in the right chronological order. It might be, that some files are part of more than one patch. In this case, the lastest version includes earlier fixes already.

              Source Distribution

              The source distribution is a snapshot of the Emu sources at the release date. The source should build easily on Linux with and should build on Solaris as long as a recent gcc and Gnu make are available. It may also build on other flavours of Unix but has only been tested on these two platforms. Instructions for compilation are in the README file within the distribution.

              In addition to the above released sources, the latest version of the source via anonymous CVS is available from the . Please note that the CVS version may not compile in all configurations.

              A number of packages needed to build a full EMU system are version Version 8.5 of and the latest versions (CVS snapshots) of libassp and tclassp, both found at libassp Emu also requires the Tcl standard library (tcllib), tklib the Bwidgets Tcl library, both available via Sourceforge as well as the memchan, tclvfs, trf and tkimg packages. All these packages are also available via Active Tcl.

              Library Emu in the Software package R

              The Emu-R library is a collection of programs running within the R programming language for the analysis of any speech database that can be read by the Emu Speech Database System.

              Emu/R 4.3 released - soon available on CRAN (R)

              Download .
              R> install.packages("/Path/to/emu_4.3.tar.gz", repos=NULL, type="source")

              This release is an update due to new R 2.14 features and requirements.
              It works best with the upcoming .

              Emu/R 4.2 released

              This release works best with .

              RELEASE NOTES Version 4.2

                • Bug fixes:
                  • fixing support for simple trackdata, which cannot be read in by read.trackdata.

                Emu/R 4.1 released

                This release works best with .
                It includes some bug fixes and minor changes to functions as well as improved error messages. Some major changes are listed below:

                • Installation and configuration
                  • The Emu package can be installed successfully even there is no emu installation on the system.
                  • An emu installation is linked to R using the new function emulink(). This is tried during installation but you can link it on aour own again using emulink().
                  • Better information about the tcl and Emu libary paths.
                • emu.track()
                  • optimized for faster processing. Some kind of progress bar is added also.
                  • takes the segment list argument as character also. For larger segment lists the processing is faster taht way.
                  • "cut" argument works now
                  • broken for event lists : FIXED
                • trackinfo()
                  • updated to use emuR::gettracks from Emu library
                • write.trackdata()
                  • writes entries Original_Freq and Trackname to file for spectral data

                Installing Emu/R

                Installation of the Emu functions for R is simple as the package is now hosted by the The Comprehensive R Archive Network.

                1. R
                  1. Download the .
                  2. Install the R programming language by executing the downloaded file and following the on-screen instructions.
                  3. For R > 2.10 on Mac OS download the R tcltk library (tcltk-8.5.5-x11.dmg) from the R download page for OS X in the "tools" subdirectory.
                2. Emu-R
                  1. Start up R
                  2. Enter install.packages("emu") after the > prompt.
                  3. On Mac Os and R >= 2.12, download and install tcltk.dmg from the r-project tool directory.
                  4. Enter library(emu) the load the installed package for the session.
                  5. Enter emulink() to link the package to the Emu installation and follow the instructions.
                    • If emulink() fails for Mac Os, try emulink("/Applications/Emu.app/Contents/lib")

                Alternatively, you can dowload the Emu-R package 4.2 from SourceForge:

                source (Linux): x86 v. 4.2
                source (Mac): 10.4 and above v. 4.2
                Windows: XP, Vista, 7 v. 4.2

                The actual R-CRAN package (4.2) requires >= EMU2.3

                Emu and ToBI

                ToBI is a system for transcribing the intonation patterns of spoken language. ToBI defines a number of annotation levels and the criteria for placing labels on each. These labels include a segmentation into words along with tone labels which mark prosodic events such as prosodic tones and phrase boundary events. ToBI annotations have largely been made using the Unix based Waves+ toolkit from Entropic and the example materials are made available in the ESPS format which is readable only by Waves+ (and by Emu when an ESPS licence is available -- ie. on a Unix platform). This page describes some tools for using ToBI annotation in the Emu system.

                The ToBI training materials available from the Ohio State web site are in the ESPS format. We have converted these files to the SSFF format read by Emu on both Unix and Windows. These files are now available on our server:

                The smaller files consist of only 12 utterances from the database (those beginning with `a').

                These packages contain the original label files (augmented with a dummy label at the start of the word level so that Emu can treat the words as segments rather than events). Two Emu template files are provided, one mimics the traditional ToBI annotation scheme which presents four independant tiers, the other adds domination relations and two additional levels for intonational and intermediate phrases. A script is provided to convert traditional flat ToBI annotations into hierarchical ones. An example hierarchical annotation is shown below.

                emu tobi

                In this scheme, the Tone level is preserved, non-phrasal tones are linked to the word in which they occur and words are grouped into Intonational and Intermediate phrases based on the position of phrase boundary events.

                Pitch Tracking on Windows

                Researchers investigating prosody have relied on ESPS/Waves+ for both labelling and pitch tracking. Emu can manage the labelling role but does not provide a pitch tracker. There are a number of possible pitch trackers that might be of use.

                Fortunately, the ESPS codebase has now been donated to the KTH speech group and is now being integrated into the Snack toolkit. The most recent release of Snack includes the ESPS pitch and formant tracker code and the most recent Emu release contains a simple tool to run these over speech data and produce SSFF formatted data files for your corpus.

                Publications

                2010
                Harrington, J. (2010). The Phonetic Analysis of Speech Corpora. Blackwell.
                Harrington, J. (2010). Acoustic Phonetics. In the revised Edition of Hardcastle W. & Laver J. (Eds.), The Handbook of Phonetic Sciences. Blackwell.
                2006
                Bombien, L., Cassidy, S., Harrington, J., John, T., Palethorpe, S. (2006). Recent Developments in the Emu Speech Database System. Proceedings of the Australian Speech Science and Technology Conference, Auckland, December 2006.
                2003
                Harrington, J., Cassidy, S., John, T. and Scheffers, M. (2003). Building an interface between EMU and Praat: a modular approach to speech database analysis. International Congress of Phonetic Sciences, Barcelona, August 2003. (4 pages).
                2002
                Steve Cassidy, XQuery as an Annotation Query Language: a Use Case Analysis, Proceedings of LREC 2002, Las Palmas, Spain, May 2002.
                2001
                Bird, S. and Harrington, J. (2001). Speech annotation and corpus tools. Speech Communication, 33, 1-4.
                Bird, S. and Harrington, J. (Editors) (2001). Guest Editors for Special Issue on Speech Annotation and Corpora. Speech Communication. Vol. 33, 1-174.
                Cassidy, S. and Harrington, J. (2001). Multi-level annotation in the Emu speech database management system. Speech Communication, 33, 61-77
                2000
                Cassidy, S. and Bird, S. (2000) Querying Databases of Annotated Speech, Proceedings of the Australian Database Conference, Canberra, January 2000.
                Cassidy, S., Welby, P., McGory, J., and Beckman, M. (2000) Testing the Adequacy of Query Languages Against Annotated Spoken Dialog. Proceedings of the Speech Science and Technology Conference, Canberra, December 2000.
                1999
                Cassidy, S. (1999) Compiling Multi-Tiered Speech Databases into the Relational Model: Experiments with the Emu System. In Proceedings of Eurospeech '99, Budapest, September 1999.
                Harrington, J. & Cassidy, S. (1999). Techniques in Speech Acoustics. Kluwer Academic Publishers: Foris, Dordrecht. ISBN: 0-7923-5731-0.
                1997
                Millar, J., Dermody, P., Harrington, J., and Vonwiller, J. (1997). Spoken Language Resources for Australian Speech Technology. Journal Of Electrical and Electronic Engineers Australia, 1, 13-23.
                1996
                Cassidy, S. and Harrington, J. (1996). EMU: an enhanced hierarchical speech database management system. Proceedings of the 6th Australian International Conference on Speech Science and Technology (p. 361-366).
                1994
                Harrington, J. & So, L. (1994). Some design criteria in the annotation of a spoken database of Cantonese. Fifth International Conference on Speech Science and Technology, Perth, Australia. (4 pages).
                Millar, J.B., Vonwiller, J.P., Harrington, J. and Dermody, P.J. (1994). The Australian National Database Of Spoken Language, Proceedings International Conference on Acoustics, Speech and Signal Processing, ICASSP-94, Adelaide, (pp.I97-I100).
                1993
                Harrington, J., Cassidy, S., Fletcher, J. and McVeigh, A. (1993). The mu+ system for corpus-based speech research. Computer Speech & Language, 7, 305-331.
                1992
                Croot, K., Fletcher, J. and Harrington, J. (1992). Phonetic segmentation on the Australian National Database of Spoken Language. Proceedings of the Fourth International Conference on Speech Science and Technology. (p.86-90). Brisbane, Australia.
                McVeigh, A. and Harrington, J. (1992). The mu+ system for speech database analysis. Proceedings of the Fourth International Conference on Speech Science and Technology. (p.548-553). Brisbane, Australia.
                Harrington, J. and McVeigh (1992). Analysing acoustic and articulatory speech data using the mu+ speech database interrogation system. Journal of the Acoustical Society of America, vol. 91, supplement 1. (A).
                Millar, J., Dermody, P., Harrington, J. & Vonwiller, J. (1992). A national cluster of spoken language databases for Australia. Proc. of the Third Australian Int. Conference on Speech Science and Technology. Melbourne, Australia. (4 pages).
                1990
                Millar, J., Dermody, P., Harrington, J. & Vonwiller, J. (1990). A national database of spoken language; concept, design, and implementation. Proc. of the International Conference on Spoken Language Processing (ICSLP-90). Kobe, Japan. (4 pages).
                1988
                Harrington, J. & Watson, G. (1988). Acoustic Phonetics in S. Unpublished m/s Centre for Speech Technology Research, University of Edinburgh.

                Emu and MySQL

                Frequently Asked Questions

                This is a very short list of FAQ. If you have any problem, see the Emu forums especially the Help forum. Your problem might be a software bug. In this case see Emus Bug tracking system.

                How do I get started with the EMU speech database system?

                1. Getting started with Emu
                  1. Start the Emu speech database tool.
                    • Windows: choose Emu Speech Database System -> Emu from the Start Menu.
                    • Linux: choose Emu Speech Database System from the applications menu or type Emu in the terminal window.
                    • Mac OS X: start Emu in the Applications folder.
                  2. Watch the to see what you can do.

                How can I get access to my existing databases?

                • Define the path(s) to the template file(s) with the Emu-Conf Editor.
                  • execute Dbemu
                  • open the emu-conf editor from the dbemu file menu
                  • add the path to your existing template files
                  • save the modifications

                Are there some patches?

                Download patches from: Emu's Sourceforge patch collection

                A patch fixes problems of the current version of the software. All patches will be included in the next software release. Please make sure that you install patches in the right chronological order. It might be, that some files are part of more than one patch. In this case, the lastest version includes earlier fixes already.

                Convert Labels freezes converting Praat TextGrid files

                This problem occurs when the TextGrid file is UTF-16 encoded. Until EMU support UTF-16, change the encoding to UTF-8. Therefore change Praat preferences (open and save TextGrid again) or use a text editor to convert.

                Miscellaneous Information

                We are in the process of transferring additional information from the old website to the new design. Meanwhile please visit the old site:
                Old Emu Site

                Emu and Steve

                Steve Cassidy and the Emu of EMU

                Documentations

                Documentations of the Speech Tools of EMU Version 2 are included in the tools by a file menu entry Help or by the context menu below the emu picture.

                For other help see Documentation of EMU 1.7

                Video documentation

                Watch the according to Harrington(2010).

                Harrington, J. (2010). The Phonetic Analysis of Speech Corpora. Blackwell.

                See older video tutorials below.

                How do I install the EMU speech database system?

                1. Emu
                  1. Download the latest release of the Emu Speech Database System from the section
                  2. Install the Emu speech database system by executing the downloaded file and following the on-screen instructions.
                    • Windows:Press double left-mouse button on the setup file.
                    • Linux:
                      • Change to the directory where you saved the installer.
                      • Make the file executable: $ chmod +x Emu-2.3-Linux-x86-Install
                      • To install: $ ./Emu-2.3-Linux-x86-Install
                      • To install systemwide: $ sudo ./Emu-2.3-Linux-x86-Install
                    • Mac OS: Press double left-mouse button on the setup file.
                      • Mac OS X > 10.4: open Terminal and type: chmod a+rx /Library/Emu
                2. R
                  1. Download the .
                  2. Install the R programming language by executing the downloaded file and following the on-screen instructions.
                  3. For R > 2.10 on Mac OS download the R tcltk library (tcltk-8.5.5-x11.dmg) from the R download page for OS X in the "tools" subdirectory.
                3. Emu-R
                  1. Start up R
                  2. Enter install.packages("emu") after the > prompt.
                  3. On Mac Os and R >= 2.12, download and install tcltk.dmg from the r-project tool directory.
                  4. Enter library(emu) the load the installed package for the session.
                  5. Enter emulink() to link the package to the Emu installation and follow the instructions.
                    • If emulink() fails for Mac Os, try emulink("/Applications/Emu.app/Contents/lib")
                4. Getting started with Emu
                  1. Start the Emu speech database tool.
                    • Windows: choose Emu Speech Database System -> Emu from the Start Menu.
                    • Linux: choose Emu Speech Database System from the applications menu or type Emu in the terminal window.
                    • Mac OS X: start Emu in the Applications folder.
                  2. Watch the to see what you can do.
                5. Additional software
                  1. Praat
                    • Download
                    • To install Praat follow the instruction at the download page.
                  2. Wavesurfer which is included in the Emu setup and installed in these locations:.
                    • Windows: EmuXX/bin.
                    • Linux: /usr/local/bin; /home/'username'/Emu/bin
                    • Mac OS X: /Applications/Emu.app/Contents/bin
                6. Problems
                  1. See

                Emu and MySQL

                I've recently carried out some experiments involving converting an Emu hierarchical annotation into tables for a relational database. The point of this exercise is twofold. Firstly to look for improvements in the speed of searching large databases for segments. Secondly to demonstrate the equivalence of the Emu hierarchical model to the relational model, which is much better understood. The results of the experiments are summarised in a paper to be presented at Eurospeech99 in Budapest.

                Database Software: MySQL

                Initial experiments were carried out with the PostgreSQL system which is included with RedHat Linux 5.2. This system proved easy to use but gave very slow response times to queries: around five minutes for the example domination query. Some research turned up some comments about PostgreSQL not being a very fast system and so MySQL was tried as an alternative. Initial results were very encouraging and so far MySQL has shown to be as fast or faster than Emu on all queries tested. MySQL is available for most Unix systems and for Windows systems (although a fee is payable for Windows users).

                Scripts are given here which convert an Emu database to ASCII tables and a set of instructions to import the tables into MySQL. Although I have no experience with other database systems I imagine that the scripts could be adopted to import the data into any relational database system (eg. Oracle, Microsoft SQL Server).

                Scripts

                The conversion script emu2dbase (a downloadable version is here) is written in Tcl using the Emu extensions. The script takes two parameters, a template name and a pattern matching utterances to be translated into the relational tables. A directory is created named after the template and four files are created in the directory:

                • database contains MySQL instructions to create the database and populate the tables.
                • tokens.db the tokens table, one line for each token, each token has a unique id.
                • links.db the links table, one line for each link between a pair of tokens. Tokens are identified by a unique id taken from the tokens table.
                • levels.db the levels table, one line for each level.

                The script can be given an flag -append which appends rows to the existing tables rather than deleting any existing tables. An example of the script usage is:

                emu2dbase children 'sp1:*'

                this will convert all utterances matching the pattern 'sp1:*' into tables for the relational model, with the results stored in a new directory children.

                The database, with the same name as the template file, is created by running MySQL with the database file as input:

                mysql < database

                this will delete any existing database, create a new one and create the appropriate tables for tokens, links and levels. These tables are then populated from the text files. The database can then be queried as per the examples in the paper.

                Results

                The results with MySQL are impressive, simple queries are very fast and even sequence and domination queries run in less time than the standard Emu query engine. Since the Emu engine searches all utterances sequentially, it will not scale well to very large databases. The SQL engine uses indexes to improve efficiency and should scale well, although further experimentation is required to verify this.

                Further developments will be posted here as we are able to do more experiments. Any comments are welcome.