To study the tonal aspects used by an artist in a performance, it is necessary to determine the exact frequencies used for particular notes. This project aims to develop a tool which will be useful for this purpose.
Details
The project has been implemented as a LADSPA plugin. The inputs taken from the user are a center frequency and a volume threshold.
The audio sample is first bandpass filtered around the center frequency with a bandwidth of around +/- three percent. This filtered sample is then examined and the time period of each cycle is determined. A histogram is generated with bins from (center frequency - three percent) to (center frequency + three percent). Each cycle with amplitude greater than the volume threshold is added to the appropriate bin in the histogram.
Issues
The plugin should work with any LADSPA host program. It has been tested with Audacity 1.2.0.
The plugin will work only on Linux systems. (The "L" in LADSPA stands for Linux)
The programs sox, gnuplot and gv are required for the plugin. These are usually part of any base Linux installation.
Download
The (GPLed) source code can be found here. Unzip the archive, examine the Makefile (and make changes if necessary). Then run make. This should produce histgen.so. This file should be placed in the LADSPA_PATH, so that your LADSPA host may load the plugin. For Audacity, placing the file in $HOME/.ladspa/ should do. The plugin appears as Frequency histogram generator in the Audacity effects menu.