Skip to main content

Interactive Score Editor

A python library that combines score editing tools with audio output.
PyPI Build Status codecov image image docs

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).

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

import isedit
Piece = isedit.Piece
p1 = Piece(60, "3/4")

p1.addVoice("e' f' g'", 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. In the newest release, the experimental p1.getScoreObject() option makes editing notes even easier.

Contributions

See the guidelines for Contributing

Metadata

Release files for isedit 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for isedit 0.3.0
File Size Uploaded
isedit-0.3.0.tar.gz 10.0 MB Details

Release files / isedit-0.3.0.tar.gz

Download URL isedit-0.3.0.tar.gz
Size 10.0 MB
Tags Source
SHA-256 checksum
How to use checksums
b182c8794647627e618b9983f4339b960fedb44db392f50155746d54720617c3
BLAKE2b-256 checksum
How to use checksums
b3fc2525b10a0d1b513303518d40efd7f07f231127cf2775ee4c558bb5560c55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.3.0 This release

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page