DISSCO: A Unified Approach to Sound Synthesis and Composition - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

DISSCO: A Unified Approach to Sound Synthesis and Composition

Description:

Reverberator (from F. Richard Moore - Computer Music): three options / constructors: ... pre-defined sequence, tone-row. pre-defined set and transformations ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 22
Provided by: itgU
Category:

less

Transcript and Presenter's Notes

Title: DISSCO: A Unified Approach to Sound Synthesis and Composition


1
DISSCO A Unified Approach to Sound Synthesis
and Composition
  • Hans G. Kaper Sever Tipei
  • Argonne National Laboratory Computer
    Music Project
  • National Science Foundation School of
    Music
  • University of Illinois
    University of Illinois

2
Digital Instrument for Sound Synthesis and
Composition
  • Components
  • LASS - Library for Additive Sound Synthesis
    written in C
  • CMOD - Composition MODule
  • written in C
  • LASSIE - Graphic User Interface
  • written in JAVA creates C script
  • Open-source software
  • Release 1.0 available from http//dissco.sourcefor
    ge.net

3
DISSCO - main features
  • Unified approach
  • CMOD and LASS share
  • a common formalism
  • similar tools
  • Comprehensive
  • delivers a final product (event) that
  • does not require further processing
  • a black box
  • takes user provided data
  • produces a finished object

4
LASS
  • a piece is a collection of sounds and
  • each sound is a collection of partials
  • STL Containers and Iterators
  • reflects previous work with DIASS and DISCO
    but
  • no longer a MusicN program
  • no instruments
  • no score (XML file as record only, not input)
  • no oscillators and wavetables - function
    evaluations
  • partials are the building blocks
  • sine waves
  • any other kind of waves (not implemented
    yet)
  • white noise

5
LASS - features functionality
  • Sounds and partials have static and dynamic
    attributes (parameters) which are associated with
    enums.
  • Sound parameters are shared by all partials
  • s.setParam(FREQUENCY, 440)
  • Individual partials may get specific assignments
  • s.get(2).setPartialParam(FREQUENCY,1234)
  • Frequency may be modified in different ways
  • FREQUENCY_DEVIATION, DETUNE, GLISS

6
Envelopes (functions of time)
  • ADSR envelope
  • 5
  • 0.00 0.00 EXPONENTIAL FIXED
  • 0.10 1.00 LINEAR FLEXIBLE
  • 0.20 0.80 LINEAR FLEXIBLE
  • 0.80 0.80 EXPONENTIAL FIXED
  • 1.00 0.00

7
LASS - perceived loudness
  • Non-linear function of the amplitude of
    constituent partials
  • LASS uses the ISO equal-loudness contours and a
    number of critical bands
  • (see our paper at the 2004 ICMC, Miami)
  • LASS allows detailed control of an arbitrary
    number of partials through envelopes
  • An infinite variety of spectra can be produced
  • Crescendo / diminuendo effects can be obtained by
    multiplying envelopes

8
LASS - modifiers (1)
  • (applied to entire sound or individual partials)
  • Vibrato (FM)
  • magnitude (amplitude) - of basic frequency (Hz)
  • rate (Hz)
  • Tremolo (AM)
  • magnitude - of max. amplitude
  • rate (Hz)
  • Frequency and amplitude transients
  • magnitude
  • rate (frequency of occurance)
  • width of spike (normally 0.025 sec.)

9
LASS - modifiers (2)
  • (applied to the entire sound or individual
    partial)
  • Reverberator (from F. Richard Moore - Computer
    Music)
  • three options / constructors
  • room size
  • reverb vs. direct sound, hi low ratio, all-pass
    gain, and delay
  • low-pass gain and comb filter gains in stead of
    hi/low
  • Spatializer
  • Pan - 2 channels
  • MultiPan - arbitrary number of channels
  • each channel receives a of the total sound
  • polar coordinates to specify the position in
    space

10
LASS - rendering
  • clipping management
  • CLIP values above threshold clipped
  • SCALE sample values scaled by 1/ampmax of score
  • CHANNEL_SCALE same applied per channel
  • ANTICLIP sample value above threshold at scaled
    by at / ampmax
  • CHANNEL_ANTICLIP same applied per channel
  • AuWriter (use sox if other formats are
    desired)
  • XML file generated as record - not needed to
    generate sounds

11
CMOD
  • LASS, a library, requires another piece of
    software or LASSIE to drive it
  • CMOD also involves collections whose members
    could be themselves collections of objects
  • creates objects in any (temporal) order
  • consists of classes and a number of utilities
  • has inherited from DISCO and uses LASS features
  • (eg. Envelope class)

12
CMOD - the EVENT class (1)
  • abstract class, other classes are derived from
    it.
  • an object may contain
  • an arbitrary number of layers
  • each layer may contain
  • an arbitrary number of objects of various types
  • an object may be an event containing other
    objects.
  • all objects have
  • name
  • start time
  • duration
  • type

13
CMOD - the EVENT class (2)
  • Methods shared by all derived classes
  • Build determines the number of
  • layers
  • types
  • objects
  • CreateNewObjects is a loop
  • one pass for each object
  • Selects (continuous or discrete method - Matrix
    in DISCO)
  • start time
  • duration
  • type of new object
  • SelectNextEvent calls the constructor for the new
    object

14
CMOD - floating hierarchies
Herbert Brün
  • Strict hierarchical structure ?
  • collections of objects that are themselves
    collections of lower level objects (named TOP,
    HIGH, LOW, BOTTOM)
  • CMOD has a main
  • Floating
  • the hierarchy is unstable, not stationary
  • levels may be skipped or added
  • objects do not have to be ordered in time
  • connections established between objects of
    different levels (buddies).
  • the main as a benign administrator /
    facilitator

15
CMOD - implementation
  • BOTTOMImplement provides instructions for
    LASS.
  • Sound s //create sound object
  • s.setParam(START_TIME, sTimeSec)
  • s.setParam(DURATION, duration)
  • Similar statements for frequency, loudness,
    modifiers, reverberation, and spatialization
  • Many options for static or dynamic parameters by
    using
  • LASS
  • Envelope class (also part of LASS)
  • Utility file

16
CMOD - choosing a frequency brief example
  • selected from
  • a continuum
  • a list of discrete values
  • using
  • well-temperate scales
  • overtones of a common fundamental
  • arbitrary tunings
  • class Patter
  • pre-defined sequence, tone-row
  • pre-defined set and transformations
  • constant value or dynamic envelope

17
CMOD - utilities
  • Utility file
  • ReadCompute
  • Stochos (stochastic distributions)
  • Sequence (reads in order)
  • random random within boundaries
  • envelope making
  • FitEnvelope (gets and scales envelopes)
  • SegmentBuilder (builds envelope from scratch)
  • misc. (GS, sieves, Weights,SoundsPerSecond, etc.)
  • linkList
  • DataIn - a class (file handling, I/O formats)

18
CMOD - Input/Output (1)
  • each object associated with an input file
  • identifying tags and enums
  • BottomAssignFreq
  • method1 WELL_TEMPERED
  • method2 SEQUENCE
  • offset OBJNUM
  • freq_ReadComputeInt
  • step 4 58 64 68 32
  • offset ZERO
  • loud_ReadComputeFloat
  • method COMPUTE
  • loud_Stochos
  • method RANGE_DISTRIB
  • numEnv 3
  • freqEnvs 29 29 107
  • sones 11.31 22.62 1.00

19
CMOD - Input / Output (2)
  • Example log file
  • TOP LEVEL daria.dat

  • HIGH 1 H/E0
  • StartTime 0 units 0 sec
  • Duration 17 units 17 sec
  • --------------------------------------------------
    ---
  • BOTTOM 1 B/sEpercus
  • StartTime 0 units 0 sec
  • Duration 17.5 units 17.5 sec
  • ---------------------------------------------
    -------
  • Sound 1 start time 16 duration 0.333333
    type 0
  • has 5 partials frequency349.228
    sones254.153
  • --------------------------------------------
    -------
  • Sound 2 start time 1.75 duration 0.333333
    type 0
  • has 4 partials frequency3520
    sones253.643

20
DISSCO - results and future work
  • LASS used
  • to produce a piece, dARIA other works in
    progress
  • hands-on in the teaching of
  • Computer Music courses for 4 semesters
  • theory courses dealing with late 20th century
    music
  • Music, Science Technology, for non music
    majors
  • CMOD
  • used to produce two pieces, works in progress
  • further development
  • generating instrumental / vocal scores
  • LASSIE
  • presently only a GUI for LASS
  • extend it to CMOD

21
Aknowledgments
  • Braden Kowitz designed and implemented the basic
    features of LASS
  • the students of the Advanced Computer Music
    seminar contributed between 2002-2005 to further
    development of LASS
  • The work of Hans Kaper was supported by the
    Mathematical, Information, and Computer Sciences
    Division subprogram of the Office of Advanced
    Scientific Computing Research, Office of Science,
    US Department of Energy, under Contract
    W-31-109-Eng-38.
Write a Comment
User Comments (0)
About PowerShow.com