[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference napalm::commusic_v1

Title:* * Computer Music, MIDI, and Related Topics * *
Notice:Conference has been write-locked. Use new version.
Moderator:DYPSS1::SCHAFER
Created:Thu Feb 20 1986
Last Modified:Mon Aug 29 1994
Last Successful Update:Fri Jun 06 1997
Number of topics:2852
Total number of notes:33157

1511.0. "Csound - Audio Processing/Synthesis Under Unix/C" by KIPPIS::LEHTINEN (New Age Music) Wed Jul 06 1988 12:33

                   CSOUND
     
                  from MIT
        for Fast Audio Processing and Synthesis
              under Unix and C
     
     
The Music & Cognition Group, a unit of MIT's Media Laboratory, has released
Csound, a program for fast audio processing and synthesis written entirely
in C.  Csound is easily installed on any machine running Unix.  At MIT it
runs on VAX, MicroVAX and Sun3 machines under Unix 4.3 BSD, and on Hewlett-
Packard Bobcat workstations under HP-Unix (essentially System 5).  Users
move easily from machine to machine, accessing soundfiles remotely over
ethernet.  Csound is also available in a VMS version.
     
Instruments in Csound are user-defined in a simple high-level syntax.  This
handles two kinds of signals, control signals and audio signals, processed
in parallel by complex audio processing routines.  While these signals look
very similar (i.e. have the same syntax), the expedient of processing at two
different sampling rates means you can run complex, intelligent instruments
at highly efficient synthesis rates.
     
Audio processing and synthesis methods are comprehensive.  A one-line
statement will invoke any of the following:  complete FM synthesis, compound
additive synthesis, the Karplus-Strong plucked string, band-limited pulse
generation, portamento, LPC synthesis, formant-shifted LPC, tapped delays,
reverberation.  There is no limit on the number of channels of audio input
for mixing and processing; output is up to 4 channels.
     
Scores can be represented at different levels according to user preference.
High level languages include:
       Scot - a language using alphanumeric encoding of pitch and time,
      in a fashion that parallels traditional music notation; and
       Cscore - a program to expand a score with user-written processing
      algorithms given in C.
A user might define a kernel score in Scot, translate it to numeric form,
then expand and modify the data using Cscore before sending it on to a
Csound orchestra for performance.  This provides a powerful way of
exploring score structures.
     
This Csound release is restricted to use for noncommercial research and
educational purposes only.  Distribution is as is, with no implied support
from MIT.  You get a snapshot of all current sources, installation
instructions, and a user manual in ditroff form.  Csound is available at
no cost over computer network via FTP.  For those without FTP capability,
Csound can be supplied on tape, at cost.  A Csound bulletin board is also
available for online communication among users.  To be added to the Csound
bulletin board, or to receive FTP instructions, write to:
     
        csound-request@ems.media.mit.edu
     
For a 1600 bpi tar tape and printed manual, US50 copying and mailing fee
is requested.  (For a Hewlett-Packard "Bobcat" tape of the System 5 version,
send 100.)  Orders with payment should be addressed to the Music and
Cognition Group, Media Lab, E15-483, MIT, Cambridge MA 02139.
     
     
2/88
     
    
T.RTitleUserPersonal
Name
DateLines
1511.1kit locationKIPPIS::LEHTINENNew Age MusicWed Jul 06 1988 12:389
    For anyone interested I have the CSOUND distribution as a
    compressed tar file in:
    
    	aino::/pub/csound210688.tar.Z
        
    
    Rgds,
    
    Timo
1511.2Atari might run itDYO780::SCHAFERBrad - DTN 433-2408Wed Jul 06 1988 13:594
    For what it's worth, a Unix O/S (Minix) is available for the ST. Don't
    know if it would support this or not. 

-b
1511.3KIPPIS::LEHTINENNew Age MusicWed Jul 06 1988 15:4131
    Re: .-1
    
    To me the biggest problem here is not the O/S. I'm currently
    using an IBM PC/AT clone running UNIX System V as my music
    computer - i.e. MIDI sequencing. What's needed is an audio 
    quality ADC/DAC system and a fast disk - and both cost like
    hell! 
    
    There's a good stereo ADC/DAC system for the AT-bus (and for 
    Q-BUS and some others) available from Micro Technology Unlimited. 
    It has a maximum sample rate of 48Khz, 7th order elliptical
    input and output filters, internal buffering etc. The only sad 
    thing about it is that it costs around $4000.

    The second requirement, a fast disk (for direct-to-disk recording),
    could be filled by a SCSI or an ESDI winchester, but they aren't
    cheap either - at least compared to the standard ST-interface disks
    for AT's.
     
    I'm waiting for the DAT-recorder boom to bring the prices of audio 
    ADC's down, but then again it might take too long. (I'm allready 
    counting my money :-)) However, once the initial investment is
    done it's cheaper to write a c-program for, say compressing
    than purchase a rack mount device for that purpose.
     
    Anyway it's nice to know that there are allready plenty of free
    software for digital audio processing once you get the required
    hardware. I will focus on CMIX and CMUSIC next.    
    
    Timo
    
1511.4My two cents...DECSIM::MERLETTEThu Jul 07 1988 15:336
    I've used CSOUND in two computer music courses at Princeton. Its
    easy and powerful. Depending on the complexity of the instruments
    you define, it can take a long time to run. For example, a piece
    which contained church bells realized by additive synthesis took
    11 hours to process for 6 minutes of output. I still love it though.
    DM
1511.5KIPPIS::LEHTINEN128.45.56.1Thu Jul 07 1988 19:4713
    re: .-1
    
    Hmmm... that doesn't sound too interactive. :-)  On which machine?
    Did it have any floating point accelerator?  Gosh, you'd need a
    Crey XM-P for it... just like for creating animation. How about
    the performance on an average 3 min. piece? 
    
    Do you have any tapes of the pieces you created? That would make
    a nice contribution to a COMMUSIC tape.
    
    Timo 
    
    
1511.6If wishes were horses...DSSDEV::HALLGRIMSSONEirikur, CDA Product ManagerThu Jul 07 1988 20:055
    Boy, I'd like to see a port of this to the Mac II, using the stereo
    D to A.  
    
    	Eirikur  (Yes, I got on the mailing list)
    
1511.7They are...KIPPIS::LEHTINEN128.45.56.1Thu Jul 07 1988 21:0617
    Re: .-1
    
    -> Boy, I'd like to see a port of this to the Mac II, using the stereo
    -> D to A.  

    I'm pretty sure CSOUND builds on Mac II under A/UX with no modifications.  
    It uses no heavily U*IX implementation specific system calls or
    other features. Note that CSOUND does not include a 'play' or 'rec'
    commands because their implementation are completely dependent on the 
    ADC's and DAC's used. They assume you either write your own or have
    received them along with your ADC/DAC system. (Fortunately 'play'
    and 'rec' are fairly easy to write.) 
    
    Do you own a Mac II?
     
    Timo
    
1511.8Just wishing, mostlyDSSDEV::HALLGRIMSSONEirikur, CDA Product ManagerFri Jul 08 1988 04:595
    No, I have a Mac+ with a 68020.  I do have a Mac II at work, though.
    It doesn't have AUX, since the license price bugged my management.
    
    	Eirikur
    
1511.9A few more cents...DECSIM::MERLETTEFri Jul 08 1988 14:5629
    re: .5
    You're right, it's not too interactive. The machine we used was
    a MicroVax running Ultrix. I guess I should have mentioned that
    the 11 hr. run was done in the background, and the class assignment
    was due the next day so the CPU was being pushed to its limit. A
    foreground run with no one else on the system would have been much
    faster, but still not interactive I'm sure! The way CSOUND works
    is basically like this:
    After defining your orchestra (a file with all the instruments your
    piece uses) and your score, you execute a "perf" command (short
    for performance) which reads the files and for each sample computes
    the binary code to be played and writes it to disk. This is the
    time consuming number crunching part which depends on the complexity
    of your instruments and the sampling rate. When this is done, you
    execute a "play" command which reads the perf output, sends it to
    a DAC and plays your piece. 
    About the COMMUSIC tape: the first course I took (taught by Paul
    Lansky) was purely a synthesis course, ie. the object was not to
    make a piece, it was to make some noise. The second course (taught
    by James Dashow) was a composition course where the object was to
    "create a piece with no tonality and no melody". I suppose it might
    make interesting listening, unfortunately I left the PCM tape in
    storage at school. I have an audio copy of it on conventional cassette
    and if this is okay then I'd love to contribute it. Keep in mind
    that I am a summer intern and will be leaving the last week in August.
    Please send me e-mail about getting it included. (I'd like to listen
    to some of the past COMMUSIC tapes also, if possible).
    			Thanks,
    				Darryle
1511.10Real modern conceptsDFLAT::DICKSONNetwork Design toolsFri Jul 08 1988 16:212
Sounds a lot like the old MUSIC4 program written at Bell Labs to run on
the IBM 7094.
1511.11A derivative of MUSIC 11DECSIM::MERLETTEWed Jul 27 1988 20:552
    re .10: Very perceptive. Actually, if I remember correctly, it is
    based on MUSIC 11 and was written by Barry Vercoe.
1511.12LPCAQUA::ROSTEveryone loves those dead presidentsThu Feb 08 1990 12:1257
    From USENET, some stuff about "LPC" which can be interfaced with
    CSound, apparently to allow sampling/resynthesis type of manipulations
    on NeXT computers.
    
    
    
    Sender: news@murdoch.acc.Virginia.EDU
    Organization: University of Virginia, Charlottesville
 
....the release of LPC, a NeXT adaptation of Paul Lansky's
linear predictive analysis and pitch tracking programs.
LPC reads a NeXT or CSound-NeXT format soundfile and produces
a data file which codes the sound in terms of its time-varying
formant characteristics and the RMS levels of a residual excitation
signal. To resynthesize the audio signal, this LPC-derived dynamic
filter is excited with a spectrally rich driver, such as
white noise or a pulse train, though many interesting effects can
be produced with other types of signals. Also, there is a pitch
tracking utility which produces data that may be merged with
the LP analysis data. This pitch information may then be used
to control the pitch of the driving signal during resynthesis. 
 
CSound (Barry Vercoe's software synthesis system) provides signal
modification units which read LPC analysis files and resonate
specified signals through the LP-encoded filters. CSound has also
been ported to the NeXT. The next release of CSound-NeXT (sigh) will
have hooks for launching and communicating with LPC-NeXT, thus
adding another application to the CSound-NeXT integrated tool set.
Due out shortly.
 
CSound-NeXT and LPC-NeXT are both NeXTStep applications, meaning
that their front ends are built on the NeXT graphic user interface
for clear, intuitive interaction.
 
For a detailed explanation of the workings of linear predictive
analysis, try "Computer Music" by Dodge and Jerse. Hal Chamberlin's
"Musical Applications of Microprocessors" also has a few paragraphs
on this.
 
ftp:
	uvaarpa.acc.virginia.edu:/pub/next/Apps/LPC.tar.Z
	uvaarpa.acc.virginia.edu:/pub/next/source/LPC-source.tar.Z
 
Piece-wise uuencoded mailings can be arranged for those who do not have
ftp access.
	
Pete Yadlowsky
Academic Computing Center
University of Virginia
pmy@Virginia.EDU
 
 
--
Peter M. Yadlowsky		| "Pay no attention to that man
Academic Computing Center	|	behind the curtain!"
University of Virginia		|
pmy@Virginia.EDU		|
1511.13Csound not readable on AINOELMAGO::JKRUMPOTICKTue Feb 26 1991 21:599
    I would like to get a copy of the Csound sources on the AINO:: machine,
    but the read protection is not set correctly.  I tried sending some
    mail to the root account but it seems not to have been received.
    
    Does any here know who I should contact to get the file set so that
    it is readable?  The file is:
      AINO::/kits/3rd-party/src/csound210688.tar.Z  -rw-r-----
    
    Thanks.
1511.14YesEEMELI::PLEINOPasi Leino, DECtop Helsinki 879-4451Wed Feb 27 1991 11:294
    You could try decwrl::"ttl@sti.fi" for Timo LEHTINEN the author of .0.
    He has access to AINO::
    
    -Pasi-