SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

***************************************************

  • SATAN - Signal Applications To Audio Networks
  • (C) 2003 by Anton Persson & Johan Thim *
  • Released under the GPL - GNU General Public License
  • See COPYING for more information about this license.
    INSTALLATION

    The file INSTALL contains a more detailed description of how to install this application, but here is a brief instruction. Write the following sequence of instructions in your shell:

        % make
        % make install
USAGE

SATAN accepts the following parameters:

        -f <filename>   : Name of a .lcf input file,
                          default is to read from STDIN.
        -b <bytes>      : Buffer size to use, defaults
                          44100. This Can also be set in
                          the .lcf file, which then
                          overides all.
        -p              : Display a progress bar.
        -m              : Interval used to display a
                          "am alive" message, and statistics.
        -h              : Print a small help message.

To invoke SATAN:

% satan -f my_soul.lcf -p

LCF-files:

SATAN uses special text-files called .lcf-files that describe a network of units that process different audio signals. SATAN supports c-style comments in the .lcf-file, so a basic file looks something like this:


begin

/* Load different modules */

        /* Soundcard support */
        dynmod( satan/plugins/dynao.so, dynao); 
        /* Demo synth */
        dynmod( satan/plugins/ssynth.so, ssynth);

/* Some parameters */

        time_limit = 60; /* Run the net for 60 secs */
        buffer_size = 4096; /* Data buffers of 4k */
        bpm = 100; /* Tell the ssynth module to run at
                      100 beats per minute */

/* Describe some unit */

        unit bassU {
                signal y : out;
                begin
                        /* This unit just calls
                         * the ssynth module to
                         * generate a bassline
                         */
                        func ssynth(bass) => <y>;
                end
        }

/* The main part of the .lcf-file, this

  • is where the network is described. */

    main {

    b : unit bassU; /* An instance of the

    • bass line unit. */

destination : unit audioU; /* some output */

                begin
                        b@y => destination@x;
                end
        }

end

The audioU-unit wasn't described here, see the example's directory for a working example.

WRITING YOUR OWN MODULES:

SATAN can dynamically load different modules to process signals. Examples of different modules can be found in the dynlib directory.
<DOCUMENTATION PENDING>


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.