Code and data for "Time-Varying Filters for Musical Applications"
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Time-Varying Filters for Musical Applications

This repository contains the code and data used by Time-Varying Filters for Musical Applications, submitted to the DAFx-14 conference.


The filtering code requires Eigen, libsndfile, and a modern C++ compiler and standard library supporting C++11. Clang and libc++ are recommended, but modern GCC should work as well, though it has not been tested.

Once these dependencies are installed, just run make in the code directory to generate the filter tool.

Generating stimuli

Note that the stimuli are included pre-generated in the data/stimuli folder, so it is not necessary to build the filter tool, except for the purpose of reproducibility.

The filter tool can be used to generate all the stimuli used in the subjective and objective tests. Its usage is:

./filter [filter type] [sine_hz|dc] [output_dir]

The second argument can either be a number, to generate a sine wave, for the listening tests, or "dc" to generate DC for the objective experiment. For the listening tests in the paper, a 100 Hz sine wave was used.

There is a python script, code/, which automatically generates all the stimuli used in the paper, by running the filter tool.


The data collected from the subjective listening test is included in the data/results folder. It was anonymized by running the code/ script, which removes dates and subjects' names. The data was output by MUSHRATest.


The code, consisting of everything in the code folder, is released under the BSD 3-Clause License. The data, consisting of everything in the data folder, is released under the Creative Commons CC0 1.0 Universal license. See code/ and data/ respectively for license details.