Euterpea is a cross-platform, domain-specific language for computer music applications embedded in the Haskell programming language. Euterpea is a wide-spectrum language, suitable for high-level music representation, algorithmic composition, music analysis, working with MIDI, low-level audio processing, sound synthesis, and virtual instrument design.

Getting Euterpea

Here’s what you need to do:

  • Install Haskell Platform for your operating system. You can use either the Full or Core version.
  • Open a command prompt (Windows) or terminal (Mac/Linux) and run:
    cabal update
    cabal install Euterpea
  • Mac/Linux only: install a MIDI software synthesizer, such as SimpleSynth or Fluidsynth. Make sure it’s running before you start Euterpea in GHCi.
  • If you also want HSoM (the textbook companion library), then run: cabal install HSoM
    • Mac users: to use HSoM’s MUIs, you must compile to executable. Go to the download and installation page‘s section on “Testing HSoM’s MUIs” for information on how to do this.

Then, go to the Examples page and try some things! For more detailed installation information and troubleshooting, please see the download and installation page (troubleshooting is at the bottom).

What’s on this site

  • Library setup information:
  • Haskell School of Music – a textbook detailing Euterpea and its applications. The textbook comes with its own library, HSoM, that expands on Euterpea and includes Musical User Interfaces (MUIs).
  • API Documentation – features available in the Euterpea and HSoM libraries.


  • (17-Sept-2017) VividEuterpea lets you play Euterpea Music values with real-time audio processing using the Vivid library. It’s a one-file utility set that you can drop into your project folder. Vivid must be installed (easy to do with “cabal install vivid”) and SuperCollider must also be installed. SuperCollider must be running and have its server booted up before you try to play music with VividEuterpea.
  • (26-Aug-2017) Dependency issues with Haskell Platform 8.2.1 have been resolved.
  • (08-Aug-2017) The double-click-to-open bug seems to be resolved on many Windows 10 machines now after some number of small OS updates. If you are still experiencing this problem, please try running Windows Update.
  • (31-May-2017) HSoM 1.0.0 is now on Hackage.
  • (31-May-2017) Euterpea 2.0.3 is now on Hackage. Please note that HSoM requires Euterpea 2.0.3 now and will not work with earlier versions of Euterpea.
  • (18-May-2016) With the Creators Update, Euterpea will now work on Windows 10 with any version of GHC 8.0.2. The “play” function finally works on 64-bit versions without issues!
  • (17-Apr-2016) Musical User Interfaces (MUIs) should work on all recent Macs now! See the special Mac instructions for HSoM on the download and setup instructions page (it involves reinstalling GLUT in a very particular way).
  • (22-Dec-2016) New additions: one-page quick reference PDFs for Euterpea’s note-level and signal-level features.  These are meant for quickly looking up what some of the most commonly used features are without digging through Euterpea’s source code or the HSoM textbook.
  • (22-July-2016) The Examples page has been updated.
  • (9-May-2016) Euterpea-2.0.0 is now available on Hackage!

Please send questions and comments to Donya Quick.