Skip to content

Releases: sertansenturk/predominantmelodymakam

predominantmelodymakam v1.3.0

29 Jan 00:30
0584bf8
Compare
Choose a tag to compare

GitHub version Build Status Code Climate DOI License: AGPL v3

predominantmelodymakam

Predominant melody extraction for makam music

This repository hosts the Python (2 & 3) implementation of the predominant melody extraction method proposed for makam music in:

Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, pages 142–153, Ankara, Turkey.

If you are using this extractor please cite the above paper.

The extractor is based on the methodology by [2]. The contour selection step in [2] is trained on the specific characteristics of Western pop music and jazz. We remove this step and use a simplified contour selection step by selecting the longest contour at each time instance and discarding all other contours. Then we use the method proposed in [3] to remove the erroneous pitch estimations and correct octave errors.

Usage

from predominantmelodymakam.predominantmelodymakam import PredominantMelodyMakam
extractor = PredominantMelodyMakam()
results = extractor.run(audiofile)

Please refer to demo.ipynb for an interactive demo.

Changelog

  • Added Python 3 support (contribution by Oriol Romani: #10)

Installation

If you want to install the repository, it is recommended to install the package and 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 repo like this instead:

pip install -e .

Now you can install the rest of the dependencies:

pip install -r requirements

The algorithm uses several modules in Essentia. Follow the instructions to install the library.

FOR PYTHON 2 ONLY: You should link the python bindings of Essentia in the virtual environment:

ln -s /usr/local/lib/python2.7/dist-packages/essentia env/lib/python2.7/site-packages

To run the demo.ipynb Jupyter notebook, you need to install jupyter and matplotlib:

pip install matplotlib jupyter

Authors

Hasan Sercan Atlı [email protected]
Sertan Senturk [email protected]

License

The source code hosted in this repository is licensed under Affero GPL version 3.

The extracted predominant melody and the figure in this repository are licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Acknowledgements

We would like to thank Dr. Robert Garfias for allowing us to use his makam music collection in our research (in this repository the recording with MBID: d2731692-626d-4a6d-9b67-a70c9e7b9745).

References

[1] Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.
[2] Salamon, J., Gómez, E. (2012). "Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics", IEEE Transactions on Audio, Speech and Language Processing, 20(6):1759-1770
[3] Bozkurt, B. (2008). "An Automatic Pitch Analysis Method for Turkish Maqam Music," Journal of New Music Research. 37(1):1-13.

predominantmelodymakam v1.2.2

05 Feb 20:51
Compare
Choose a tag to compare

GitHub version Build Status Code Climate DOI License: AGPL v3

predominantmelodymakam

Predominant melody extraction for makam music

This repository hosts the implementation of the predominant melody extraction proposed for makam music in:

Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, pages 142–153, Ankara, Turkey.

If you are using this extractor please cite the above paper.

The extractor is based on the methodology by [2]. The contour selection step in [2] is trained on the specific characteristics of Western pop music and jazz. We remove this step and use a simplified contour selection step by selecting the longest contour at each time instance and discarding all other contours. Then we use the method proposed in [3] to remove the erroneous pitch estimations and correct octave errors.

Usage

from predominantmelodymakam.predominantmelodymakam import PredominantMelodyMakam
extractor = PredominantMelodyMakam()
results = extractor.run(audiofile)

Please refer to demo.ipynb for an interactive demo.

Changelog

  • Corrected the name of the 'pitchfilter' package in the requirements file.
  • Fixed a bug where the while loop fails directly when the audio input is very short.

Installation

If you want to install the repository, it is recommended to install the package and 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 repo like this instead:

pip install -e .

Now you can install the rest of the dependencies:

pip install -r requirements

The algorithm uses several modules in Essentia. Follow the instructions to install the library. Then you should link the python bindings of Essentia in the virtual environment:

ln -s /usr/local/lib/python2.7/dist-packages/essentia env/lib/python2.7/site-packages

Authors

Hasan Sercan Atlı [email protected]
Sertan Senturk [email protected]

Acknowledgements

We would like to thank Dr. Robert Grafias for allowing us to use his makam music collection in our research (in this repository the recording with MBID: d2731692-626d-4a6d-9b67-a70c9e7b9745).

References

[1] Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.
[2] Salamon, J., Gómez, E. (2012). "Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics", IEEE Transactions on Audio, Speech and Language Processing, 20(6):1759-1770
[3] Bozkurt, B. (2008). "An Automatic Pitch Analysis Method for Turkish Maqam Music," Journal of New Music Research. 37(1):1-13.

predominantmelodymakam v1.2.1

15 Dec 20:59
Compare
Choose a tag to compare

GitHub version Build Status Code Climate DOI

predominantmelodymakam

Predominant melody extraction for makam music

This repository hosts the the implementation of the predominant melody extraction proposed for makam music in:

Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, pages 142–153, Ankara, Turkey.

If you are using this extractor please cite the above paper.

The extractor is based on the methodology by [2]. The contour selection step in [2] is trained on the specfic characteristics of Western pop music and jazz. We remove this step and use a simplified contour selection step by selecting the longest contour at each time instance and discarding all other contours. Then we use the method proposed in [3] to remove the erroneous pitch estimations and correct octave errors.

Usage

from predominantmelodymakam.predominantmelodymakam import PredominantMelodyMakam
extractor = PredominantMelodyMakam()
results = extractor.run(audiofile)

Please refer to demo.ipynb for an interactive demo.

Changelog

  • Fixed a bug where the extract() method was not returning anything

Installation

If you want to install the repository, it is recommended to install the package and 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 repo like this instead:

pip install -e .

Now you can install the rest of the dependencies:

pip install -r requirements

The algorithm uses several modules in Essentia. Follow the instructions to install the library. Then you should link the python bindings of Essentia in the virtual environment:

ln -s /usr/local/lib/python2.7/dist-packages/essentia env/lib/python2.7/site-packages

Authors

Hasan Sercan Atlı [email protected]
Sertan Senturk [email protected]

Acknowledgements

We would like to thank Dr. Robert Grafias for allowing us to use his makam music collection in our research (in this repository the recording with MBID: d2731692-626d-4a6d-9b67-a70c9e7b9745).

References

[1] Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.
[2] Salamon, J., Gómez, E. (2012). "Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics", IEEE Transactions on Audio, Speech and Language Processing, 20(6):1759-1770
[3] Bozkurt, B. (2008). "An Automatic Pitch Analysis Method for Turkish Maqam Music," Journal of New Music Research. 37(1):1-13.

predominantmelodymakam v1.2.0

08 May 03:43
Compare
Choose a tag to compare

GitHub version Build Status Code Climate DOI

predominantmelodymakam

Predominant melody extraction for makam music

This repository hosts the the implementation of the predominant melody extraction proposed for makam music in:

Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, pages 142–153, Ankara, Turkey.

If you are using this extractor please cite the above paper.

The extractor is based on the methodology by [2]. The contour selection step in [2] is trained on the specfic characteristics of Western pop music and jazz. We remove this step and use a simplified contour selection step by selecting the longest contour at each time instance and discarding all other contours. Then we use the method proposed in [3] to remove the erroneous pitch estimations and correct octave errors.

Usage

from predominantmelodymakam.predominantmelodymakam import PredominantMelodyMakam
extractor = PredominantMelodyMakam()
results = extractor.run(audiofile)

Please refer to demo.ipynb for an interactive demo.

Installation

If you want to install the repository, it is recommended to install the package and 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 repo like this instead:

pip install -e .

The algorithm uses several modules in Essentia. Follow the instructions to install the library. Then you should link the python bindings of Essentia in the virtual environment:

ln -s /usr/local/lib/python2.7/dist-packages/essentia env/lib/python2.7/site-packages

Changelog

  • Added the pitchfilter repository as a fallback if the Essetian PitchFilter does not work due to Essentia version problem (e.g. the official version for Ubuntu 14.04).
  • Added flake8 checking to Travis CI

Authors

Hasan Sercan Atlı [email protected]
Sertan Senturk [email protected]

Acknowledgements

We would like to thank Dr. Robert Grafias for allowing us to use his makam music collection in our research (in this repository the recording with MBID: d2731692-626d-4a6d-9b67-a70c9e7b9745).

References

[1] Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.
[2] Salamon, J., Gómez, E. (2012). "Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics", IEEE Transactions on Audio, Speech and Language Processing, 20(6):1759-1770
[3] Bozkurt, B. (2008). "An Automatic Pitch Analysis Method for Turkish Maqam Music," Journal of New Music Research. 37(1):1-13.

predominantmelodymakam v1.1

08 Mar 11:20
Compare
Choose a tag to compare

predominantmelodymakam

Predominant melody extraction for makam music

This repository hosts the the implementation of the predominant melody extraction proposed for makam music in:

Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.

If you are using this extractor please cite the above paper.

The extractor is based on the methodology by [2]. The contour selection step in [2] is trained on the specfic characteristics of Western pop music and jazz. We remove this step and use a simplified contour selection step by selecting the longest contour at each time instance and discarding all other contours. Then we use the method proposed in [3] to remove the erroneous pitch estimations and correct octave errors.

Usage

from predominantmelodymakam.PredominantMelodyMakam import PredominantMelodyMakam
extractor = PredominantMelodyMakam()
results = extractor.run(audiofile)

Please refer to demo.ipynb for an interactive demo.

Installation

If you want to install the repository, it is recommended to install the package and 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 repo like this instead

pip install -e .

The algorithm uses several modules in Essentia. Follow the instructions to install the library. Then you should link the python bindings of Essentia in the virtual encironment:

ln -s /usr/local/lib/python2.7/dist-packages/essentia env/lib/python2.7/site-packages

Finally you can install the rest of the dependencies:

pip install -r requirements

Changelog

  • Refactored the code to comply with PEP8

Authors

Hasan Sercan Atlı [email protected]
Sertan Senturk [email protected]

Acknowledgements

We would like to thank Dr. Robert Grafias for allowing us to use his makam music collection in our research (in this repository the recording with MBID: d2731692-626d-4a6d-9b67-a70c9e7b9745).

References

[1] Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.
[2] Salamon, J., Gómez, E. (2012). "Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics", IEEE Transactions on Audio, Speech and Language Processing, 20(6):1759-1770
[3] Bozkurt, B. (2008). "An Automatic Pitch Analysis Method for Turkish Maqam Music," Journal of New Music Research. 37(1):1-13.

predominantmelodymakam v1.0

25 Jan 01:13
Compare
Choose a tag to compare

predominantmelodymakam

Predominant melody extraction for makam music

This repository hosts the the implementation of the predominant melody extraction proposed for makam music in:

Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.

If you are using this extractor please cite the above paper.

The extractor is based on the methodology by [2]. The contour selection step in [2] is trained on the specfic characteristics of Western pop music and jazz. We remove this step and use a simplified contour selection step by selecting the longest contour at each time instance and discarding all other contours. Then we use the method proposed in [3] to remove the erroneous pitch estimations and correct octave errors.

Usage

from predominantmelodymakam.PredominantMelodyMakam import PredominantMelodyMakam
extractor = PredominantMelodyMakam()
results = extractor.run(audiofile)

Please refer to demo.ipynb for an interactive demo.

Installation

If you want to install the repository, it is recommended to install the package and 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 repo like this instead

pip install -e .

The algorithm uses several modules in Essentia. Follow the instructions to install the library. Then you should link the python bindings of Essentia in the virtual encironment:

ln -s /usr/local/lib/python2.7/dist-packages/essentia env/lib/python2.7/site-packages

Finally you can install the rest of the dependencies:

pip install -r requirements

Authors

Hasan Sercan Atlı [email protected]
Sertan Senturk [email protected]

Acknowledgements

We would like to thank Dr. Robert Grafias for allowing us to use his makam music collection in our research (in this repository the recording with MBID: d2731692-626d-4a6d-9b67-a70c9e7b9745).

References

[1] Atlı, H. S., Uyar, B., Şentürk, S., Bozkurt, B., and Serra, X. (2014). Audio feature extraction for exploring Turkish makam music. In Proceedings of 3rd International Conference on Audio Technologies for Music and Media, Ankara, Turkey.
[2] Salamon, J., Gómez, E. (2012). "Melody Extraction from Polyphonic Music Signals using Pitch Contour Characteristics", IEEE Transactions on Audio, Speech and Language Processing, 20(6):1759-1770
[3] Bozkurt, B. (2008). "An Automatic Pitch Analysis Method for Turkish Maqam Music," Journal of New Music Research. 37(1):1-13.