Software Resources
Home Introduction Grading Reading Computing Resources Software Resources Syllabus Assignments

 

* Oct 26: Latest latest release of Haskore: please use this zip file to replace your old version. *

Latest release of Haskore: please use this zip file to replace your old version.

Some of the assignments will involve programming in Haskore and HasSound, which are Haskell libraries for computer music production.  You can load these programs onto your own machine, or use the Zoo or CS computer music lab, as described below.

The Zoo

  1. The Linux machines in the Zoo have both GHC and csound installed, which can be invoked from the command line via "ghc" (the compiler), "ghci" (the intepreter), and "csound".
     
  2. You should download Haskore/HasSound yourself.

Installing onto your own machine

  1. Download and install GHC 6.4.2 from http://www.haskell.org/ghc/.
    For Windows users:
    bullet

    You should include the directory to runhaskell.exe in your PATH environment.  For example, if you installed GHC in C:\ghc, then C:\ghc\ghc-6.4.2\bin is the directory to be added.

    bullet

    To modify the PATH environment, right click on "My Computer", then follow "Properties" -> "Advanced" -> Environment Variables" -> "Edit" PATH.  PATH is a semicolon separated list of directories.  You may verify the change by starting a console window, and typing runhaskell.exe at the prompt to see if it is able to find the program.
     

  2. Download and install CSound 5.03 from http://www.csounds.com/.  You may choose the double precision version.
    For Windows users:
    bullet

    csound will automatically include the directory to csound.exe in your PATH environment.  You may verify it by starting up a console window, and typing csound.exe at the prompt to see if it is able to find the program.
     

  3. Download and install the Haskore zipfile (which includes HasSound) from here.
    For Windows Users:
    After you unpack the zip file, go to the downloaded directory "haskore" in a console window, and type:

           runhaskell Setup.lhs configure --user --prefix=%HOMEPATH%
           runhaskell Setup.lhs build
           runhaskell Setup.lhs install

    For Linux Users:
    After you unpack the zip file, use the shell to go to the downloaded directory "haskore", and type:

           runhaskell Setup.lhs configure --user --prefix=${HOME}
           runhaskell Setup.lhs build
           runhaskell Setup.lhs install

    Wait until each command line finishes properly before typing in another.

    This process should install the Haskore package as a local GHC library.  Should future Haskore versions become available, they must be installed in this same way before use.
     

  4. For Linux users, you also need to download and install Timidity++ from http://timidity.sourceforge.net/index.html.en in order to play MIDI files.
     

  5. To verify you have a working Haskore installation, start ghci and type:

         Haskore.Interface.MIDI.Render.playMidi Haskore.Example.ChildSong6.song

    It should start playing the song in a MIDI player, which, in this case, is wmplay32 for Windows, or timidity for Linux.
     

  6. To verify csound in a similar way, do the following:

        Haskore.Interface.CSound.Tutorial.test Haskore.Interface.CSound.Tutorial.tut1

    This should start csound to play the tune tut1.  For Windows, csound is able to play the tune directly.  For Linux, the sound is piped to the "play" command.  If you don't hear anything, verify that you have the "play" command; otherwise, you may install sox from http://sox.sourceforge.net/, which provides the "play" command.