chordparser


Namechordparser JSON
Version 0.4.2 PyPI version JSON
download
home_pagehttp://github.com/titus-ong/chordparser
SummaryParse and analyse chords
upload_time2023-03-26 07:21:27
maintainer
docs_urlNone
authorTitus Ong
requires_python
licenseMIT
keywords chords music parse notation analysis sheet notes scales keys transpose
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            chordparser
===========

.. image:: https://travis-ci.com/titus-ong/chordparser.svg?branch=master
   :alt: Build status
   :target: https://travis-ci.com/titus-ong/chordparser

.. image:: https://readthedocs.org/projects/chordparser/badge/?version=latest
    :target: https://chordparser.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation status

.. image:: https://coveralls.io/repos/github/titus-ong/chordparser/badge.svg?branch=master
   :alt: Coverage
   :target: https://coveralls.io/github/titus-ong/chordparser

.. image:: https://img.shields.io/pypi/v/chordparser.svg
   :target: https://pypi.org/pypi/chordparser
   :alt: Downloads

.. image:: https://img.shields.io/pypi/pyversions/chordparser.svg
   :target: https://pypi.org/pypi/chordparser
   :alt: Downloads

.. image:: https://colab.research.google.com/assets/colab-badge.svg
   :target: https://colab.research.google.com/github/titus-ong/chordparser/blob/master/notebooks/chordparser-tutorial.ipynb
   :alt: Open in Colab

chordparser is a Python 3 package that provides a musical framework to analyse chords. Chord notation can be parsed into Chords, which can then be analysed against other chords or the key of the song. This allows for harmonic analysis in chord sheets and helps musicians understand why and how chord progressions work.

Quick demo:

.. code-block:: python

    >>> import chordparser
    >>> cp = chordparser.Parser()

    >>> new_chord = cp.create_chord("C7add4/E")
    >>> new_chord.notes
    (E note, C note, F note, G note, B♭ note)

    >>> new_chord.transpose_simple(6)
    F♯7add4/A♯ chord
    >>> new_chord.notes
    (A♯ note, F♯ note, B note, C♯ note, E note)

    >>> e_scale = cp.create_scale("E", "major")
    >>> cp.to_roman(new_chord, e_scale)
    II65 roman chord

    >>> e_fifth = cp.create_diatonic(e_scale, 5)
    >>> e_fifth
    B chord
    >>> cp.analyse_secondary(new_chord, e_fifth, e_scale)
    "V65/V"


--------
Features
--------

* Create and manipulate notes, keys, scales and chords easily
* Parse complex chord notations
* Transpose musical classes easily and accurately
* Automatically generate notes for scales and chords from notation
* Generate roman numeral notation from chords
* Analyse chord-scale relationships

------------
Installation
------------

To install chordparser, run this command in your terminal:

.. code-block:: console

    $ pip install chordparser

-----
Usage
-----

Check out the `Colab notebook <https://colab.research.google.com/github/titus-ong/chordparser/blob/master/notebooks/chordparser-tutorial.ipynb>`_, which runs through a working example to showcase chordparser's functions and help you get started on using it.

The full documentation can be found `here <https://chordparser.readthedocs.io/en/latest/>`_.

----------
Contribute
----------

- Issue Tracker: `github.com/titus-ong/chordparser/issues <github.com/titus-ong/chordparser/issues>`_
- Source Code: `github.com/titus-ong/chordparser <github.com/titus-ong/chordparser>`_

-------
Support
-------

If you are having issues, please let me know at: titusongyl@gmail.com

-------
Authors
-------

Development Lead

* Titus Ong <titusongyl@gmail.com>

-------
License
-------

The project is licensed under the MIT license.

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/titus-ong/chordparser",
    "name": "chordparser",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "chords music parse notation analysis sheet notes scales keys transpose",
    "author": "Titus Ong",
    "author_email": "titusongyl@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/92/6a/5111f8225556b81bd1887177313b5d3f14b63b1cd55bf093ecadb5685bc3/chordparser-0.4.2.tar.gz",
    "platform": null,
    "description": "chordparser\n===========\n\n.. image:: https://travis-ci.com/titus-ong/chordparser.svg?branch=master\n   :alt: Build status\n   :target: https://travis-ci.com/titus-ong/chordparser\n\n.. image:: https://readthedocs.org/projects/chordparser/badge/?version=latest\n    :target: https://chordparser.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation status\n\n.. image:: https://coveralls.io/repos/github/titus-ong/chordparser/badge.svg?branch=master\n   :alt: Coverage\n   :target: https://coveralls.io/github/titus-ong/chordparser\n\n.. image:: https://img.shields.io/pypi/v/chordparser.svg\n   :target: https://pypi.org/pypi/chordparser\n   :alt: Downloads\n\n.. image:: https://img.shields.io/pypi/pyversions/chordparser.svg\n   :target: https://pypi.org/pypi/chordparser\n   :alt: Downloads\n\n.. image:: https://colab.research.google.com/assets/colab-badge.svg\n   :target: https://colab.research.google.com/github/titus-ong/chordparser/blob/master/notebooks/chordparser-tutorial.ipynb\n   :alt: Open in Colab\n\nchordparser is a Python 3 package that provides a musical framework to analyse chords. Chord notation can be parsed into Chords, which can then be analysed against other chords or the key of the song. This allows for harmonic analysis in chord sheets and helps musicians understand why and how chord progressions work.\n\nQuick demo:\n\n.. code-block:: python\n\n    >>> import chordparser\n    >>> cp = chordparser.Parser()\n\n    >>> new_chord = cp.create_chord(\"C7add4/E\")\n    >>> new_chord.notes\n    (E note, C note, F note, G note, B\u266d note)\n\n    >>> new_chord.transpose_simple(6)\n    F\u266f7add4/A\u266f chord\n    >>> new_chord.notes\n    (A\u266f note, F\u266f note, B note, C\u266f note, E note)\n\n    >>> e_scale = cp.create_scale(\"E\", \"major\")\n    >>> cp.to_roman(new_chord, e_scale)\n    II65 roman chord\n\n    >>> e_fifth = cp.create_diatonic(e_scale, 5)\n    >>> e_fifth\n    B chord\n    >>> cp.analyse_secondary(new_chord, e_fifth, e_scale)\n    \"V65/V\"\n\n\n--------\nFeatures\n--------\n\n* Create and manipulate notes, keys, scales and chords easily\n* Parse complex chord notations\n* Transpose musical classes easily and accurately\n* Automatically generate notes for scales and chords from notation\n* Generate roman numeral notation from chords\n* Analyse chord-scale relationships\n\n------------\nInstallation\n------------\n\nTo install chordparser, run this command in your terminal:\n\n.. code-block:: console\n\n    $ pip install chordparser\n\n-----\nUsage\n-----\n\nCheck out the `Colab notebook <https://colab.research.google.com/github/titus-ong/chordparser/blob/master/notebooks/chordparser-tutorial.ipynb>`_, which runs through a working example to showcase chordparser's functions and help you get started on using it.\n\nThe full documentation can be found `here <https://chordparser.readthedocs.io/en/latest/>`_.\n\n----------\nContribute\n----------\n\n- Issue Tracker: `github.com/titus-ong/chordparser/issues <github.com/titus-ong/chordparser/issues>`_\n- Source Code: `github.com/titus-ong/chordparser <github.com/titus-ong/chordparser>`_\n\n-------\nSupport\n-------\n\nIf you are having issues, please let me know at: titusongyl@gmail.com\n\n-------\nAuthors\n-------\n\nDevelopment Lead\n\n* Titus Ong <titusongyl@gmail.com>\n\n-------\nLicense\n-------\n\nThe project is licensed under the MIT license.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Parse and analyse chords",
    "version": "0.4.2",
    "split_keywords": [
        "chords",
        "music",
        "parse",
        "notation",
        "analysis",
        "sheet",
        "notes",
        "scales",
        "keys",
        "transpose"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6f026d98d88c91d5fb5f1a5752a001c7305195e98a243bff144899a2ec8e122",
                "md5": "446a9f84bd2e058d143de1d190b0d4e0",
                "sha256": "27abff827a1acdfe9cda817cbb064e3c6f03b5c66479e487c668a18d896b4908"
            },
            "downloads": -1,
            "filename": "chordparser-0.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "446a9f84bd2e058d143de1d190b0d4e0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 29779,
            "upload_time": "2023-03-26T07:21:26",
            "upload_time_iso_8601": "2023-03-26T07:21:26.347880Z",
            "url": "https://files.pythonhosted.org/packages/c6/f0/26d98d88c91d5fb5f1a5752a001c7305195e98a243bff144899a2ec8e122/chordparser-0.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "926a5111f8225556b81bd1887177313b5d3f14b63b1cd55bf093ecadb5685bc3",
                "md5": "cc3475b0064a1073014886c3f5d0fbc7",
                "sha256": "b6dfd22e20f2ff017ec4d5b64a969ff4d23af4e88b7d6d1f1ae4cdf1e03d1d58"
            },
            "downloads": -1,
            "filename": "chordparser-0.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "cc3475b0064a1073014886c3f5d0fbc7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 30523,
            "upload_time": "2023-03-26T07:21:27",
            "upload_time_iso_8601": "2023-03-26T07:21:27.903525Z",
            "url": "https://files.pythonhosted.org/packages/92/6a/5111f8225556b81bd1887177313b5d3f14b63b1cd55bf093ecadb5685bc3/chordparser-0.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-26 07:21:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "titus-ong",
    "github_project": "chordparser",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "chordparser"
}
        
Elapsed time: 0.04853s