Interactive Score Editor
Project description
Interactive Score Editor
A python library that combines score editing tools with audio output.
Overview
Interactive Score Editor is a python library that helps bridge a music notation library (such as Lilypond via Abjad(https://abjad.github.io/index.html) to an audio player (such as pydub). The goal is to resolve the following: "Abjad provides no audio output beyond LilyPond’s built-in MIDI functionality" (https://abjad.github.io/first_steps/audience.html). Using LilyPond's MIDI is will take longer and be more complicated than a built in feature to play notes directly.
A successful implementation will be helpful both for individuals creating music-composition tools / applications, as well as individuals looking to play around with music composition and sound in a notebook, and will cut the time from starting a music project to hearing actual sound (an element which has been a personal annoyance).
Installation
Prerequisites:
- Python >=3.7,
- lilypond, portaudio
- numpy, pyaudio, midiutil, ipython, pygame
To install python packages:
$ pip install numpy
$ pip install pyaudio
$ pip install midiutil
$ pip install ipython
$ pip install pygame
Lilypond (https://lilypond.org) and portaudio (http://www.portaudio.com) can be installed from their websites, with brew
$ brew install lilypond
$ brew install portaudio
or with apt
# sudo apt install portaudio19-dev python3-pyaudio
# sudo apt install -y lilypond
Ensure that lilypond runs from the command line by running
$ lilypond --version
Quick start example
For now, ensure you have a folder named temp
in the current directory in order to ensure functinality of getScore() (this will be amended in a future release)
import importlib
ise = importlib.import_module("interactive-score-editor.src.Base")
Piece = ise.Piece
p1 = Piece(60, "3/4")
p1.addVoice("e' f' g'", 4)
p1.addVoice("c'4 d'4 e'4 f'4 g'4 a'4 b'4 c''4 b'4 c''2.")
p1.play()
p1.getScore()
The above example demonstrates the primary functionality of the piece object; the ability to play and display notes using the same object.
Contributions
See the guidelines for Contributing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for interactive-score-editor-0.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3f52f5cf837ed09b115022cadf02ed33d960c0a4d047f3322eca48c835dc34b |
|
MD5 | a356a16021fcf2958d3d7e7d09fd1d75 |
|
BLAKE2b-256 | f091cf39fca385575d065dbfde7129157323db596d59cadcaebd9e1411326bb1 |