clarity-challenge-2021-enhancer

An MVDR beamformer designed to comply with the rules of the 2021 Clarity Enhancement Challenge.

Installation

This repository includes submodules so for a one line clone do

git clone --recurse-submodules https://github.com/alastairhmoore/clarity-challenge-2021-enhancer.git

The beamformer uses the head related impulse responses (HRIRs) which are downloaded when the clarity challenge tools are installed. Alternatively, they can be obtained directly from the original webpage. Either way, you will need to know the path where these are saved.

Usage

In Matlab...

cd 'path/to/clarity-challenge-2021-enhancer'
 
% add paths of subdirectories
setup

% specify path of folder which is the parent of the 'HRIRs_MAT' directory
% if you skip this step you'll be asked to pick it
hrir_dir = 'path/to/hrirs'

% run the enhancer using data distributed in this repository
% feel free to modify!
example

Notes

  1. The hearing loss compensation component of the enhancer depends on the gain table generated by the baseline system and stored in a openmha .cfg file. We include here an example generated for a user with no hearing loss so that the enhancer can be run with any external dependencies. To make a .cfg file for a specific hearing loss we used the the clarity challenge tools with a small modifcation to clarity_CEC1/projects/GHA/GHA/hearing_aid_interface.py so that it doesn't delete its temporary files. Included in this repository is a patched version of that file.
  2. The example runs the enhancer as a 'one shot' function. This is convenient but slow, especially if processing large numbers of files in a loop. Dig into the code and you will discover places where data structures can be precomputed and passed in to speed things up.