Compose music in your spreadsheet.
How to
Installing
Install lilypond, fluidsynth, gnumeric, maybe something else. Then
pip2 install sheetmusic sheetmusic-installer gnumeric
Sheetmusic is a Gnumeric plugin. The first time you use it, you might need to enable the plugin; go to the “Tools” menu, click “Plug-ins…”, and then make sure that “Sheetmusic” is checked.
How to use
Sheetmusic is a bunch of spreadsheet functions that manipulate notes. These notes must be written in scientific notation; for example, middle C is written as “C4”.
Some functions return more than one output cell (like chords). To run spreadsheet functions with multiple output cells, hit control + enter rather than just enter.
To play the music, run
import sheetmusic
sheetmusic.init()
sheetmusic.play('B2:C2')
sheetmusic.play('J1:M33', 'A', 4, 4, 200) # to change tempo
Function reference
Sheetmusic provides the following functions inside the Spreadsheet.
Chords and arpeggios:
I7_arpeggio(base note) I7_chord(base note) II7_arpeggio(base note) II7_chord(base note) III7_arpeggio(base note) III7_chord(base note) III_arpeggio(base note) III_chord(base note) II_arpeggio(base note) II_chord(base note) IV7_arpeggio(base note) IV7_chord(base note) IV_arpeggio(base note) IV_chord(base note) I_arpeggio(base note) I_chord(base note) V7_arpeggio(base note) V7_chord(base note) VI7_arpeggio(base note) VI7_chord(base note) VII7_arpeggio(base note) VII7_chord(base note) VII_arpeggio(base note) VII_chord(base note) VI_arpeggio(base note) VI_chord(base note) V_arpeggio(base note) V_chord(base note) augmented_major_seventh_arpeggio(base note) augmented_major_seventh_chord(base note) augmented_minor_seventh_arpeggio(base note) augmented_minor_seventh_chord(base note) augmented_triad_arpeggio(base note) augmented_triad_chord(base note) diminished_seventh_arpeggio(base note) diminished_seventh_chord(base note) diminished_triad_arpeggio(base note) diminished_triad_chord(base note) dominant7_arpeggio(base note) dominant7_chord(base note) dominant_arpeggio(base note) dominant_chord(base note) dominant_flat_five_arpeggio(base note) dominant_flat_five_chord(base note) dominant_flat_ninth_arpeggio(base note) dominant_flat_ninth_chord(base note) dominant_ninth_arpeggio(base note) dominant_ninth_chord(base note) dominant_seventh_arpeggio(base note) dominant_seventh_chord(base note) dominant_sharp_ninth_arpeggio(base note) dominant_sharp_ninth_chord(base note) dominant_sixth_arpeggio(base note) dominant_sixth_chord(base note) dominant_thirteenth_arpeggio(base note) dominant_thirteenth_chord(base note) eleventh_arpeggio(base note) eleventh_chord(base note) first_inversion_arpeggio(base note) first_inversion_chord(base note) half_diminished_seventh_arpeggio(base note) half_diminished_seventh_chord(base note) hendrix_chord_arpeggio(base note) hendrix_chord_chord(base note) lydian_dominant_seventh_arpeggio(base note) lydian_dominant_seventh_chord(base note) major_ninth_arpeggio(base note) major_ninth_chord(base note) major_seventh_arpeggio(base note) major_seventh_chord(base note) major_sixth_arpeggio(base note) major_sixth_chord(base note) major_thirteenth_arpeggio(base note) major_thirteenth_chord(base note) major_triad_arpeggio(base note) major_triad_chord(base note) mediant7_arpeggio(base note) mediant7_chord(base note) mediant_arpeggio(base note) mediant_chord(base note) minor_eleventh_arpeggio(base note) minor_eleventh_chord(base note) minor_major_seventh_arpeggio(base note) minor_major_seventh_chord(base note) minor_ninth_arpeggio(base note) minor_ninth_chord(base note) minor_seventh_arpeggio(base note) minor_seventh_chord(base note) minor_seventh_flat_five_arpeggio(base note) minor_seventh_flat_five_chord(base note) minor_sixth_arpeggio(base note) minor_sixth_chord(base note) minor_thirteenth_arpeggio(base note) minor_thirteenth_chord(base note) minor_triad_arpeggio(base note) minor_triad_chord(base note) second_inversion_arpeggio(base note) second_inversion_chord(base note) seventh_arpeggio(base note) seventh_chord(base note) sixth_ninth_arpeggio(base note) sixth_ninth_chord(base note) subdominant7_arpeggio(base note) subdominant7_chord(base note) subdominant_arpeggio(base note) subdominant_chord(base note) submediant7_arpeggio(base note) submediant7_chord(base note) submediant_arpeggio(base note) submediant_chord(base note) subtonic7_arpeggio(base note) subtonic7_chord(base note) subtonic_arpeggio(base note) subtonic_chord(base note) supertonic7_arpeggio(base note) supertonic7_chord(base note) supertonic_arpeggio(base note) supertonic_chord(base note) suspended_fourth_ninth_arpeggio(base note) suspended_fourth_ninth_chord(base note) suspended_fourth_triad_arpeggio(base note) suspended_fourth_triad_chord(base note) suspended_second_triad_arpeggio(base note) suspended_second_triad_chord(base note) suspended_seventh_arpeggio(base note) suspended_seventh_chord(base note) suspended_triad_arpeggio(base note) suspended_triad_chord(base note) third_inversion_arpeggio(base note) third_inversion_chord(base note) tonic7_arpeggio(base note) tonic7_chord(base note) tonic_arpeggio(base note) tonic_chord(base note) triad_arpeggio(base note) triad_chord(base note)
Scales:
aeolian_scale(base note) chromatic_scale(base note) diatonic_scale(base note) diminished_scale(base note) dorian_scale(base note) harmonic_minor_scale(base note) ionian_scale(base note) locrian_scale(base note) lydian_scale(base note) melodic_minor_scale(base note) mixolydian_scale(base note) natural_minor_scale(base note) phrygian_scale(base note) whole_note_scale(base note)
Intervals:
unison_interval(base note, key) major_unison_interval(base note) minor_unison_interval(base note) augmented_unison_interval(base note) second_interval(base note, key) major_second_interval(base note) minor_second_interval(base note) third_interval(base note, key) major_third_interval(base note) minor_third_interval(base note) fourth_interval(base note, key) major_fourth_interval(base note) minor_fourth_interval(base note) perfect_fourth_interval(base note) fifth_interval(base note, key) major_fifth_interval(base note) minor_fifth_interval(base note) perfect_fifth_interval(base note) sixth_interval(base note, key) major_sixth_interval(base note) minor_sixth_interval(base note) seventh_interval(base note, key) major_seventh_interval(base note) minor_seventh_interval(base note) interval(major|minor, interval:[0-7], base note) octave_down(base note) octave_up(base note)
Other:
from_integer(integer) -> scientific note progression(progression, base note) -> [[scientific note]] rep(range, each) -> another range to_integer(scientific note) -> integer
Bars
Sheetmusic ignores borders, but I recommend that you place horizontal borders where you would place bars in ordinary sheet music.
Slurred and tied notes
Notes are slurred within italicized regions.
Development
Helpful links
http://www.hep.by/gnu/gnumeric/sect-extending-python-writing.shtml
https://help.gnome.org/users/gnumeric/stable/sect-extending-python.html.en
http://www.bruunisejs.dk/PythonHacks/rstFiles/500%20Notes%20on%20spreadsheets%20etc.html
This requires Python 2 because mingus requires Python 2.
Metadata
Release files for sheetmusic 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sheetmusic-0.0.4.tar.gz | 8.1 kB | Details |
Release files / sheetmusic-0.0.4.tar.gz
| Download URL | sheetmusic-0.0.4.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
627a4fe063ac95ed7130345b4bf13e02da77645be2f7a78c986df07fc0c0a3d0
|
|
BLAKE2b-256 checksum How to use checksums |
a2588235f6f6f86e60fa163a4f398857905870178a65aa5642daf975accb4223
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |