Skip to content

Releases: hsercanatli/makam-musicxml2lilypond

makam-musicxml2lilypond v0.9.6

20 Apr 13:08
Compare
Choose a tag to compare

musicxml2lilypond

Python package that converts a makam score in MusicXml format to LilyPond

Introduction

This repository provides a simple and reliable conversion of a makam music score from MusicXML format to LilyPond format.

You can obtain 2200 makam music scores in MusicXML format from SymbTr collection. Alternatively, you can use the SymbTr-txt files in the collection and generate the MusicXML files with limited modifications using the MusicXMLConverter package.

The LilyPond format and the LilyPond software itself are a powerful combination for music engraving, with vast use cases. Moreover, when the software convert the LilyPond format to svg, it embeds a precise mapping of the musical elements in the LilyPond file onto the generated vectors in the svg file. In turn, the musical elements in the svg files can be rendered synchronous to the music playback in relevant applications.

Usage

from musicxml2lilypond.ScoreConverter import ScoreConverter

# input MusicXML file
xml_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.xml"

# output lilypond file
ly_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.ly"

# output json file storing the mappings beteen ly and musicxml files.
map_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.json"

# instantiate
converter = ScoreConverter()
ly_stream, mapping = converter.convert(xml_file, ly_out=ly_file, 
                                       render_metadata=False)

Installation

Note: This package is in active development. The capabilities and calls might change significantly until the first stable release. For this reason we suggest the users to stick to the released versions, for the most reliable performance.

If you want to install musicxml2lilypond, it is recommended to install the package 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 .

Changelog

  • Added time signature changes

Authors

Hasan Sercan Atlı hsercanatli AT gmail DOT com
Burak Uyar burakuyar AT gmail DOT com
Sertan Şentürk contact AT sertansenturk DOT com
Andrés Ferraro andres DOT ferraro AT upf DOT edu

Reference

Sercan's Thesis

makam-musicxml2lilypond v0.9.5

17 Apr 20:22
Compare
Choose a tag to compare

musicxml2lilypond

Python package that converts a makam score in MusicXml format to LilyPond

Introduction

This repository provides a simple and reliable conversion of a makam music score from MusicXML format to LilyPond format.

You can obtain 2200 makam music scores in MusicXML format from SymbTr collection. Alternatively, you can use the SymbTr-txt files in the collection and generate the MusicXML files with limited modifications using the MusicXMLConverter package.

The LilyPond format and the LilyPond software itself are a powerful combination for music engraving, with vast use cases. Moreover, when the software convert the LilyPond format to svg, it embeds a precise mapping of the musical elements in the LilyPond file onto the generated vectors in the svg file. In turn, the musical elements in the svg files can be rendered synchronous to the music playback in relevant applications.

Usage

from musicxml2lilypond.ScoreConverter import ScoreConverter

# input MusicXML file
xml_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.xml"

# output lilypond file
ly_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.ly"

# output json file storing the mappings beteen ly and musicxml files.
map_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.json"

# instantiate
converter = ScoreConverter()
ly_stream, mapping = converter.convert(xml_file, ly_out=ly_file, 
                                       render_metadata=False)

Installation

Note: This package is in active development. The capabilities and calls might change significantly until the first stable release. For this reason we suggest the users to stick to the released versions, for the most reliable performance.

If you want to install musicxml2lilypond, it is recommended to install the package 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 .

Authors

Hasan Sercan Atlı hsercanatli AT gmail DOT com
Burak Uyar burakuyar AT gmail DOT com
Andrés Ferraro andres DOT ferraro AT upf DOT edu
Sertan Şentürk contact AT sertansenturk DOT com

Reference

Sercan's Thesis

makam-musicxml2lilypond v0.9.4

16 Apr 20:31
Compare
Choose a tag to compare

musicxml2lilypond

Python package that converts a makam score in MusicXml format to LilyPond

Introduction

This repository provides a simple and reliable conversion of a makam music score from MusicXML format to LilyPond format.

You can obtain 2200 makam music scores in MusicXML format from SymbTr collection. Alternatively, you can use the SymbTr-txt files in the collection and generate the MusicXML files with limited modifications using the MusicXMLConverter package.

The LilyPond format and the LilyPond software itself are a powerful combination for music engraving, with vast use cases. Moreover, the software has a rather powerful LilyPond format to svg conversion capability. During conversion it encodes a precise mapping of the musical elements in the LilyPond file onto the generated vectors in the svg file. The scores in svg format created this way (SymbTr conversion "chain" from txt -> MusicXML -> LilyPond -> svg) are currently stored and displayed in the "Dunya-makam" website. The notes and the sections of the resultant svg score files are displayed in the recording page, synchronous to the audio playback.

Usage

from musicxml2lilypond.ScoreConverter import ScoreConverter

# input MusicXML file
xml_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.xml"

# output lilypond file
ly_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.ly"

# output json file storing the mappings beteen ly and musicxml files.
map_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.json"

# instantiate
converter = ScoreConverter()
ly_stream, mapping = converter.convert(
    xml_file, ly_out=ly_file, mapping_out=map_file, render_metadata=False)

Installation

Note: This package is in active development. The capabilities and calls might change significantly until the first stable release. For this reason we suggest the users to stick to the released versions, for the most reliable performance.

If you want to install musicxml2lilypond, it is recommended to install the package 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 .

Changelog

  • Added simple gracenote parsing
  • Better string maintainability by enforcing __future__.unicode_literals
  • Added unittests
  • Created and modularized MusicXMLReader
  • Cleaned setup requirements
  • Improved demo.ipynb

Authors

Hasan Sercan Atlı hsercanatli AT gmail DOT com
Burak Uyar burakuyar AT gmail DOT com
Andrés Ferraro andres DOT ferraro AT upf DOT edu
Sertan Şentürk contact AT sertansenturk DOT com

Reference

Sercan's Thesis

musicxml2lilypond v0.9.3

15 Apr 07:40
Compare
Choose a tag to compare

musicxml2lilypond

Python package that converts a makam score in MusicXML format to LilyPond

Introduction

This repository provides a simple and reliable conversion of a makam music score from MusicXML format to LilyPond format.

You can obtain 2200 makam music scores in MusicXML format from SymbTr collection. Alternatively, you can use the SymbTr-txt files in the collection and generate the MusicXML files with limited modifications using the MusicXMLConverter package.

The LilyPond format and the LilyPond software itself are a powerful combination for music engraving, with vast use cases. Moreover, the software has a rather powerful LilyPond format to svg conversion capability. During conversion it encodes a precise mapping of the musical elements in the LilyPond file onto the generated vectors in the svg file. The scores in svg format created this way (SymbTr conversion "chain" from txt -> MusicXML -> LilyPond -> svg) are currently stored and displayed in the "Dunya-makam" website. The notes and the sections of the resultant svg score files are displayed in the recording page, synchronous to the audio playback.

Usage

from musicxml2lilypond.musicxml2lilypond import ScoreConverter

# input MusicXML file
xml_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.xml"

# output lilypond file
ly_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.ly"

# output json file storing the mappings beteen ly and musicxml files.
map_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.json"

# instantiate
converter = ScoreConverter()
ly_stream, mapping = converter.run(xml_file, ly_out=ly_file, map_out=map_file,
                                   render_metadata=False)

Installation

Note: This package is in active development. The capabilities and calls might change significantly until the first stable release. For this reason we suggest the users to stick to the released versions, for the most reliable performance.

If you want to install musicxml2lilypond, it is recommended to install the package 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

Changelog

  • Corrected database path
  • Database path is constructed OS-independently during conversion

Authors

Hasan Sercan Atlı hsercanatli AT gmail DOT com
Burak Uyar burakuyar AT gmail DOT com
Andrés Ferraro andres DOT ferraro AT upf DOT edu
Sertan Şentürk contact AT sertansenturk DOT com

Reference

Sercan's Thesis

musicxml2lilypond v0.9.2

15 Apr 05:56
Compare
Choose a tag to compare

musicxml2lilypond

Python package that converts the a makam-musicxml score to lilypond

Introduction

This repositry provides a simple and reliable conversion of a makam music score from MusicXML format to LilyPond format.

You can obtain 2200 makam music scores in MusicXML format from SymbTr collection. Alternatively you canuse the SymbTr-txt files in the collection and generate a MusicXML file with different options using the MusicXMLConverter repository.

The LilyPond format is useful not only it's music engraving capabilities but also the Lilypond softwares powerful svg conversion as the musical elements in the Lilypond and svg files are mapped to each other. This package is currently used in Dunya-makam website in the SymbTr conversion "chain" from txt -> MusicXML -> LilyPond -> svg. The resultant svg files are displayed in the recording page synchronous to the audio playback.

Usage

from musicxml2lilypond.musicxml2lilypond import ScoreConverter

# input MusicXML file
xml_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.xml"

# output lilypond file
ly_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.ly"

# output json file storing the mappings beteen ly and musicxml files.
map_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.json"

# instantiate
converter = ScoreConverter()
ly_stream, mapping = converter.run(xml_file, ly_out=ly_file, map_out=map_file,
                                   render_metadata=False)

Installation

Note: This package is in active development. The capabilities and calls might change significantly until the first stable release. For this reason we suggest the users to stick to the released versions, for the most reliable performance.

If you want to install musicxml2lilypond, it is recommended to install the package 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

Changelog

  • The xml input can be given directly as a string to the ScoreConverter.run method
  • Tidier output saving in the ScoreConverter.run method

Authors

Hasan Sercan Atlı hsercanatli AT gmail DOT com
Burak Uyar burakuyar AT gmail DOT com
Andrés Ferraro andres DOT ferraro AT upf DOT edu
Sertan Şentürk contact AT sertansenturk DOT com

Reference

Sercan's Thesis

musicxml2lilypond v0.9.1

15 Apr 05:22
Compare
Choose a tag to compare

musicxml2lilypond

Python package that converts the a makam-musicxml score to lilypond

Introduction

This repositry provides a simple and reliable conversion of a makam music score from MusicXML format to LilyPond format.

You can obtain 2200 makam music scores in MusicXML format from SymbTr collection. Alternatively you canuse the SymbTr-txt files in the collection and generate a MusicXML file with different options using the MusicXMLConverter repository.

The LilyPond format is useful not only it's music engraving capabilities but also the Lilypond softwares powerful svg conversion as the musical elements in the Lilypond and svg files are mapped to each other. This package is currently used in Dunya-makam website in the SymbTr conversion "chain" from txt -> MusicXML -> LilyPond -> svg. The resultant svg files are displayed in the recording page synchronous to the audio playback.

Usage

from musicxml2lilypond.musicxml2lilypond import ScoreConverter

# input MusicXML file
xml_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.xml"

# output lilypond file
ly_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.ly"

# output json file storing the mappings beteen ly and musicxml files.
map_file = "samplescores/pesendide--sazsemaisi--aksaksemai----iii_selim.json"

# instantiate
converter = ScoreConverter()
ly_stream, mapping = converter.run(xml_file, ly_out=ly_file, map_out=map_file,
                                   render_metadata=False)

Installation

Note: This package is in active development. The capabilities and calls might change significantly until the first stable release. For this reason we suggest the users to stick to the released versions, for the most reliable performance.

If you want to install musicxml2lilypond, it is recommended to install the package 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

Changelog

  • Refactored the code to improve readability and maintenance

Authors

Hasan Sercan Atlı hsercanatli AT gmail DOT com
Burak Uyar burakuyar AT gmail DOT com
Andrés Ferraro andres DOT ferraro AT upf DOT edu
Sertan Şentürk contact AT sertansenturk DOT com

Reference

Sercan's Thesis

makam-musicxml2lilypond v0.9.0

15 Apr 04:24
Compare
Choose a tag to compare

musicxml2lilypond

Python package that converts the a makam-musicxml score to lilypond

Introduction

This is a prerelease, which is kept for compatibility reasons with Dunya backend. Please work with the latest release to get more functionalities and possibly more accurate conversion.

Installation

If you want to install musicxml2lilypond, it is recommended to install the package 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

Authors

Hasan Sercan Atlı hsercanatli AT gmail DOT com
Burak Uyar burakuyar AT gmail DOT com
Andrés Ferraro andres DOT ferraro AT upf DOT edu
Sertan Şentürk contact AT sertansenturk DOT com

Reference

Sercan's Thesis