{ "info": { "author": "Thomas Levine", "author_email": "_@thomaslevine.com", "bugtrack_url": null, "classifiers": [], "description": "Compose music in your spreadsheet.\n\nHow to\n========\n\nInstalling\n---------------\nInstall lilypond, fluidsynth, gnumeric, maybe something else. Then ::\n\n pip2 install sheetmusic\n sheetmusic-installer\n gnumeric\n\nSheetmusic is a Gnumeric plugin. The first time you use it, you might\nneed to enable the plugin; go to the \"Tools\" menu, click \"Plug-ins...\",\nand then make sure that \"Sheetmusic\" is checked.\n\nHow to use\n-----------------\nSheetmusic is a bunch of spreadsheet functions that manipulate notes.\nThese notes must be written in scientific notation; for example, middle\nC is written as \"C4\".\n\nSome functions return more than one output cell (like chords).\nTo run spreadsheet functions with multiple output cells, hit control + enter rather than just enter.\n\nTo play the music, run ::\n\n import sheetmusic\n sheetmusic.init()\n sheetmusic.play('B2:C2')\n sheetmusic.play('J1:M33', 'A', 4, 4, 200) # to change tempo\n\nFunction reference\n---------------------------\nSheetmusic provides the following functions inside the Spreadsheet.\n\nChords and arpeggios::\n\n I7_arpeggio(base note)\n I7_chord(base note)\n II7_arpeggio(base note)\n II7_chord(base note)\n III7_arpeggio(base note)\n III7_chord(base note)\n III_arpeggio(base note)\n III_chord(base note)\n II_arpeggio(base note)\n II_chord(base note)\n IV7_arpeggio(base note)\n IV7_chord(base note)\n IV_arpeggio(base note)\n IV_chord(base note)\n I_arpeggio(base note)\n I_chord(base note)\n V7_arpeggio(base note)\n V7_chord(base note)\n VI7_arpeggio(base note)\n VI7_chord(base note)\n VII7_arpeggio(base note)\n VII7_chord(base note)\n VII_arpeggio(base note)\n VII_chord(base note)\n VI_arpeggio(base note)\n VI_chord(base note)\n V_arpeggio(base note)\n V_chord(base note)\n augmented_major_seventh_arpeggio(base note)\n augmented_major_seventh_chord(base note)\n augmented_minor_seventh_arpeggio(base note)\n augmented_minor_seventh_chord(base note)\n augmented_triad_arpeggio(base note)\n augmented_triad_chord(base note)\n diminished_seventh_arpeggio(base note)\n diminished_seventh_chord(base note)\n diminished_triad_arpeggio(base note)\n diminished_triad_chord(base note)\n dominant7_arpeggio(base note)\n dominant7_chord(base note)\n dominant_arpeggio(base note)\n dominant_chord(base note)\n dominant_flat_five_arpeggio(base note)\n dominant_flat_five_chord(base note)\n dominant_flat_ninth_arpeggio(base note)\n dominant_flat_ninth_chord(base note)\n dominant_ninth_arpeggio(base note)\n dominant_ninth_chord(base note)\n dominant_seventh_arpeggio(base note)\n dominant_seventh_chord(base note)\n dominant_sharp_ninth_arpeggio(base note)\n dominant_sharp_ninth_chord(base note)\n dominant_sixth_arpeggio(base note)\n dominant_sixth_chord(base note)\n dominant_thirteenth_arpeggio(base note)\n dominant_thirteenth_chord(base note)\n eleventh_arpeggio(base note)\n eleventh_chord(base note)\n first_inversion_arpeggio(base note)\n first_inversion_chord(base note)\n half_diminished_seventh_arpeggio(base note)\n half_diminished_seventh_chord(base note)\n hendrix_chord_arpeggio(base note)\n hendrix_chord_chord(base note)\n lydian_dominant_seventh_arpeggio(base note)\n lydian_dominant_seventh_chord(base note)\n major_ninth_arpeggio(base note)\n major_ninth_chord(base note)\n major_seventh_arpeggio(base note)\n major_seventh_chord(base note)\n major_sixth_arpeggio(base note)\n major_sixth_chord(base note)\n major_thirteenth_arpeggio(base note)\n major_thirteenth_chord(base note)\n major_triad_arpeggio(base note)\n major_triad_chord(base note)\n mediant7_arpeggio(base note)\n mediant7_chord(base note)\n mediant_arpeggio(base note)\n mediant_chord(base note)\n minor_eleventh_arpeggio(base note)\n minor_eleventh_chord(base note)\n minor_major_seventh_arpeggio(base note)\n minor_major_seventh_chord(base note)\n minor_ninth_arpeggio(base note)\n minor_ninth_chord(base note)\n minor_seventh_arpeggio(base note)\n minor_seventh_chord(base note)\n minor_seventh_flat_five_arpeggio(base note)\n minor_seventh_flat_five_chord(base note)\n minor_sixth_arpeggio(base note)\n minor_sixth_chord(base note)\n minor_thirteenth_arpeggio(base note)\n minor_thirteenth_chord(base note)\n minor_triad_arpeggio(base note)\n minor_triad_chord(base note)\n second_inversion_arpeggio(base note)\n second_inversion_chord(base note)\n seventh_arpeggio(base note)\n seventh_chord(base note)\n sixth_ninth_arpeggio(base note)\n sixth_ninth_chord(base note)\n subdominant7_arpeggio(base note)\n subdominant7_chord(base note)\n subdominant_arpeggio(base note)\n subdominant_chord(base note)\n submediant7_arpeggio(base note)\n submediant7_chord(base note)\n submediant_arpeggio(base note)\n submediant_chord(base note)\n subtonic7_arpeggio(base note)\n subtonic7_chord(base note)\n subtonic_arpeggio(base note)\n subtonic_chord(base note)\n supertonic7_arpeggio(base note)\n supertonic7_chord(base note)\n supertonic_arpeggio(base note)\n supertonic_chord(base note)\n suspended_fourth_ninth_arpeggio(base note)\n suspended_fourth_ninth_chord(base note)\n suspended_fourth_triad_arpeggio(base note)\n suspended_fourth_triad_chord(base note)\n suspended_second_triad_arpeggio(base note)\n suspended_second_triad_chord(base note)\n suspended_seventh_arpeggio(base note)\n suspended_seventh_chord(base note)\n suspended_triad_arpeggio(base note)\n suspended_triad_chord(base note)\n third_inversion_arpeggio(base note)\n third_inversion_chord(base note)\n tonic7_arpeggio(base note)\n tonic7_chord(base note)\n tonic_arpeggio(base note)\n tonic_chord(base note)\n triad_arpeggio(base note)\n triad_chord(base note)\n\nScales::\n\n aeolian_scale(base note)\n chromatic_scale(base note)\n diatonic_scale(base note)\n diminished_scale(base note)\n dorian_scale(base note)\n harmonic_minor_scale(base note)\n ionian_scale(base note)\n locrian_scale(base note)\n lydian_scale(base note)\n melodic_minor_scale(base note)\n mixolydian_scale(base note)\n natural_minor_scale(base note)\n phrygian_scale(base note)\n whole_note_scale(base note)\n\nIntervals::\n\n unison_interval(base note, key)\n major_unison_interval(base note)\n minor_unison_interval(base note)\n augmented_unison_interval(base note)\n second_interval(base note, key)\n major_second_interval(base note)\n minor_second_interval(base note)\n third_interval(base note, key)\n major_third_interval(base note)\n minor_third_interval(base note)\n fourth_interval(base note, key)\n major_fourth_interval(base note)\n minor_fourth_interval(base note)\n perfect_fourth_interval(base note)\n fifth_interval(base note, key)\n major_fifth_interval(base note)\n minor_fifth_interval(base note)\n perfect_fifth_interval(base note)\n sixth_interval(base note, key)\n major_sixth_interval(base note)\n minor_sixth_interval(base note)\n seventh_interval(base note, key)\n major_seventh_interval(base note)\n minor_seventh_interval(base note)\n interval(major|minor, interval:[0-7], base note)\n octave_down(base note)\n octave_up(base note)\n\nOther::\n\n from_integer(integer) -> scientific note\n progression(progression, base note) -> [[scientific note]]\n rep(range, each) -> another range\n to_integer(scientific note) -> integer\n\nBars\n---------------------------\nSheetmusic ignores borders, but I recommend that you place\nhorizontal borders where you would place bars in ordinary\nsheet music.\n\nSlurred and tied notes\n---------------------------\nNotes are slurred within italicized regions.\n\nDevelopment\n===============\nHelpful links\n\n* http://www.ha19.no/gnumeric/\n* http://www.hep.by/gnu/gnumeric/sect-extending-python-writing.shtml\n* https://help.gnome.org/users/gnumeric/stable/sect-extending-python.html.en\n* http://www.bruunisejs.dk/PythonHacks/rstFiles/500%20Notes%20on%20spreadsheets%20etc.html\n\nThis requires Python 2 because mingus requires Python 2.\n\n* http://code.google.com/p/mingus/wiki/tutorialExtraLilypond\n* http://code.google.com/p/mingus/wiki/tutorialMidiFileOut\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tlevine/sheetmusic", "keywords": null, "license": "AGPL", "maintainer": null, "maintainer_email": null, "name": "sheetmusic", "package_url": "https://pypi.org/project/sheetmusic/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sheetmusic/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tlevine/sheetmusic" }, "release_url": "https://pypi.org/project/sheetmusic/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "Functions to be loaded by the Gnumeric Sheetmusic plugin", "version": "0.0.4" }, "last_serial": 1291161, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "13cd825ac2425ec304cd5a65705a5046", "sha256": "c64804062be17ba80e9239dcfac2355ee117da2c354abcd179e685b117115401" }, "downloads": -1, "filename": "sheetmusic-0.0.1.tar.gz", "has_sig": false, "md5_digest": "13cd825ac2425ec304cd5a65705a5046", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4523, "upload_time": "2014-04-18T11:49:52", "url": "https://files.pythonhosted.org/packages/b3/9c/ddbfdd5977ca0cad6e00af9607a8f6bb919701ec531e9934028e21fdff76/sheetmusic-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "136a9d6c002702301bb5507905ff580f", "sha256": "239aa3cbdeb2786cf2202a227f3fe90c1040b800f92fbd5cc31f0512cb18c66c" }, "downloads": -1, "filename": "sheetmusic-0.0.2.tar.gz", "has_sig": false, "md5_digest": "136a9d6c002702301bb5507905ff580f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6322, "upload_time": "2014-06-22T08:44:46", "url": "https://files.pythonhosted.org/packages/bc/18/d5b25f835be33c82f601acc2d5339bb10065c3565acd499a497c12f258c3/sheetmusic-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "68ab4753c4b6a00dc6c509bd11aae5f4", "sha256": "d46c639da8368ecf6d321d7f5a4eb6694e6d763a41b52ba6971b308f79476c45" }, "downloads": -1, "filename": "sheetmusic-0.0.3.tar.gz", "has_sig": false, "md5_digest": "68ab4753c4b6a00dc6c509bd11aae5f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7766, "upload_time": "2014-07-01T11:53:50", "url": "https://files.pythonhosted.org/packages/47/f4/450c97a7baf6787f6b59bac58c1be1adc610a6a8073824fb1b54129b65c8/sheetmusic-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "83aef1982513904a37d714da09eacb45", "sha256": "627a4fe063ac95ed7130345b4bf13e02da77645be2f7a78c986df07fc0c0a3d0" }, "downloads": -1, "filename": "sheetmusic-0.0.4.tar.gz", "has_sig": false, "md5_digest": "83aef1982513904a37d714da09eacb45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8103, "upload_time": "2014-11-01T17:59:17", "url": "https://files.pythonhosted.org/packages/a2/58/8235f6f6f86e60fa163a4f398857905870178a65aa5642daf975accb4223/sheetmusic-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "83aef1982513904a37d714da09eacb45", "sha256": "627a4fe063ac95ed7130345b4bf13e02da77645be2f7a78c986df07fc0c0a3d0" }, "downloads": -1, "filename": "sheetmusic-0.0.4.tar.gz", "has_sig": false, "md5_digest": "83aef1982513904a37d714da09eacb45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8103, "upload_time": "2014-11-01T17:59:17", "url": "https://files.pythonhosted.org/packages/a2/58/8235f6f6f86e60fa163a4f398857905870178a65aa5642daf975accb4223/sheetmusic-0.0.4.tar.gz" } ] }