JythonMusic is an environment for music making and creative programming. It is meant for musicians and programmers alike, of all levels and backgrounds.
JythonMusic provides composers and software developers with libraries for music making, image manipulation, building graphical user interfaces, and connecting to external devices, such as digital pianos, smartphones, and tablets.
JythonMusic is based on Python programming. It is easy to learn for beginners, and powerful enough for experts.
Used in education
JythonMusic is used in computer programming classes combining music and art. Here is a first-year university class performing Terry Riley’s “In C”.
Used in music
JythonMusic supports musicians with its familiar music data structure based upon note/sound events, and provides methods for organizing, manipulating and analyzing such musical data. JythonMusic scores can be played back in real-time, rendered as MIDI or XML, and drive external synthesizers and DAWs (e.g., Ableton, LogicPro, and PureData).
JythonMusic can connect to external MIDI controllers and OSC devices (e.g., smartphones and tablets) for musical or other purposes. Here is an interface utilizing Myo armbands and PureData to control a performance half-way around the world.
Used in art
JythonMusic is used in art projects. It works well with other tools, like MIT Processing and PureData. Here is an interactive multimedia art installation developed using JythonMusic.
Used in research
JythonMusic is designed to be extendible, encouraging you to build upon its functionality by programming in Jython to create your own musical compositions, tools, and instruments. Here is a hyperinstrument consisting of guitar and computer, for a research project in computer-aided music composition.
It is free
JythonMusic is free, in the spirit of other tools, like PureData and MIT Processing. It is an open source project.
JythonMusic is 100% Jython and works on Windows, Mac OS, Linux, or any other platform with Java support.
It comes with a textbook
JythonMusic comes with a textbook. The textbook is intended for
- students in computing in the arts, or music technology courses
- musicians, who are beginning programmers, to learn Python in a musical way
- programmers, who are beginning musicians, to learn essential music concepts in a programming way
- musician programmers (or programmer musicians), who seek inspiration, and a new, comprehensive way to interweave music composition, music performance, and computing.
For more information, see
- B. Manaris and A. Brown, Making Music with Computers: Creative Programming in Python, Chapman & Hall/CRC Textbooks in Computing, May 2014. (see Amazon, and CRC Press links)
- B. Manaris, B. Stevens, and A.R. Brown, “JythonMusic: An environment for teaching algorithmic music composition, dynamic coding and musical performativity”, Journal of Music, Technology & Education, 9: 1, pp. 33–56, May 2016. (doi: 10.1386/jmte.9.1.33_1)
This material supports the AP Computer Science Principles Curriculum.
JythonMusic is developed by Bill Manaris, Kenneth Hanson, Dana Hughes, David Johnson, Seth Stoudenmier, Christopher Benson, Margaret Marshall, and William Blanchett.
JythonMusic is based on the jMusic computer-assisted composition framework, created by Andrew Brown and Andrew Sorensen.
The JEM editor is based on the TigerJython editor developed by Tobias Kohn.
JythonMusic also incorporates the jSyn synthesizer by Phil Burk, and other cross-platform programming tools.
Various components have been supported by the US National Science Foundation (DUE-1323605, DUE-1044861, IIS-0736480, IIS-0849499 and IIS-1049554).