{ "info": { "author": "J. D. Bartlett", "author_email": "josh@bartletts.id.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5" ], "description": "Pyscales\n========\n\nThis module provides representations for musical notes and intervals in the\nbasic 12-note even tempered system that is typically used in western music. It\nprovides basic arithmetic and conversion to and from midi numbers.\n\n\nClasses, Functions and Definitions\n----------------------------------\n\nThis module provides the following classes:\n\n``Note``: represents a musical note\n\n``Interval``: represents the interval between two notes\n\n\nIt also provides the following utility functions:\n\n``get_midi_number(note_string)`` -> midi number\n\n``in_chord(note, root, chord)`` -> boolean\n\n\nThe following intervals are predefined:\n\n::\n\n P1 = unison = Interval(0)\n m2 = semitone = Interval(1)\n M2 = Interval(2)\n m3 = Interval(3)\n M3 = Interval(4)\n P4 = Interval(5)\n aug4 = dim5 = Interval(6)\n P5 = Interval(7)\n m6 = Interval(8)\n M6 = Interval(9)\n m7 = Interval(10)\n M7 = Interval(11)\n P8 = octave = Interval(12)\n\n\nThe following chord types are predefined:\n\n::\n\n MAJOR = (unison, M3, P5)\n MINOR = (unison, m3, P5)\n SEVENTH = (unison, M3, P5, m7)\n\n\nExamples\n--------\n\nSome examples of use:\n\n::\n\n >>> Note('c') - Note('a-2')\n Interval(16)\n >>> Note('c') + M3\n Note(64)\n >>> (Note('c3') + P5).get_note_string()\n 'G3'\n >>> in_chord(Note('c5'), Note('a'), MINOR)\n True\n >>> in_chord(Note('c5'), Note('a'), MAJOR)\n False\n\n\nInstalling\n----------\n\nTo install pyscales, use ``pip install pyscales``.\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/talljosh/pyscales", "keywords": "music scales notes midi", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyscales", "package_url": "https://pypi.org/project/pyscales/", "platform": "", "project_url": "https://pypi.org/project/pyscales/", "project_urls": { "Homepage": "https://bitbucket.org/talljosh/pyscales" }, "release_url": "https://pypi.org/project/pyscales/1.0.2/", "requires_dist": null, "requires_python": "", "summary": "Simple arithmetic on musical notes", "version": "1.0.2" }, "last_serial": 3139717, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "55441d0f303cf46efbd0643908bf0788", "sha256": "356c519b9d5a23bb294ad474b6d404c134424f19daf1690e8345d366b31e7c74" }, "downloads": -1, "filename": "pyscales-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "55441d0f303cf46efbd0643908bf0788", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4532, "upload_time": "2017-01-27T02:31:48", "url": "https://files.pythonhosted.org/packages/13/ef/753f8afe275b68b9409bacaa9ef78249f70f5449331050c201823d62deac/pyscales-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20631f96c9cec3b6e9f44c5796f951fc", "sha256": "2aa1684203910f7d28f664381ff6ea344686bd6019f10aa1a06fc3a4fce03e27" }, "downloads": -1, "filename": "pyscales-1.0.0.tar.gz", "has_sig": false, "md5_digest": "20631f96c9cec3b6e9f44c5796f951fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3320, "upload_time": "2017-01-27T02:31:50", "url": "https://files.pythonhosted.org/packages/53/54/c8be7cdaed6ce10fb12264401aef47e0d3a41032956ca660f683e4503b0a/pyscales-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8b3c5c6aa53da1c17770649c5e9cc8c2", "sha256": "2d110563f2b9e22a1097867ac1c0d6c314f85c3c89fb80fa2b3498b4ed8f8ef6" }, "downloads": -1, "filename": "pyscales-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b3c5c6aa53da1c17770649c5e9cc8c2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5417, "upload_time": "2017-08-15T00:50:11", "url": "https://files.pythonhosted.org/packages/30/ff/3d4ba922d60fe652f43c12c654f8d3e3f4bf6b38de1daf9c99fd5c4d4b09/pyscales-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "026e3e6a07e94e904ae8dacf7eb77fc2", "sha256": "dd9e3e12f5374b2930adca1e4a336efb812633a518c2056a60ada02df1d3e1a7" }, "downloads": -1, "filename": "pyscales-1.0.1.tar.gz", "has_sig": false, "md5_digest": "026e3e6a07e94e904ae8dacf7eb77fc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3713, "upload_time": "2017-08-15T00:50:12", "url": "https://files.pythonhosted.org/packages/bc/34/991ccc973da31d0ae2fe5a4ab86f5e9f2619a0bf5369f58d64de6ab8bdb9/pyscales-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "40a050370226a14ff145bdba7a65543c", "sha256": "6ab817793f96ccbbcb72bcdb0e652b1480f8dfecd99eaaf909ec0cd81107a705" }, "downloads": -1, "filename": "pyscales-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "40a050370226a14ff145bdba7a65543c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5443, "upload_time": "2017-09-01T07:02:51", "url": "https://files.pythonhosted.org/packages/d6/d9/0a3aabb3bae413f8549bd779e625d63a9b6a2a95b685216db22002230968/pyscales-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e766c5fc1c0263199027d7d5851691c0", "sha256": "2b6e73a0773f01caaed23ca18d79dfa6422921d19e02eb1bb72d964c07403b28" }, "downloads": -1, "filename": "pyscales-1.0.2.tar.gz", "has_sig": false, "md5_digest": "e766c5fc1c0263199027d7d5851691c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3741, "upload_time": "2017-09-01T07:02:49", "url": "https://files.pythonhosted.org/packages/2c/ed/8311dd0a31fcf781742f99e3b3d86bd831f43eaf3653d262b04a611cd7ce/pyscales-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "40a050370226a14ff145bdba7a65543c", "sha256": "6ab817793f96ccbbcb72bcdb0e652b1480f8dfecd99eaaf909ec0cd81107a705" }, "downloads": -1, "filename": "pyscales-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "40a050370226a14ff145bdba7a65543c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5443, "upload_time": "2017-09-01T07:02:51", "url": "https://files.pythonhosted.org/packages/d6/d9/0a3aabb3bae413f8549bd779e625d63a9b6a2a95b685216db22002230968/pyscales-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e766c5fc1c0263199027d7d5851691c0", "sha256": "2b6e73a0773f01caaed23ca18d79dfa6422921d19e02eb1bb72d964c07403b28" }, "downloads": -1, "filename": "pyscales-1.0.2.tar.gz", "has_sig": false, "md5_digest": "e766c5fc1c0263199027d7d5851691c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3741, "upload_time": "2017-09-01T07:02:49", "url": "https://files.pythonhosted.org/packages/2c/ed/8311dd0a31fcf781742f99e3b3d86bd831f43eaf3653d262b04a611cd7ce/pyscales-1.0.2.tar.gz" } ] }