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.
wrassp
is a wrapper for R around Michel Scheffers's libassp
(Advanced Speech Signal Processor). The libassp library aims at providing functionality for handling speech signal files in most common audio formats and for performing analyses common in phonetic science/speech science. This includes the calculation of formants, fundamental frequency, root mean square, auto correlation, a variety of spectral analyses, zero crossing rate, filtering etc. This wrapper provides R with a large subset of libassp's signal processing functions and provides them to the user in a (hopefully) user-friendly manner.
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 visit this URL: https://ips-lmu.github.io/EMU.html.
install the current CRAN release:
install.packages("wrassp")
or install the latest development version from GitHub (as large parts of wrassp
are written in C
make sure your system fulfills the requirements for package development (see here)):
library(devtools)
install_github("IPS-LMU/wrassp", build_vignettes = TRUE)
load the library:
library("wrassp")
get path to an audio file:
path2wav <- list.files(system.file("extdata", package = "wrassp"), pattern = glob2rx("*.wav"), full.names = TRUE)[1]
calculate formants from audio file:
res=forest(path2wav, toFile=FALSE)
plot the first 100 F1 values over time:
plot(res$fm[1:100,1],type='l')
for more information see the An introduction to the wraspp package
vignette:
vignette('wrassp_intro')
acfana()
: Analysis of short-term autocorrelation functionafdiff()
: Computes the first difference of the signalaffilter()
: Filters the audio signal (see docs for types)cepstrum()
: Short-term cepstral analysiscssSpectrum()
: Cepstral smoothed version of dftSpectrum()
dftSpectrum()
: Short-term DFT spectral analysisforest()
: Formant estimationksvF0()
: F0 analysis of the signallpsSpectrum()
: Linear Predictive smoothed version of dftSpectrum()
mhsF0()
: Pitch analysis of the speech signal using Michel's/Modified Harmonic Sieve algorithmrfcana()
: Linear Prediction analysisrmsana()
: Analysis of short-term Root Mean Square amplitudezcrana()
: Analysis of the averages of the short-term positive and negative zero-crossing rates(see the respective R documentation for more details on all of these functions)
read.AsspDataObj()
: read an existing SSFF file into a AsspDataObj
which is its in-memory equivalent.write.AsspDataObj()
: write a AsspDataObj
out to a SSFF file.Prerequisite: docker is installed on your machine
docker pull rocker/r-devel
docker images
docker run --rm rocker/r-devel:latest R --version
docker run --rm -ti -v $(pwd):/wrassp -v wrassp_packages:/output rocker/r-devel:latest bash
In the interactive shell you just started:
apt update && apt install --yes pandoc tidy qpdf
RD -e 'install.packages(c("tibble","compare", "rmarkdown", "knitr", "testthat"))'
RD CMD build --resave-data wrassp
RD CMD check --as-cran wrassp_*.tar.gz
cp wrassp_*.tar.gz /output
docker pull kalibera/rchk
docker run --rm -v wrassp_packages:/rchk/packages kalibera/rchk:latest /rchk/packages/wrassp_x.y.z.tar.gz
libsonly/wrassp/libs/wrassp.so{maa|b|ffi}check
on the named docker volumeRaphael Winkelmann
Lasse Bombien
Markus Jochim (current maintainer)
Affiliations