← Back to all sparks
E

emuR

INFRA · APIS
Velocity0.0

Main Package of the EMU Speech Database Management System

The R half of the EMU speech database system, fixing what was quietly broken.

speech-sciencephoneticsannotationr-packagecorpus-toolsdatabase
Current state
emuR is the R interface to the EMU Speech Database Management System — loading annotated speech corpora, running hierarchical queries over annotation levels, extracting signal track data, and serving corpora to the EMU-webApp for browser-based annotation. It is at 2.6.0 on a slow cadence of roughly one release a year. Recent work has centred on the CRUD operations for annotation items and on widening what serve() can hand the web application.
Where it's heading
The releases read as a package being brought up to the standard its own API implied. delete_itemsInLevel() shipped in 2.1.1 as a first version, was described in 2.5.0 as heavily flawed and now usable, and the create/update/delete family is still called ongoing work. Alongside that, the query engine was rewritten onto CTEs and the signal-processing layer is being opened past the bundled wrassp, starting with Matlab. Speed work recurs — SQLite transactions, prepared statements, on-the-fly caching — consistent with corpora outgrowing the original design.
Prediction
Two threads are explicitly unfinished: the CRUD documentation and behaviour, described as ongoing, and the add_signalVia family, described as a draft starting with Matlab. Expect the next release to advance one of them rather than open new ground.

Recent moves

  1. 8mo ago

    emuR 2.6.0

    serve() accepts signal tracks stored as Rda and converts them to SSFF on the fly, removing a manual conversion step before corpora can be opened in the web application. Continues the pattern of widening what the browser-facing half will accept.

    View source ↗
  2. 1y ago

    emuR 2.5.1

    Drafts an add_signalVia family so signal processing can come from outside wrassp, beginning with Matlab. Explicitly a draft, but it is the first move toward treating the bundled signal-processing library as one option rather than the only one.

    View source ↗
  3. 1y ago

    emuR 2.5.0

    delete_itemsInLevel() is described as having been heavily flawed and now usable, and create_itemsInLevel() accepts more calling patterns. A core annotation-editing operation moving from nominally present to actually dependable, which is the thread running through this package's recent history.

    View source ↗
  4. 3y ago

    emuR 2.4.0

    Caches on-the-fly computations in get_trackData(), fixes a level attribute mixup in seglist generation, and works around a wrassp call that could crash the R session. Also the tidyverse 2.0.0 adaptation pass that kept CRAN checks green.

    View source ↗
  5. 5y ago

    emuR 2.3.0

    A long list of guard rails and ergonomics: directory checks, session and bundle pattern filters for listing, clearer warnings about heterogeneous sampling rates, cli-based summary output, and a query speedup from avoiding full table scans. Corpus-scale usability work rather than new capability.

    View source ↗
  6. 5y ago

    emuR 2.2.0

    The largest structural change in this window: hierarchical queries and requeries are rewritten on common table expressions and the EQL engine is cleaned up. Bundle saving and corpus serving get SQLite transaction and prepared-statement speedups, and spectrograms can be rendered as rasters using the web app's own drawing code.

    View source ↗