be.hogent.tarsos.sampled.pitch
Class IPEMPitchDetection

java.lang.Object
  extended by be.hogent.tarsos.sampled.pitch.IPEMPitchDetection
All Implemented Interfaces:
PitchDetector

public final class IPEMPitchDetection
extends java.lang.Object
implements PitchDetector

The IPEM_SIX Pitch detector uses an auditory model for polyphonic pitch tracking. More information can be found in following papers: Factors affecting music retrieval in query-by-melody De Mulder, Tom; Martens, Jean; PAUWS, S; VIGNOLI, F et al. IEEE TRANSACTIONS ON MULTIMEDIA (2006) Recent improvements of an auditory model based front-end for the transcription of vocal queries De Mulder, Tom; MARTENS, J; Lesaffre, Micheline; Leman, Marc et al. 2004 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, VOL IV, PROCEEDINGS (2004) An Auditory Model Based Transcriber of Vocal Queries De Mulder, Tom; Martens, Jean; Lesaffre, Micheline; Leman, Marc et al. Proceedings of the Fourth International Conference on Music Information Retrieval (ISMIR) 2003 (2003) The text file generated by the pitch detector consists of 12 columns: 6 times a frequency in Hertz followed by a probability. The frequencies are ordered by their respective probabilities.

Author:
Joren Six

Constructor Summary
IPEMPitchDetection(AudioFile audioFile, PitchDetectionMode detectionMode)
           
 
Method Summary
 java.util.List<Annotation> executePitchDetection()
          Execute the pitch detection process.
 java.util.List<Annotation> getAnnotations()
           
 java.lang.String getName()
           
 double progress()
          Calculate and return an indicator for progress.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IPEMPitchDetection

public IPEMPitchDetection(AudioFile audioFile,
                          PitchDetectionMode detectionMode)
Parameters:
audioFile - The file to detect pitch for
detectionMode - Defines the detection mode used.
Method Detail

executePitchDetection

public java.util.List<Annotation> executePitchDetection()
Description copied from interface: PitchDetector
Execute the pitch detection process.

Specified by:
executePitchDetection in interface PitchDetector
Returns:
Returns a list of detected pitches, encapsulated in an annotation object.

getName

public java.lang.String getName()
Specified by:
getName in interface PitchDetector
Returns:
the name of the detector possibly with parameters e.g. aubio_YIN

getAnnotations

public java.util.List<Annotation> getAnnotations()
Specified by:
getAnnotations in interface PitchDetector
Returns:
a list of annotated samples

progress

public double progress()
Description copied from interface: PitchDetector
Calculate and return an indicator for progress.

Specified by:
progress in interface PitchDetector
Returns:
A value between 0.0 and 100. Indicating the progress made in percentage. Or -1 if the task has an indeterminate duration.