[CM] Arno in Grace?

rm at tuxteam.de rm at tuxteam.de
Wed Dec 28 05:04:31 PST 2011

On Wed, Dec 28, 2011 at 12:12:33PM +0100, Dr. des. Alan Fabian wrote:
> Hi,
> I am interested in the programm "Arno" by Torsten Anders, it is a extension 
> of cm. 

Looks very interesting - thanks for mentioning it here.

> So I tried to install cm and I got Grace. Grace is fantastic and I 
> am going to work with it, but i have no idea how to get Arno in Grace 
> running.
> Has anyone experience with it or ideas?

This program most likely requires/runs with CM2 - Grace is CommonMusic3,
IIRC. To get your copy of CommonMusic2 you need to check out the cm2
branch from the subversion repository. What OS are you using? On
Linux/OSX it's as simple as (in a terminal):

$ svn co https://commonmusic.svn.sourceforge.net/svnroot/commonmusic/branches/cm2

(all in one line). That will fetch the code from the repository and put
it into a directoy/folder 'cm2'.

> Alan
> P.S.: I attached the INSTALL-description by Anders, it is from around 
> 1999...

Today, I would certainly use asf and quicklisp to install software
dependencies (oh, and wouldn't it be nice to have cm2 as a quicklisp
installable software ...;-)
I couldn't find the sources for Arno, otherwise I could have given you
more detailed instructions.

 HTH Ralf Mattes

> To run ARNO you need the following programs:
>    - a Common Lisp compiler (ARNO is testet under Linux with Allegro Common Lisp
>      by Franz Inc., see "www.franz.com", and under MacOS with Macintosh Common  
>      Lisp by Digitool Inc., see "http://www.digitool.com/")
>    - Common Music. See "http://ccrma-www.stanford.edu/CCRMA/Software/cm/cm.html"
>    - Sceamer. See "http://www.cis.upenn.edu/~screamer-tools/home.html"
> First you have to install the Common Lisp compiler. The order of the
> installation of Common Music and Screamer doesn't matter, but both must be
> installed before ARNO. For the installation of the compiler, of Common Music
> and Screamer see its documentation.
> To compile ARNO please edit the path in the file compile-arno.lisp. Find the line
>    (setf *arno-dir* "/home/t/lisp/...")
> and put the full path of the program there. Evaluate the file. Your compiler
> should notice some compilation and after that you should find the *.fasl (or
> whatever extension) files in your dir.
> You have to do this only once. To load ARNO please edit first the path in the
> file load-arno.lisp. Again find the line 
>     (setf *arno-dir* "/home/t/lisp/...")
> and put your path there. Evaluate the file every time you want to load ARNO
> into your Lisp compiler. 
> If your got an error you perhaps have to chance the extension (".fasl"
> defaults for acl and MCL)  of the compiled files in the line
>     (dolist (path (add-exension cm::*arno-files* ".fasl"))
>       (load path))	  
> If this doesn't work either please contact:
>    torsten.anders at hfm.uni-weimar.de 

> Arno is a program for computer assisted composition which extends Common
> Music (CM) by means of constraints programming using Screamer.
> Constraints programming allows a composer to synthesize a score by describing
> it. The composer defines the constraints, in other words, the properties
> which the result of the program must fulfil. The program searches
> for a solution to satisfy the given constraints. Constraints programming
> thus frees the composer to concentrate on what he wants to do musically.
> The how is left to the computer.
> The composer can describe the desired musical result from various viewpoints
> on the score such as --- traditionally speaking --- harmony, voiceleading
> or instrumentation. Arno does not however bind the composer to any
> specific musical style.
> In Arno the desired content of a CM container can be declared nondeterministically
> using finite domains. For all parameters of the CM elements in that
> container a finite domain (instead of single values) can be declared,
> including the rhythm, the note, or any sound synthesis parameter.
> Any domain can contain any values or even expressions. After the program
> search, each parameter of each CM element is bound with one value
> of its domain which fulfils all its constraints. Hierarchic structures
> of CM containers in containers can also be declared. 
> In Arno, constraints are expressed as predicates which test one CM
> object. Various functions are defined to easily express relations
> between objects. Functions exist, for example, to reach all predecessors
> of an object (in the same CM thread), or to reach all simultaneous
> objects (in the same CM merge). Further relationships can be defined
> using the CM API. These relationships can be constrained using any
> parameter of the objects.
> The program performs a backtracking search. Heuristics for value ordering
> in the domain can also be used. For the sake of performance, backjumping
> has been implemented. A dynamic CSP variable order is projected.
> Arno is the result of my diploma thesis. I did it mainly for my own work, 
> but if someone else may need it... 
> The software is provided "AS IS" and any express or implied warranties, 
> including, but not limited to, the implied warranties of fitness for a 
> particular purpose are disclaimed.
> Torsten Anders

> _______________________________________________
> Cmdist mailing list
> Cmdist at ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

More information about the Cmdist mailing list