Euterpea is a domain-specific language, embedded in the functional language Haskell, for computer music development. The name Euterpea is derived from Euterpe, who was one of the nine Greek Muses (goddesses of the arts), specifically the Muse of Music.
Euterpea is a descendant of Haskore and HasSound, and is intended for both educational purposes as well as serious computer music applications. Euterpea is a wide-spectrum language, suitable for high-level music representation, algorithmic composition, and analysis; mid-level concepts such as MIDI; and low-level audio processing, sound synthesis, and instrument design. It also includes a “musical user interface,” a set of computer-music specific GUI widgets for designing real-time, interactive musical applications.
Research topics in the Euterpea project include both pure computer science and interdisciplinary, computer music subjects:
- language design and implementation issues
- formal methods and verification techniques
- concurrent and parallel computation
- algorithmic composition and analysis
- physical modeling and instrument design
- audio processing
Euterpea is a key component of the Music Track in Yale’s recently introduced Computing and the Arts major, which includes a two-term computer music sequence using Euterpea and the Haskell programming language to teach topics in computer music.
See the Euterpea website for tutorials and examples of Euterpea-based projects.