ftp.nice.ch/pub/next/unix/audio/cmusic.bs.N.tar.gz

Apps/
 
Install.info
 
Install.ms
 
Makefile
 
Makefile.m4
 
Makefirst
 
NeXTInstall
 
NeXT_updates/
 

README.wn


 
README_3.0
 
bin/
 
doc/
 
fixinclude
 
fixmakefiles
 
include/
 
lib/
 
m4/
 
makemakefiles
 
man/
 
src/
 
tutorials/
 

README.wn

IJJJXJZ$FPFLFHFXFT	!99dHHd/dCwoE(CwoE(wJbJbJb^=C"$FPFLFHFXFT	 !99dHHd/d9" 9" w1===^







88xHH/d[(HHdd'@
You can simply run NeXTInstall provided the following conditions are met: 

H
6L0ö(1) you are su'd to root, 

(2) the disk partition containing /usr/include and /usr/man is writable (for some  reason it sometimes is a read-only parition on the NeXTs), 

(3) you want the results (installed programs) to reside in directory  /carl/bin which you must then include in your path in order to  run cmusic and pv.
F
L0ö
NeXTInstall will write a file called whoami.h in /usr/include as well as a directory /usr/include/carl.  Except for things installed in the manual page directory /usr/man, everything else will happen inside the /carl directory itself.  If you want something different, you'll have to read below about setting up the relevant config files, etc.

While cmusic and pv are known to work on the NeXT, there are some minor differences between the NeXT and previous versions.  The sndfile unit generator, for example, is slightly different on the NeXT machine than elsewhere.  The definitive source of information about cmusic unit generators is the help command (e.g, "help cmusic/ugs").  cmusic itself also has a new flag on the NeXT (f) which causes it to automatically write a .snd file with the same first name as the (.sc) score file it reads.  The default cmusic output is 16-bit fixed point on the NeXT, and the default sampling rate is 22050 (mono).  Otherwise, things are pretty much the same as always.
8
Good luck!

F. Richard Moore (frm@sdcarl.ucsd.edu)    

Note, if you change the  macro  m4INCLUDE,  you  must  do  a further   manual   step   described   below  in  Retargeting /usr/include/carl.  Read that first before continuing here.

The manual pages need a little  attention.  Installation  of manual pages is done by the Makefile in man.  Before running that makefile, however edit the file  man/man1/srcvt.   This is a shell script that will fix the documentation to reflect the sampling rates of your system.   Modify  it  to  reflect local  values.  This script is run on the manual pages after they are copied to their target  directory,  so  the  manual page sources are not changed.

L0öCARL SoftwareProvisional NeXT Distribution

This directory and its descendants contain source and supporting code for the  cmusic program originally part of the CARL Software Distribution from the Computer Audio Research Laboratory (CARL), Center for Music Experiment, Q-037, University of California, San Diego, La Jolla, California 92093.  This provisional NeXT release does not contain all of the software originally distributed by CARL, but only cmusic and related support programs (such as cmusic function generators like gen4, chubby, etc.), and pv, the new phase vocoder program described in Elements of Computer Music by F.R. Moore (Prentice-Hall, Inc.).
N
(You need to read the rest of this only if you don't want the default setup described above.)


 
Installation of the CARL Software Distribution


We have tried to make the installation of this  software  as straightforward as possible by use of the m4 macro processor in conjunction with make.

The makefiles typically have the destination directories and pathnames to the libraries embedded in them, changing all of the makefiles would normally be a chore.  What we have  done is  to  have  a ``master makefile'' that has m4 macros in it for defining the directories, libraries, etc.  and have  the definitions  for  these  macros  in  one  file.   All of the makefiles include a ``configuration'' file which defines the macro  names used in the master makefiles.  Each program has its own master makefile, and a ``super makefile'' for all of the  sources runs m4 on each of the master makefiles producing the makefile that make uses.  What follows are the steps that must be followed to install it.

The configuration file is named include/carl/config.m4.   It has  all  of  the definitions for the destination directory, libraries, and other site-specific information.   It  should be  edited to reflect your installation.   Note that because this file is used by m4 that any macros that  m4  recognizes must be quoted; in particular you will see lines of the form

        include(/usr/"include"/carl)dnl

the double set of quotes around the word include prevent  m4 from  interpreting  it as an m4 command.   Normally only one set of quotes would be needed but because the macros in this file are seen twice two sets of quotes must be used.

The file include/carl/defaults.h contains default values for many  of  the  programs, including the default sampling rate for the DSC converters.  Edit and  modify  this  program  as required, but read the next paragraph first.

If your version of UNIX did  not  come  with  a  file  named /usr/include/whoami.h,  (Berkeley  seems  to have taken this file out of their standard release for some obscure reason), you   can   use  this  one:  include/whoami.h.   Put  it  in /usr/include.  It is supposed to contain a macro  definition that  is  the  name of your system. This file is included by any CARL programs that need to know the particular  hardware environment   of   your   site.   For   instance,  the  file include/carl/defaults.h has one set of values used at  CARL, and another set used at IRCAM.  By saying # ifdef CARL  ... # endif CARL such site-specific code has been isolated.  The easiest  way to install CARL software is to pretend that you are at CARL, and use the whoami.h and defaults.h files as they  are.   If that is not possible (e.g., if your converters run at a different rate), the next easiest thing to do is to still  pretend  you  are  at  CARL,  and  just  change  the  values in defaults.h that you must.  The most general approach  is  to copy  the  code that depends on the macro CARL, change it to depend on your own site's name, and  change  the  site  name definition in whoami.h.
.
So you have done the following steps:

o+    modified config.m4 as needed,

o+    the manual pages have been attended to,

o+    whoami.h is in /usr/include,

o+    and defaults.h looks ok.

Proceed to install the CARL software by issuing the command

        % make -f Makefirst

or

        % make -f Makefirst >& errs &

The latter form saves a record of the compilation process in the  file  errs.  You can periodically check on its progress by saying

        % tail errs

or

        % tail -f errs

The second form allows you to watch the continuing progress.

If, after having run Makefirst, compilation does not  go  to completion,  first do whatever you need to do to correct the situation, then from then on it suffices to just say

        make

The first step of Makefirst is to clean out all executables, .o  files  and  everything  needed to force recompilation of everything.  It then runs m4 on the super  Makefile.m4  file in the root directory of the CARL software, which causes the new Makefile to  have  all  the  right  values  you  put  in config.m4.  Makefirst then executes this new super Makefile. The super Makefile first creates the target directories  for executables,  libraries,  manual  pages, include files etc., then it copies the config.m4 file, and all the other include files to their destination.  Then it starts recursively executing the makefiles  in  subdirectories  that  compile  the sources; first libraries, then application programs.
9
When it is done, and you are satisfied that everything  compiled correctly, say

        % make install

in the CARL software root directory.  This will  go  through all directories installing the compiled code.

Retargeting /usr/include/carl

By default, CARL software uses /usr/include as the home  for a  subdirectory  named carl which contains all .h files.  If you specify a different target  location  for  CARL  include files  in include/carl/config.m4, a script fixmakefiles will be executed in the super Makefile to change all  Makefile.m4 files to refer to the place you have specified.  NOTE: it is highly recommended to usr  /usr/include/carl,  as  otherwise another  step  must  be  done manually to change many of the include statements in the program sources.

At this moment, if you want to put CARL include  files  anywhere  besides /usr/include/carl you will have to modify all .c and .h files so  that  any  reference  to  <carl/...>  is changed to <wherever/...>.  This can be done with a combination of find and sed, such as the following,  which  changes all instances of <carl/ to <local/carl/.

 find  .  \(  -name  '*.h'  -o  -name  '*.c'  \)  -exec   sed "s:<carl/:<local/carl/:"  {} > /tmp/xxx \; -exec mv /tmp/xxx {} \; 

(The foregoing was a single  command.)  This  would  convert define statements in .c and .h files of the form # include <carl/carl.h> to # include <local/carl/carl.h>. You might want to try your luck with the shell script fixinclude in this directory.

CARL Directory Usage

By default, CARL Software touches  only  one  standard  UNIX directory: /usr/include.  It expects to have a file whoami.h and a directory /usr/include/carl containing the  configuration file config.m4 and the rest of the .h files.

All other files are ordinarily put  in  a  common  directory tree  named  the  same  as  the  host machine on which it is installed.  For instance, at CARL,  the  directory  tree  is named  /carl,  which is one of our large partitions where we also put all other local files, such as user  accounts.   We avoid  the  use  of  /usr/local, as this has come to be considered a part of the regular UNIX directory structure,  and changes character from one UNIX port or version to another.

Under the host directory (/carl, at CARL), we  have  several subdirectories:    /host/lib,    /host/bin   and   /host/man (/carl/{lib,bin,man} at CARL).  The  CARL  software  itself, according   to   this   logic,   belongs   in   subdirectory /host/src/import/carl.

A worthwhile step is to make /usr/local/lib a symbolic  link to /host/lib so that the compiler load flag works; e.g., you can say

        cc ... -lcarl


To access the manual pages, set your MANPATH shell  environment variable to

        set MANPATH  /usr/man:/host/man
Tdtddo@$Z$0$"$R$!;$$v'*_!
L0öCARL SoftwareProvisional NeXT Distribution

This directory and its descendants contain source and supporting code for the  cmusic program originally part of the CARL Software Distribution from the Computer Audio Research Laboratory (CARL), Center for Music Experiment, Q-037, University of California, San Diego, La Jolla, California 92093.  This provisional NeXT release does not contain all of the software originally distributed by CARL, but only cmusic and related support programs (such as  function generators like gen4, chubby, etc.), and pv, a phase vocoder program.  These programs are fully described in Elements of Computer Music by F.R. Moore (Prentice-Hall, Inc.).

You can simply run NeXTInstall in this directory provided the following conditions are met: 

H
6L0ö(1) you are su'd to root, 

(2) the disk partition containing /usr/include and /usr/man is writable (for some  reason it sometimes is a read-only parition on NeXTs), 

(3) you want the results (installed programs) to reside in directory  /carl/bin which you then must include in your path in order to  run cmusic and pv.
y
L0ö
NeXTInstall will write a file called whoami.h in /usr/include as well as a directory /usr/include/carl.  Except for man pages installed in directory /usr/man, everything else will happen inside the /carl directory itself.  If you want something different, you'll have to read below about setting up the relevant config files, etc.

While cmusic and pv are known to work on the NeXT, there are minor differences between the NeXT and other versions.  The sndfile unit generator, which allow cmusic to read and process soundfiles, is slightly different on the NeXT machine than elsewhere.  The definitive source of information about cmusic unit generators is the help command (e.g, "help cmusic/ugs").  cmusic itself also has a new flag on the NeXT (f) which causes it to automatically write a soundfile (.snd) with the same first name as the score file (.sc) it reads.  The default cmusic output is 16-bit fixed point on the NeXT, and the default sampling rate is 22050 Hz (mono).  Otherwise, things are pretty much the same as always.
Td,d/d1@$Z$0$"$R$!;$$v'*_#
You can simply run NeXTInstall in this directory provided the following conditions are met: 

H
6L0ö(1) you are su'd to root, 

(2) you have copied (recusively, of course) the carl directory to /,

(3) the disk partition containing /usr/include and /usr/man is writable (for some  reason it sometimes is a read-only parition on NeXTs), 

(4) you want the results (installed programs) to reside in directory  /carl/bin which you then must include in your path in order to  run cmusic and pv.
Td,d6d1@$Z$0$"$R$!;$$v'*_
L0öCARL SoftwareProvisional NeXT Distribution

This directory and its descendants contain source and supporting code for the  cmusic program originally part of the CARL Software Distribution from the Computer Audio Research Laboratory (CARL), Center for Music Experiment, Q-037, University of California, San Diego, La Jolla, California 92093.  This provisional NeXT release does not contain all of the software originally distributed by CARL, but only cmusic and related support programs (such as  function generators like gen4, chubby, etc.), and pv, a phase vocoder program.  These programs are fully described in Elements of Computer Music by F.R. Moore (Prentice-Hall, Inc.).  In addition, a version of the phase vocoder called pvdspwhich uses the 56001 DSP to do the FFTs (at least up to 1K points)is included for your computational excitement.  (pv and pvdsp are otherwise the same).
Td9"d6d1@$Z$0$"$R$!;$$v'*_
L0öCARL SoftwareProvisional NeXT Distribution

This directory and its descendants contain source and supporting code for the  cmusic program originally part of the CARL Software Distribution from the Computer Audio Research Laboratory (CARL), Center for Music Experiment, Q-037, University of California, San Diego, La Jolla, California 92093.  This provisional NeXT release does not contain all of the software originally distributed by CARL, but only cmusic and related support programs (such as  function generators like gen4, chubby, etc.), and pv, a phase vocoder program.  These programs are fully described in Elements of Computer Music by F.R. Moore (Prentice-Hall, Inc.).   Also included here is pvdspa version of pv which uses the 56001 DSP to do the FFTs (at least up to 1K points).
#
You can simply run NeXTInstall in this directory provided the following conditions are met: 

H
6L0ö(1) you are su'd to root, 

(2) you have copied (recusively, of course) the carl directory to /,

(3) the disk partition containing /usr/include and /usr/man is writable (for some  reason it sometimes is a read-only parition on NeXTs), 

(4) you want the results (installed programs) to reside in directory  /carl/bin which you then must include in your path in order to  run cmusic and pv.
7
L0ö
NeXTInstall will write a file called whoami.h in /usr/include as well as a directory /usr/include/carl.  Except for man pages installed in directory /usr/man, everything else will happen inside the /carl directory itself.  If you want something different, you'll have to read below about setting up the relevant config files, etc.

While cmusic, pv and pvdsp are known to work on the NeXT, there are minor differences between the NeXT and other versions.  The sndfile unit generator, which allows cmusic to read and process soundfiles, is slightly different on the NeXT machine than elsewhere.  The definitive source of information about cmusic unit generators is the help command (e.g, "help cmusic/ugs").  cmusic itself also has a new flag on the NeXT (f) which causes it to automatically write a soundfile (.snd) with the same first name as the score file (.sc) it reads.  The default cmusic output is 16-bit fixed point on the NeXT, and the default sampling rate is 22050 Hz (mono).  Otherwise, things are pretty much the same as always.  Oh yes, the pv and pvdsp programs now read and write binary floating point values instead of the ASCII values described in the book.
B
Please keep in mind that this is all work-in-progress and is in no way guaranteed to work for any particular purpose.  Please do not redistribute this software!

Once you get things installed, I recommend you say "man carl" for an overview of what's here.  

Good luck!

F. Richard Moore (frm@sdcarl.ucsd.edu)    
Td=dARdCw$H$Z$0$"$R$!;$$v'*_88

README_3.0

August, 1993

Under NeXTOS 3.0 for the Motorola platform, the dsp array processing
library that is needed to compile pvdsp is no longer included with
the operating system.  This library is available from CCRMA at Stanford,
via anonymous ftp. It is part of the MusicKit distributed by CCRMA.
The Internet address as of this date is:
	ccrma-ftp.stanford.edu.

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.