soundscrape

A programmatic framework for modular synthesis:
Scheme in the front, C in the back!
< | ^ | > | :>

Overview

The core synthesis engine of soundscrape.

Usage

<ss-element>
[Class]

A class for unit generators.

<ss-pad>
[Class]

A class for pads (connection points) within a synthesis network.

ss-audiosink
[Variable]

The GStreamer element that will run the audio hardware.

ss-buffer-frames
[Variable]

The number of frames per synthesis buffer. Changes to this variable will take place when running the next synthesis network.

ss-filesink
[Variable]

The GStreamer element that will record to disk.

ss-float2int
[Variable]

The GStreamer element that converts between float and int.

ss-interleave
[Variable]

The GStreamer element that interleaves the output channels.

ss-main-loop
[Variable]

The GLib main loop that the synthesis network runs.

ss-main-pipeline
[Variable]

The main pipeline that contains the soundscrape synthesis network.

ss-plugin
[Variable]

The GStreamer plugin that defines soundscrape elements.

ss-sample-rate
[Variable]

The sample rate of the soundscrape system. Changes to this variable will take place when running the next synthesis network.

play . args
[Function]

Construct a graph of unit generators and play it through the sound card. Takes positional or keyword arguments graph and duration. graph should be a synthesis network, usually produced by the audio or control generic functions. duration should be expressed in seconds; if omitted or set to #f, the graph will play to its natural end, or forever.

record . args
[Function]

Construct a graph of unit generators, play it, and write the output to disk in realtime. record's arguments are the same as render's.

render . args
[Function]

Construct a graph of unit generators and render the output to disk. Takes positional or keyword arguments graph, duration, location, type, and format. graph and duration are as described in play's documentation. location specifies where to render the output (a file name).

type can be one of the following symbols, and defaults to wav:

aiff

Apple/SGI

au

Sun/NeXT

iff

Amiga IFF/SVX8/SV16

mat

GNU Octave 2.0 / Matlab 4.2

mat-MAT5--GNU-Octave-2-1---Matlab-5-0-

GNU Octave 2.1 / Matlab 5.0

paf

Ensoniq PARIS

pvf

Portable Voice Format

raw

header-less file

sf

Berkeley/IRCAM/CARL

voc

Creative Labs

w64

SoundFoundry WAVE 64

wav

Microsoft

wav-WAV--NIST-Sphere-

NIST Sphere

xi

FastTracker 2

format can be one of the following symbols, although not all combinations of types and formats are supported:

  • signed-8-bit-pcm

  • signed-16-bit-pcm

  • signed-24-bit-pcm

  • signed-32-bit-pcm

  • unsigned-8-bit-pcm

  • 32-bit-float

  • 64-bit-float

  • u-law

  • a-law

  • ima-adpcm

  • microsoft-adpcm

  • gsm-6-10

  • 32kbs-g721-adpcm

  • 24kbs-g723-adpcm

  • 12-bit-dwvw

  • 16-bit-dwvw

  • 24-bit-dwvw

  • vox-adpcm

  • 16-bit-dpcm

  • 8-bit-dpcm

run graph setup-graph cleanup-graph
[Function]

Run the synthesis network defined by graph. Before running, call setup-graph with graph as its argument. After running, call cleanup-graph, again with graph as the argument.

< | ^ | > | :>