Skip to content

AudioLabYork/EAD-Bus-Utility-Public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EAD Bus Utility

This repository contains source code associated with EAD Bus Utility. This utility is developed for Windows operating systems.

A public release of EAD Bus Utility is hosted via Zenodo The associated paper will be linked here upon publication.

This toolset allows manual input of content type metadata, gain control over content type groups across a Reaper session, and automatic classification of content type metadata using ML methods.

Contained in this repository is:

  • EAD Bus Utlity audio plugins source code.
  • EAD Bus Utility Reaper extension source code.
  • EAD Bus Utlity Pre-processing source code.

Additionally, EAD Bus Utility uses an executable which is created from a lightly modified copy of the python speech/music/fx previously developed by the BBC.

EAD Bus Utility audio plugins

The audio plugin interface for EAD Bus Utility consists of two audio plugins:

  • EAD Bus Control
  • EAD Bus Client

These audio plugins were created using the JUCE framework.

EAD Bus Control

This plugin acts as a metadata server for instances of EAD Bus Client. GUI allows gain control over audio content type groups (dialogue, soundtrack, fx), providing -48 dB of trim and flooring to -inf dB for each group. GUI also allows loading of the JSON generated by the EAD Classify Reaper extension, which assigns generated content type metadata across EAD Bus Client instances.

Only one instance of EAD Bus Control should exist in a single Reaper session. EAD Bus Control is currently hard-coded to listen on port 7211 for communication with instances of EAD Bus Client. This port should therefore be free. EAD Bus Control is transparent in terms of audio processing (handling only metadata)

EAD Bus Client

This plugin acts as the client module instance for EAD Bus Control. An instance of this plugin should exist on each track containing an audio object/bed. The plugin should be placed as an insert on the channel strip.

GUI allows manual input of content type.

The plugin applies gains associated with the assigned content type group. The plugin inherits I/O size from the channel width of the host DAW.

EAD Bus Client instances will automatically bind to and listen on a free port in the range 7010-7210 to communicate with EAD Bus Control.

EAD Bus Utility Reaper extension

The Reaper extension for EAD Bus Utility was created using the Lua ReaScript API and consists of:

  • EAD Classify Reaper extension, which integrates automated content type classification utlity for the EAD Bus Utility audio plugins.
  • EAD Reaper Helpers: A mini-lib of helper functions associated with EAD Bus Utility.
  • csv.lua, for csv file handling, sourced directly from Geoff Leyland's csv-lua module
  • json.lua, for json file handling, sourced directly from the RXI Lua JSON lib

EAD Bus Utility Pre-processing

The pre-processing python script provides conversion from arbitrary wavs exported from Reaper to mono 22.5kHz wav files as specified for VGGish input. This provides an alternative to manual format conversion with SOX as recommended in the BBC Classifier python script repo. In deployment of the EAD Bus Utility this python script is deployed as an executable using pyinstaller, and is called from the EAD Classify Reaper extension.

A lightly modified version of the BBC classifier

The automated classification python script is a lightly modified verison of the python speech/music/fx previously developed by the BBC. In deployment of the EAD Bus Utility this python script is deployed as an executable using pyinstaller, and is called from the EAD Classify Reaper extension with reference to supplementary files defining the relevant VGGish model.

Note that the VGGish links provided in the BBC classifier are now depricated. The updated links are currently: https://raw.githubusercontent.com/tensorflow/models/master/research/audioset/vggish/vggish_input.py https://raw.githubusercontent.com/tensorflow/models/master/research/audioset/vggish//mel_features.py https://raw.githubusercontent.com/tensorflow/models/master/research/audioset/vggish//vggish_params.py

About

Public repo containing source code for EAD Bus Utility

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published