In the time since Barry Vercoe wrote the original Preface to
    this manual, printed above, many further contributions have been made
    to Csound. CsoundAC is an extended version of Csound 5.
      
        
        Csound 5 begins a new major version of Csound that includes the
    following new features:
        
          
            - Now licensed under the GNU Lesser General Public License, an
        open source license.
- A new, easier to manage build system using
        SCons.
- 
              The use of widely--accepted open source libraries: 
                
                  - libsndfile for soundfile input and output.
- PortAudio with ASIO drivers for low-latency, real-time audio input and output.
- FLTK for graphical widgets that can be programmed in orchestra code.
- PortMidi for real-time MIDI input and output.
 
 In addition, Istvan Varga has contributed native MIDI and audio drivers for Windows and Linux. 
- Simplified audio buffering system.
- Status returns from all internal functions, including opcode functions.
- MIDI interop opcodes, that enable the same instrument
      definitions to be used interchangeably for either live MIDI
      performance or off-line, score-driven performance.
- 
              Plugin opcodes are working and becoming more widely
      accepted. Many opcodes have been moved to plugins. Most new opcodes
      are plugins, including: 
                
                  - The FluidSynth-based SoundFont opcodes.
- Python opcodes allowing Python code to execute in the
          orchestra header or in instrument code, at i-rate ork-rate.
- Loris opcodes for time/frequency analysis and resynthesis.
- Control bus opcodes.
- Audio mixer opcodes.
- String conversion opcodes.
- Improved Open Sound Control (OSC) opcodes.
- Vectorial opcodes.
- The pvs opcodes
        for real-time spectral processing, a port of Mark Dolson's
        phase vocoder code.
- The ATS opcodes
        for spectral Analysis, Transformation, and Synthesis of sound
        based on a sinusoidal plus critical-band noise model. A sound
        in ATS is a symbolic object representing a spectral model that
        can be sculpted using a variety of transformation
        functions. These opcodes can read, transform and resynthesize
        ATS analysis files. Please note that you need the ATS
        application to produce analysis files.
- The STK opcodes, consisting of Perry Cook's
        original Synthesis Toolkit in C++ instruments, in C++, adapted
        as opcodes.
- DSSI
        and LADSPA adapter opcodes for
        hosting DSSI
        and LADSPA plugins in
        Csound.
- vst4cs VST
        adapter opcodes for hosting VST plugins in
        Csound. (Distributed in source form only due to the VST SDK
        licence restrictions.)
 
 
- The OpcodeBase.hppheader file for
      writing plugin opcodes in C++. This is based on the technique of
      static polymorphism via template inheritance.
- Istvan Varga's csound5gui frontend for Csound, simplifying 
      the editing of Csound, the use of Csound especially for live performance, 
      and the monitoring of performances.
- Victor Lazzarini's Tcl/Tk frontends for
    Csound, cstclsh
    and cswish.
- 
              The Csound API is becoming more standardized
      and more widely used. There are interfaces or wrappers 
      to the API in the following languages: 
                
                  - C
        (include csound.h).
- C++
        (include csound.hpp)). This API includes
        Csound score and orchestra file container
        functions.
- Python (import
        csnd).
- Java (import
        csnd.*;).
- Lua (require
        "csnd";).
- Lisp (use the CFFI
        file csound5.lisp).
 
 
- Csound is now truly re-entrant, meaning that
    multiple instances of Csound can run at the same time, in the same
    process.
 
        John ffitch plans to replace the handwritten parser with one
    written using a parser generator, which should make it more
    bug-free and perhaps more efficient.