6 research outputs found
Computational modeling of improvisation in Turkish folk music using Variable-Length Markov Models
The thesis describes a new database of uzun havas, a non-metered structured improvisation form in Turkish folk music, and a system, which uses Variable-Length Markov Models (VLMMs) to predict the melody in the uzun hava form. The database consists of 77 songs, encompassing 10849 notes, and it is used to train multiple viewpoints, where each event in a musical sequence are represented by parallel descriptors such as Durations and Notes. The thesis also introduces pitch-related viewpoints that are specifically aimed to model the unique melodic properties of makam music. The predictability of the system is quantitatively evaluated by an entropy based scheme. In the experiments, the results from the pitch-related viewpoints mapping 12-tone-scale of Western classical theory and 17 tone-scale of Turkish folk music are compared. It is shown that VLMMs are highly predictive in the note progressions of the transcriptions of uzun havas. This suggests that VLMMs may be applied to makam-based and non-metered musical forms, in addition to Western musical styles. To the best of knowledge, the work presents the first symbolic, machine-readable database and the first application of computational modeling in Turkish folk music.MSCommittee Chair: Parag Chordia; Committee Member: Gil Weinberg; Committee Member: Jason Freema
Ottoman-Turkish Makam Music Composition Identification Dataset
otmm_composition_identification_dataset
Composition Identification dataset for Ottoman-Turkish Makam Music
This repository contains the machine readable music scores and the predominant melody extracted from the audio recordings along with the annotated tonic frequencies used in the paper:
Şentürk, S., & Serra X. (2016). Composition Identification in Ottoman-Turkish Makam Music Using Transposition-Invariant Partial Audio-Score Alignment. In Proceedings of 13th Sound and Music Computing Conference (SMC 2016), (pp. 434-441)., Hamburg, Germany.
Please cite the publication above in any work using this dataset.
The repository contains the machine readable music scores of 147 instrumental compositions selected from the SymbTr collection and 743 audio recordings selected from the CompMusic makam corpus. In the dataset there are 360 recordings associated with 87 music scores, forming 362 relevant audio-score pairs.
For the details of the dataset, please refer to the paper. For any further information please contact the authors
ahenkidentifier: ahenkidentifier v1.2.0
ahenkidentifier
Identifies the ahenk (transposition) of a makam music recording given the tonic frequency and the symbol (or the makam)
Usage
from ahenkidentifier.AhenkIdentifier import AhenkIdentifier
ahenk = AhenkIdentifier.identify(tonicfreq, makam)
# or
ahenk = AhenkIdentifier.identify(tonicfreq, noteSymbol)
The inputs are:
# tonicfreq : The frequency of the tonic in Hz.
# makam/noteSymbol: The algorithm can either accept the makam-slug or
# the note symbol of the tonic in SymbTr format as a string (e.g. B4b1).
For the makam-slug names, check the json file in the data folder. The slugs are the same with the ones in the filenames of the scores in the SymbTr collection. The tonic symbols are notated as [Note pitch-class][Octave](Accidental Symbol(Holderian Comma)), e.g. B4b1
The output is:
# ahenk : The name of the ahenk as a unicode string and a dictionary of computed stats
Installation
If you want to install ahenkidentifier, 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 repository like this instead:
pip install -e .
Now you can install the rest of the dependencies:
pip install -r requirements
Changelog
Refactored the methods into the AhenkIdentifier object
Issues
The "Bolahenk Nısfiye" ahenk, which is an octave higher than the default ahenk ("Bolahenk"), is omitted. In solo performances, automatic identification of this ahenk requires the frequency range of the instrument being performed. Moreoever, it is ambiguous to distinguish it from "Bolahenk" in multi-instrument recordings.
Authors
Sertan Şentürk
[email protected]
Reference
Thesi
fileoperations_python: fileoperations_python v1.1.1
fileoperations-python
A repository fo simple I/O operations
Currently it only consists of a single function, which recursively gets all the names of the files below a directory.
Usage
from fileoperations.fileoperations import get_filenames_in_dir fullnames, folders, names = get_filenames_in_dir( dir_name, keyword='*.mp3', skip_foldername='', matchCase=True, verbose=False) # Inputs: # dir_name : the foldername # keyword : the keyword to search # skip_foldername : an optional foldername to skip searching # match_case : flag for case matching # verbose : verbose flag # Outputs: # fullnames : list of the fullpaths of the files found # folder : list of the folders of the files # names : list of the filenames without the foldername
Installation
You can easily install the package using pip. In terminal:
cd path/to/fileoperations-python pip install .
Don't forget to change the folder path with the correct path in your machine.
If you want to be able to edit files and have the changes be reflected, then install the repository like this instead:
cd path/to/fileoperations-python pip install -e . Changelog
Fixed unicode input error
Authors
Sertan Şentürk [email protected]
makam_recognition_experiments: Makam Recognition Experiments for DLfM 2016
DLfM Ottoman-Turkish Makam Recognition and Tonic Identification Experiments
This repository hosts the experiments conducted, which demonstrates MORTY (our mode and tonic estmation toolbox) in the paper:
Karakurt, A., Şentürk S., & Serra X. (2016). MORTY: A Toolbox for Mode Recognition and Tonic Identification. 3rd International Digital Libraries for Musicology Workshop. New York, USA
Please cite the paper above, if you are using the contents of this repository for your works. The companion page of the paper is accesible via the CompMusic website.
Structure of the Repository
The scripts are located in the base folder along with several miscallenaeous files (the license, readme, setup and requirement files).
The folder ./data links to the relevant commit in our makam recognition dataset, the folds and the summary of the evaluation obtained from all experiments. Due to file size constraints features, training models, results and evaluation files are not included in this folder and stored in Zenodo (link) instead.
The folder ./dlfm_code has the relevant Python and MATLAB modules for the training, testing and evaluation.
Installation
If you want to install the Python package, 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
The package and some of its dependencies use several modules in Essentia. Follow the instructions to install the library.
Now you can install the rest of the dependencies:
pip install -r requirements
Experimentation Scripts
We use Jupyter notebooks for the general experimentation and MATLAB for statistical significance tests. To reproduce the experiments you can run the scripts in the order given below:
setup_feature_training.ipynb: Create the folds in the stratified 10 fold scheme, extract distribution features, train models.
testing_evaluation.ipynb: Find optimal minimum peak ratio (Figure 3 in the paper), testing and evaluation.
plot_tonicdist_confusionmat.ipynb: Display the tonic identification errors for all parameter sets with 7.5 cent bin size and the confusion matrix in mode recognition for the best parameter set
summarize_evaluation.m: Read and store a summarization of the evaluation obtained for all parameter sets
stat_significance.m: Conduct statistical significance tests. The last block in the MATLAB code is where the tests are carried semi-automatically. The parameters that are checked for significance are commented.
License
The source code hosted in this repository is licenced under Affero GPL version 3. The data (the features, models, figures, results etc.) are licenced under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
otmm_makam_recognition_dataset: Ottoman-Turkish Makam Music Makam Recognition Dataset
OTMM Makam Recognition Dataset
This repository hosts the dataset designed to test makam recognition methodologies on Ottoman-Turkish makam music. It is composed of 50 recording from each of the 20 most common makams in CompMusic Project's Dunya Ottoman-Turkish Makam Music collection. Currently the dataset is the largest makam recognition dataset.
Please cite the publication below, if you use this dataset in your work:
Karakurt, A., Şentürk S., & Serra X. (2016). MORTY: A Toolbox for Mode Recognition and Tonic Identification. 3rd International Digital Libraries for Musicology Workshop. New York, NY
The recordings are selected from commercial recordings carefully such that they cover diverse musical forms, vocal/instrumentation settings and recording qualities (e.g. historical recordings vs. contemporary recordings). Each recording in the dataset is identified by an 16-character long unique identifier called MBID, hosted in MusicBrainz. The makam and the tonic of each recording is annotated in the file annotations.json.
The audio related data in the test dataset is organized by each makam in the folder data. Due to copyright reasons, we are unable to distribute the audio. Instead we provide the predominant melody of each recording, computed by a state-of-the-art predominant melody extraction algorithm optimized for OTMM culture. These features are saved as text files (with the paths data/[makam]/[mbid].pitch) of single column that contains the frequency values. The timestamps are removed to reduce the filesizes. The step size of the pitch track is 0.0029 seconds (an analysis window of 128 sample hop size of an mp3 with 44100 Hz sample rate), with which one can recompute the timestamps of samples.
Moreover the metadata of each recording is available in the repository, crawled from MusicBrainz using an open source tool developed by us. The metadata files are saved as data/[makam]/[mbid].json.
For reproducability purposes we note the version of all tools we have used to generate this dataset in the file algorithms.json.
A complementary toolbox for this dataset is MORTY, which is a mode recogition and tonic identification toolbox. It can be used and optimized for any modal music culture. Further details are explained in the publication above.
For more information, please contact the authors.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License