Skip to content

Releases: hsercanatli/pitchfilter

pitchfilter v1.2.1

Choose a tag to compare

@sertansenturk sertansenturk released this 08 Jun 21:07

pitchfilter

Repository for post-processing pitch tracks to filter erroneous estimations and correct octave errors.

Introduction

This repository implements the post-filtering methodology explained in Bozkurt, B. (2008).

Given a pitch track, the algorithm:

  • corrects octave errors
  • removes noisy regions
  • removes small chunks
  • removes extremely high or low pitch estimations

Usage

The method accepts numpy arrays, where the first column holds the time stamps (in seconds), the second column holds the frequencies (in Hz) and the third column holds the pitch saliences/confidence.

In the following example, the algorithm filters the pitch track of feda89e3-a50d-4ff8-87d4-c1e531cc1233 extracted using Predominant Melody Extractor repository.

import json
from pitchfilter.PitchFilter import PitchFilter
import numpy

# reading extracted pitch from json
pitch = numpy.array(json.load(open("sample_data/feda89e3-a50d-4ff8-87d4-c1e531cc1233.json", 'r'))['pitch'])

# filtering the extracted pitch
flt = PitchFilter()
pitch_filt = flt.run(pitch)

Installation

If you want to install pitchfilter, it is recommended to install the repository and its dependencies into a virtualenv.

In the terminal, do the following:

virtualenv env
source env/bin/activate
python setup.py install

If you want to be able to edit files and have the changes be reflected, then install the package like this instead:

pip install -e .

Changelog

  • Temporary fix for the chunk computation to output numpy arrays

Authors

Hasan Sercan Atlı hsercanatli@gmail.com
Sertan Senturk contact@sertansenturk.com

References

Bozkurt, B. (2008). An automatic pitch analysis method for turkish maqam music. Journal of New Music Research, 37(1), 1-13.

pitchfilter v1.2

Choose a tag to compare

@sertansenturk sertansenturk released this 08 May 03:39

pitchpostfilter

Repository for post-processing pitch tracks to filter erroneous estimations and correct octave errors.

Introduction

This repository implements the post-filtering methodology explained in Bozkurt, B. (2008).

Given a pitch track, the algorithm:

  • corrects octave errors
  • removes noisy regions
  • removes small chunks
  • removes extremely high or low pitch estimations

Usage

The method accepts numpy arrays, where the first column holds the time stamps (in seconds), the second column holds the frequencies (in Hz) and the third column holds the pitch saliences/confidence.

In the following example, the algorithm filters the pitch track of feda89e3-a50d-4ff8-87d4-c1e531cc1233 extracted using Predominant Melody Extractor repository.

import json
from pitchfilter.pitchfilter import PitchPostFilter

# reading extracted pitch from json
pitch = json.load(open("sample_data/feda89e3-a50d-4ff8-87d4-c1e531cc1233.json", 'r'))['pitch']

# filtering the extracted pitch
flt = PitchPostFilter()
pitch = flt.run(pitch)

Installation

If you want to install pitch-post-filter, it is recommended to install the repository and its dependencies into a virtualenv.

In the terminal, do the following:

virtualenv env
source env/bin/activate
python setup.py install

If you want to be able to edit files and have the changes be reflected, then
install compmusic like this instead

pip install -e .

Changelog v1.2 via Pull request 8

  • Renamed the PitchFilter class and filename
  • Added unittests

Authors

Hasan Sercan Atlı hsercanatli@gmail.com
Sertan Senturk contact@sertansenturk.com

References

Bozkurt, B. (2008). An automatic pitch analysis method for turkish maqam music. Journal of New Music Research, 37(1), 1-13.

pitch-post-filter v1.1-tomato

Choose a tag to compare

@sertansenturk sertansenturk released this 15 Mar 00:15

pitch-post-filter

Introduction

Repository for post-processing pitch tracks to filter erroneous estimations and correct octave errors.

This repository implements the post-filtering methodology explained in Bozkurt, B. (2008).

Given a pitch track, the algorithm:

  • corrects octave errors
  • removes noisy regions
  • removes small chunks
  • removes extremely high or low pitch estimations

Usage

The method accepts numpy arrays, where the first column holds the time stamps (in seconds), the second column holds the frequencies (in Hz) and the third column holds the pitch saliences/confidence.

In the following example, the algorithm filters the pitch track of feda89e3-a50d-4ff8-87d4-c1e531cc1233 extracted using Predominant Melody Extractor repository.

import json
from pitchfilter.pitchfilter import PitchPostFilter

# reading extracted pitch from json
pitch = json.load(open("sample_data/feda89e3-a50d-4ff8-87d4-c1e531cc1233.json", 'r'))['pitch']

# filtering the extracted pitch
flt = PitchPostFilter()
pitch = flt.run(pitch)

Please refer to the demo.ipynb for an interactive demo.

Installation

If you want to install pitch-post-filter, it is recommended to install the repository and its dependencies into a virtualenv.

In the terminal, do the following:

virtualenv env
source env/bin/activate
python setup.py install

If you want to be able to edit files and have the changes be reflected, then install the repository like this instead:

pip install -e .

Now you can install the rest of the dependencies:

pip install -r requirements

v1.1-tomato

  • Releasing the branch to be used in the (tomato repository)[https://github.com/sertansenturk/tomato]
  • Refactoring according to PEP8
  • Added travis integration

Author

Hasan Sercan Atlı
hsercanatli@gmail.com

Contributors

Sertan Şentürk (packaging)
contact@sertansenturk.com

References

Bozkurt, B. (2008). An automatic pitch analysis method for turkish maqam music. Journal of New Music Research, 37(1), 1-13.

pitch-post-filter v1.0

Choose a tag to compare

@hsercanatli hsercanatli released this 24 Jan 19:31

pitch-post-filter

Introduction

Repository for post-processing pitch tracks to filter erroneous estimations and correct octave errors.

This repository implements the post-filtering methodology explained in Bozkurt, B. (2008).

Given a pitch track, the algorithm:

  • corrects octave errors
  • removes noisy regions
  • removes small chunks
  • removes extremely high or low pitch estimations

Usage

The method accepts numpy arrays, where the first column holds the time stamps (in seconds), the second column holds the frequencies (in Hz) and the third column holds the pitch saliences/confidence.

In the following example, the algorithm filters the pitch track of feda89e3-a50d-4ff8-87d4-c1e531cc1233 extracted using Predominant Melody Extractor repository.

import json
from pitchfilter.pitchfilter import PitchPostFilter

# reading extracted pitch from json
pitch = json.load(open("sample_data/feda89e3-a50d-4ff8-87d4-c1e531cc1233.json", 'r'))['pitch']

# filtering the extracted pitch
flt = PitchPostFilter()
pitch = flt.run(pitch)

Installation

If you want to install pitch-post-filter, it is recommended to install the repository and its dependencies into a virtualenv.

In the terminal, do the following:

virtualenv env
source env/bin/activate
python setup.py install

If you want to be able to edit files and have the changes be reflected, then
install compmusic like this instead

pip install -e .

Now you can install the rest of the dependencies:

pip install -r requirements

Author

Hasan Sercan Atlı
hsercanatli@gmail.com

Contributors

Sertan Şentürk (packaging)
contact@sertansenturk.com

References

Bozkurt, B. (2008). An automatic pitch analysis method for turkish maqam music. Journal of New Music Research, 37(1), 1-13.