Please Use GitHub

Since 2017 slippery chicken uses github to manage its code repository. From 2020, due to increasing problems relating to Mac OSX apps, slippery-chicken will only be available as a source code download. The information and instructions below can be considered deprecated. See the github wiki entry for how to install slippery chicken and using github for more information.

Quickguide

If you already have a Lisp interpreter and want to try out the basic system, see the basic installation instructions below.

Alternatively, there's a wiki entry on how to install slippery chicken 'by hand'.

Macintosh users who don't already have Lisp running on their system and want to use slippery chicken to generate sound files with CLM might find the application easiest to install and use.

If have Mac OSX or Windows 7 and you're new to Lisp and slippery chicken then the easiest version to install is one of the pre-compiled images.

NB Interaction with the pre-compiled images is limited to copy-paste, so you might be interested in the Emacs+Lisp+SLIME combination. However, you won't need to install SBCL, rather, when you edit your .emacs file, you replace the path to SBCL with (setq inferior-lisp-program "/path/to/wx86cl.exe -n -I /path/to/sc.image").

Installing slippery chicken from the source code

The rest of this page is devoted to installing slippery chicken from the source code.

slippery chicken requires an ANSI Common Lisp interpreter for use. Many different interpreters are freely available for most operating systems (see below), however we only use and test Steel Bank Common Lisp and Clozure Common Lisp.

Interpreter-specific and platform-specific installation details for slippery chicken can be found on the page install-notes.html in the sc/doc/ directory and will be updated and expanded as new details become available.

Depending on the kind of output desired, the user may be required to obtain and install additional software packages prior to installing slippery chicken. Please look at the headings below to find the appropriate installation guidelines for different usages.

Requirements

The minimum installation requirements for all purposes are:

Optional additional packages include:


slippery chicken on its own (including CM) and in conjunction with CMN and LilyPond has been confirmed to run in the following configurations (see the above note about slippery chicken's partial loading of CM on Windows):

Mac OSX Linux Windows7
x86 x86-64 x86 x86-64 x86 x86-64
SBCL X X X X
CCL X X

slippery chicken in conjunction with CLM has been confirmed to run in the following configurations:

Mac OSX Linux Windows7
x86 x86-64 x86 x86-64 x86 x86-64
SBCL X X
CCL X X

NB: Michael Edwards ran slippery chicken on Windows XP with CM/CMN/CLM for years but found that the only Lisp/C compiler combination that worked with CLM was Allegro Common Lisp and Microsoft Visual C++. Both of these are quite expensive pieces of software (the free version of Allegro had memory limitations that made running CLM impossible). Due to this fact they are currently unsupported in slippery chicken. Also, as of May 2013, slippery chicken does not work with the current SBCL (1.0.55 and later) on Windows XP.

General installation instructions

Basic installation—for MIDI output only

This basic setup will allow the creation of MIDI files only:

  1. Download and unpack the slippery chicken release package.
  2. Start the Lisp interpreter.
  3. Load slippery chicken by entering at the Lisp prompt:
    (load "/path/to/sc/src/all.lsp")

Installation for printable output

For the next two options it is important to note that CMN and/or CLM must be loaded into the Lisp environment and working properly before loading slippery chicken.

If slippery chicken has been loaded previously without having first loaded CMN and/or CLM, and the user would like to install one or both of these programs later, all of the files from the sc/bin/ folder of the slippery chicken release directory must first be deleted, then CMN and/or CLM must be loaded into the Lisp environment, and then slippery chicken must be loaded again.

Installation for music score generation

In order to generate printable notation using slippery chicken, either LilyPond or CMN must be installed.

For use with LilyPond, first obtain LilyPond and follow its instructions for installation. slippery chicken can be used to produce .ly files via the write-lp-data-for-all method and (on some systems) lp-display can be invoked to run Lilypond automatically.

In order to use CMN with slippery chicken, first obtain CMN and follow the instructions in its documentation to load it into the Lisp environment. Once CMN has finished compiling and loading, continue by following the steps in the "Basic installation" above.

CL-USER> (load "/path/to/cmn/cmn-all.lisp")

Installation for sound file generation

In order to use slippery chicken for compositions that consist of or include electroacoustic ("tape") parts, CLM must be installed.

Obtain CLM-4 and follow the instructions in its documentation to load it into the Lisp environment. Once CLM has finished compiling and loading, continue by following the steps described in the "Basic installation" above.

CLM's nrev reverberation instrument must also be compiled and loaded in order to use slippery chicken with CLM. To compile nrev, first load CLM into the Lisp environment and switch to the CLM package:

CL-USER> (load "/path/to/clm-4/all.lisp")
CL-USER> (in-package :clm)
CLM> (compile-file "/path/to/clm-4/nrev.ins")
CLM> (load "/path/to/clm-4/nrev")

The nrev instrument must only be compiled once. After that it need only be loaded.

Running slippery chicken

If using CMN and/or CLM in a given slippery chicken session, these must be loaded prior to loading slippery chicken. A typical slippery chicken session in which both CMN and CLM are used may start by entering the following at the Lisp prompt:

CL-USER> (load "/path/to/clm-4/all.lisp")
CL-USER> (in-package :clm)
CLM> (load "/path/to/clm-4/nrev")
CLM> (in-package :cl-user)
CL-USER> (load "/path/to/cmn/cmn-all.lisp")
CL-USER> (load "/path/to/sc/src/all.lsp")

Emacs+SLIME users can alternatively add those lines of code to their .swank file to have them load automatically on startup. For example, the basic .swank code on Michael's CCL system would be

(load "/lisp/cmn/cmn-all.lisp")
(load "/lisp/clm-4/all.lisp")
(load "/Users/medward2/lisp/sc/src/all.lsp")

(in-package :clm)
(compile-file "/lisp/clm-4/nrev.ins")
(load "/lisp/clm-4/nrev.dx32fsl")

Once slippery chicken has been compiled and loaded, switch to the sc package by entering (sc) at the prompt in the Lisp listener. This changes the prompt symbol to SC>.

CL-USER> (sc)
(\  }\   
(  \_('> slippery chicken 1.0.0-beta1 (svn revision 1718 2012-05-15 18:14:24)
(__(=_)  
   -"=   
SC> 

To have slippery chicken produce output from previously saved files, those files can be loaded at the SC> prompt of the Lisp listener:

(load "/path/to/sc-file.lsp")

A number of example compositions and tutorials can be found in the manual.