Learn R Programming

emuR - Main package of the EMU Speech Database Management System

Out of funding

Unfortunately, the EMU-SDMS is currently out of funding.

We at the IPS will do what we can to fix bugs, security issues or necessary adjustments to new versions of R; but we cannot currently work on new features or performance improvements.

We would be very glad if funding in academia allowed for more technical staff to maintain software used by the research community.

Introduction

The emuR package provides the next iteration of the EMU Speech Database Management System (EMU-SDMS) with database management, data extraction, data preparation and data visualization facilities. It also contains a server that is intended to host databases in the emuDB format (see vignette('emuDB_intro')) to the EMU-webApp (http://ips-lmu.github.io/EMU-webApp/). The querying of annotations is performed using EMU's own EQL2 (EMU Query Language Version 2).

This package is part of the next iteration of the EMU Speech Database Management System which aims to be as close to an all-in-one solution for generating, manipulating, querying, analyzing and managing speech databases as possible. For an overview of the system please see http://ips-lmu.github.io/EMU.html and/or https://doi.org/10.1016/j.csl.2017.01.002 .

Installation

install.packages("emuR")

As this also installs all of the dependencies (incl. the wrassp package) this is the only installation step necessary to install the EMU-SDMS on your system. The only other requirement of the EMU-SDMS is a modern web browser (Chrome (recommended!) / Firefox / ...) which most people should already have on their systems.

Quick start

For more information see the The EMU-SDMS Manual

For Beta Testers

Installation (two alternative methods)

  • Either install the latest development version from GitHub using the devtools package (preferred method):
library(devtools)
install_github("IPS-LMU/emuR", build_vignettes = TRUE)
  • Or download the package from GitHub manually, then install it with the following command:
install.packages("path/to/emuR", repos = NULL, type="source")

For Developers

Prerequisite: Docker is installed on your machine

Build and check package using Docker image rocker/r-devel

  • Pull current r-devel image: docker pull rocker/r-devel
  • Check if pull worked: docker images
  • Check R version in image: docker run --rm rocker/r-devel:latest R --version
  • Check R-devel version in image: docker run --rm rocker/r-devel:latest RD --version
  • Run a container with an interactive shell, mounting the emuR project folder (that is, the current directory) and a named docker volume for the output tarball: docker run --name emuR-checks -ti -v $(pwd):/source -v r_packages:/output rocker/r-devel:latest bash

In the interactive shell you just started:

  • Manually install OS dependencies (this might need a bit of tweaking): apt update && apt install --yes r-cran-tidyverse r-cran-uuid r-cran-base64enc r-cran-shiny r-cran-rsqlite r-cran-dbi r-cran-httpuv r-cran-mime r-cran-v8 r-cran-tidyselect r-cran-mass r-cran-testthat r-cran-knitr r-cran-rmarkdown
  • Manually install R dependencies (this might also need a bit of tweaking): RD -e "install.packages(c('wrassp', 'compare', 'matlabr', 'R.matlab'))" Most R packages are actually installed as OS dependency via apt to save compilation time
  • Build: RD CMD build --resave-data source/
  • Check: R_LIBS_SITE="/usr/lib/R/site-library" RD CMD check --as-cran emuR_*.tar.gz
  • Copy the built package to the named docker volume, so it can be shared with other containers that might, for example, run additional checks: cp emuR_*.tar.gz /output

Copy Link

Version

Install

install.packages('emuR')

Monthly Downloads

455

Version

2.6.0

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Markus Jochim

Last Published

December 20th, 2025

Functions in emuR (2.6.0)

SetGetRemoveLegalLabels

Set / Get / Remove legal labels of attributeDefinition of emuDB
add_signalViaMatlab

add_signalViaMatlab
AddListRemoveLabelGroup

Add / List / Remove global labelGroup to / of / from emuDB
add_files

Add files to emuDB
AddListRenameRemoveAttributeDefinitions

Add / List / Rename / Remove attribute definition to / of / from emuDB
bayes.lab

bayes lab
bark

Convert Hertz to Bark and Bark to Hertz
bayes.dist

bayes dist
AddListRemoveAttrDefLabelGroup

Add / List / Remove labelGroup to / of / from attributeDefinition of emuDB
autobuild_linkFromTimes

Autobuild links between two levels using their time information
bind

class method bind data
as.matrix.emusegs

as.matrix.emusegs
bind.default

data binding
bind.trackdata

bind trackdata
classplot

Produce a classification plot from discriminant or SVM modelling
bridge

Three-columned matrix
as.spectral

Function to convert an object into an object of class 'spectral'.
bayesian.metric

bayesian metric
buildtrack

Build trackdata objects from the output of by()
bayesplot

bayesplot
classify

classify
convert_txtCollection

Converts a collection of audio files and plain text transcriptions into an emuDB
as.trackdata

Create an Emu trackdata object
by.trackdata

A method of the generic function by for objects of class 'trackdata'
coutts

Segment list of words, read speech, female speaker of Australian English from database epgcoutts
convert_wideToLong

convert tracks of a tibble trackdata object to the long form
Slope.test

Slope Test
coutts.epg

EPG-compressed trackdata from the segment list coutts
cbind.trackdata

A method of the generic function cbind for objects of class 'trackdata'
coutts.sam

Trackdata of acoustic waveforms from the segment list coutts
dbnorm

Function to dB-normalise spectral objects
coutts2.sam

Trackdata of acoustic waveforms from the segment list coutts2
cr

Plot digital sinuoids.
closest

closest
coutts2.l

Vector of word label from the segment list coutts2
coutts2.epg

EPG-compressed trackdata from the segment list coutts2
dcut

Function to extract a vector or matrix from EMU-Trackdata at a single time point of to create another EMU-trackdata object between two times.
dct

Discrete Cosine Transformation
demo.all.f0

F0 track data for segment list demo.vowels
demo.all

Emu segment list
dbtopower

Function for inter-converting between decibels and a linear scale
create_emuDB

Create empty emuDB
convert_BPFCollection

Convert a Bas Partitur File Collection (audio and BAS Partitur files) to an emuDB
create_spectrogram_image_as_raster

Create spectrogram image as raster
demo.all.fm

Formant track data for segment list demo.vowels
create_links

create links between items
crplot

Function to plot a digital sinusoid and the circle from which it is derived.
dapply

apply a function to each part of a trackdata object
coutts2

Segment list, same as coutts but at a slower speech rate
demo.all.rms

Emu track data for a rms track for segment list demo.all
dextract.lab

Extract a subset of data from a trackdata object
dplot

A function to plot one or more columns of EMU-trackdata as a function of time (DEPRECATED see below)
duplicate_level

Duplicate level
dsmooth

Smooth the data in a trackdata object.
delete_itemsInLevel

Delete items programmatically
ddiff

Differentiation of tracks
create_itemsInLevel

Create new items programmatically
create_emuRdemoData

Create demo data for the emuR package
create_emuRtrackdata

create emuRtrackdata object
dtime

time signal times
emuRsegs

emuR segment list
demo.vowels.fm

Formant track data for segment list demo.vowels
dim.trackdata

A method of the generic function dim for objects of class 'trackdata'
dextract

Extract a subset of data from a trackdata object
dip.spkr

Vector of speaker labels from the segment list dip
emusegs.type

segment list type
convert_TextGridCollection

Convert a TextGridCollection (e.g. .wav & .TextGrid files) to emuDB
cen.sub

Subfunction of cen
demo.vowels

Emu segment List
convert_legacyEmuDB

Convert legacy EMU database to the emuDB format
coutts.rms

rms Data to coutts segment list
emuRtrackdata

emuR track data object
engassim.w

Vector of word labels from the segment list engassim.
engassim

Segment list of a sequence of syllable final n or N preceding k or g , isolated words single speaker, Australian English female from database epgassim.
epgai

Electropalatographic contact indices
demo.vowels.f0

F0 track data for segment list demo.vowels
dip.fdat

Trackdata of formants from the segment list dip
coutts.l

Vector of word label from the segment list coutts
dur.trackdata

Duration of trackdata elements
euclidean

Find the inter-euclidean distance for a data matrix
e.dft

Spectral vector of a single E vowel produced by a male speaker of Standard North German.
dip.l

Vector of phoneme labels from the segment list dip
eplot

Plot ellipses for two-dimensional data (DEPRECATED see below)
engassim.l

Vector of phonetic labels from the segment list engassim: nK = nk,ng , sK = sk,sg
engassim.epg

EPG-compressed trackdata from the segment list engassim
export_seglistToTxtCollection

Exports a segment list to txt collection
epgsum

Sum contacts in palatograms.
epgplot

Plot palatographic data
export_TextGridCollection

Export annotations of emuDB to TextGrid collection
get.trackkeywrd

get trackkeywrd
ellipse

Calculate ellipse coordinates
fric.w

Vector of word labels from the segment list fric.
fric.l

Vector of labels from the segment list fric
distance

distance
dur

duration
dimnames.trackdata

Dimnames of trackdata object
emusegs.database

emusegs database
dip

Segment list of diphthongs, two speakers one male, one female , Standard North German, read speech from database kielread
dur.emusegs

Duration of segments (NOTE: does not work for new default resultType = "tibble" of query())
frames

frames
fapply

Function that applies a function to an EMU spectral object
frames.time

Find the time and position of a data element.
emuR-package

emuR - Main Package of the EMU Speech Database Management System
epggs

Plot a grey-scale image of palatographic data.
epgcog

Electropalatographic centre of gravity
expand_labels

Label each data sample
isol.fdat

Trackdata of formants from the segment list isol
isol

Segment list of vowels in a d d context isolated word speech, one male speaker of Australian English from database isolated.
export_BPFCollection

Exports an emuDB into a BAS Partitur File (BPF) Collection
get.time.element

Get data for a given time
linear

Perform linear time normalisation on trackdata.
label_convert

convert label
linear.av

linear av
lob.sub

lob sub
is.spectral

Function to test whether the object is of class "spectral"
load_emuDB

Load emuDB
get_trackdata

Get trackdata from loaded emuDB
isol.l

Vector of vowel phoneme labels from the segment list isol
gerst.sub

gerst sub
is.trackdata

Test whether an object is an Emu trackdata object
makelab

Write out ESPS-style label files
fric.dft

Spectral trackdata object from the segment list fric.
fric

Segment list of word-medial s or z one male speaker of Standard North German, read speech from database kielread.
mel

Convert Hz to the mel scale
label_num

num label
outliers

outliers
matscan

Read matrix data from a file
palate

Obtain a three-dimensional palatographic array
emusegs.query

emusegs query
mel.default

mel default
polhom.l

Vector of phonetic labels from the segment list polhom
polygonplot

polygonplot
norm

Normalise speech data
label

Get labels / utterances from segment list
list_bundles

List bundles of emuDB
freqtoint

Function to find the column number corresponding to frequencies of a spectral object
is.seglist

is seglist
make.emuRsegs

Make emuDB segment list
import_mediaFiles

Import media files to emuDB
resample_annots

Resample annotations (_annot.json) files of emuDB
list_files

List files of emuDB
mahal

Classify using Mahalanobis distance
modify.seglist

Modify one of the components of an Emu segment list
locus

Calculate locus equations for two-dimensional data
mu.colour

Function for specifying color, linetype, and line-widths in EMU plotting functions.
make.seglist

Make an Emu segment list from the various components
requery_seq

Requery sequential context of segment list in an emuDB
list_sampleRates

List sample rates of media and annotation (_annot.json) files
muclass

Find common elements in vectors
moments

Function to calculate statistical moments
mu.colour.get

get a EMU color
list_sessions

List sessions of emuDB
normalize_length

Normalize length of segments contained in a data.frame like object returned by get_trackdata
print.emuRtrackdata

Print emuRtrackdata object
query

Query emuDB
print.emuRsegs

Print emuRsegs segment list
runBASwebservice_pho2sylSegmental

Creates a syllable segmentation on the basis of a phonetic segmentation.
mahal.dist

Calculate mahalanobis distances
perform

Performance (hit rate) of a confusion matrix
segmentlist

Segment list
mahalanobis.metric

mahalanobis metric
[.EPG

expand EPG
[.spectral

Expand spectral
read_bundleList

read bundleList
rescale.gerst

rescale gerst
plafit

Calculate the coefficients of a parabola
rescale.lob

rescale lob
read.emusegs

Create an Emu segment list from a file
rad

Function to convert between Hertz and Radians
runBASwebservice_minni

Creates a rough phonetic segmentation by running the phoneme decoder webservice MINNI.
sort.emuRsegs

Sort emuRsegs segment list by session, bundle and sample_start
runBASwebservice_pho2sylCanonical

Adds syllabified word labels to a word level that already contains canonical pronunciations.
runBASwebservice_g2pForTokenization

Tokenizes an orthographic transcription.
print.emusegs

print emusegs
randomise.segs

Randomise or Reverse items in a segment list
polhom

Segment list of four Polish homorganic fricatives from database epgpolish.
sortmatrix

Sort matrix by label
radians

Converts degrees to radians
vowlax.left

Vector of labels preceding the vowels from the segment list vowlax
polhom.epg

EPG-compressed trackdata from the segment list polhom
nearey.sub

nearey sub
runBASwebservice_maus

Runs MAUS webservice to create a phonetic segmentation
vowlax.right

Vector of labels following the vowels from the segment list vowlax
print.trackdata

print trackdata
summary.emuDBhandle

Print summary of loaded EMU database (emuDB).
[.trackdata

Expand trackdata
runBASwebservice_chunker

Creates a chunk segmentation using the webservice Chunker.
runBASwebservice_all

Runs several BAS webservices, starting from an orthographic transcription
runBASwebservice_g2pForPronunciation

Creates canonical pronunciation attributes for a tier of tokenized orthographical words.
splitstring

Split a string into words.
vowlax

Segment list of four lax vowels, read speech, one male and one female speaker of Standard North German from database kielread.
rescale.nearey

rescale nearey
track.gradinfo

Calculate gradient summary information for trackdata
track.gradinfo.sub

track gradinfo sub
mu.linetype.get

mu linetype get
plot.spectral

Plot spectra from EMU spectral objects
rename_bundles

Rename bundles in emuDB
start.emusegs

Start and end times for EMU segment lists and trackdata objects
vowlax.df

Data frame of various parameters and labels from the segment list vowlax
mu.legend

make a EMU legend
rbind.trackdata

A method of the generic function rbind for objects of class trackdata
trackfreq

function to find the frequencies of a spectral object
trackdata

Track data object
vowlax.spkr

Vector of speaker labels from the segment list vowlax.
plot.trackdata

Produces time-series plots from trackdata
rdaTrackToSsff

Converts a signal track from Rda to SSFF
replace_itemLabels

Replace item labels
vowlax.word

Vector of word labels from the segment list vowlax.
vowlax.rms.5

Vector of RMS energy values at the temporal midpoint extracted at the temporal midpoint from the segment list vowlax
train

Train a Gaussian Model
tracktimes

Get the track times from EMU trackdata objects
vowlax.rms

Trackdata of RMS energy from the segment list vowlax
requery_hier

Requery hierarchical context of a segment list in an emuDB
vowlax.fund.5

Vector of fundamental frequency extracted at the temporal midpoint from the segment list vowlax.
vowlax.dft.5

Spectral matrix centred at the temporal midpoint of the vowels from the segment list vowlax.
vowlax.fdat

Trackdata of formants from the segment list vowlax
write.emusegs

Write an Emu segment list to a file
wordlax.l

Vector of word labels from segment list wordlax
vowlax.fdat.5

Matrix of formant data extracted at the temporal midpoint from the segment list vowlax.
rename_emuDB

Rename emuDB
write_bundleList

write bundleList
update_itemsInLevel

Update items programmatically
shift

Function to shift the elements of a vector.
vowlax.l

Vector of phoneme labels from the segment list vowlax
vowlax.fund

Trackdata of fundamental frequency from the segment list vowlax
serve

Serve EMU database to EMU-webApp
summary.trackdata

summary trackdata
trapply

A method of the generic function by for objects of class 'trackdata'
summary.emusegs

summary emusegs