Class:            LorisSound

Environment:      Siren
Superclass:         Siren.SampledSound
Category:         MusicApps-Loris
Instance variables:   partials configuration outputSnd
Indexed variables:   objects
Imports:            Siren.Loris.*

A LorisSound represents a sound file and its Loris analysis data. It stores the sound samples in its inherited state.

Instance Variables:
   partials    my data
   configuration    my analysis settings

synthesis

playOriginal
   Play the source sound

playResynthesized
   Play the processed sound

synthesize
   Resynthesize the receiver and answer a sound.

synthesize: rat toFile: nam
   Resynthesize the receiver and answer a sound.

printing/storing

copyTo: newBase
   Copy all the files associated with the receiver to the given basename

edit
   Open a LorisAnalysisEditor on the receiver.

loadConfiguration: confName
   Load the analysis configuration from a text file.

loadEnvelopes: envName
   Load the ampl/freq envelopes from a text file.

saveEnvelopes: envName
   Load the ampl/freq envelopes from a text file.

saveSDIF: nam
   Save the receiver as an SDIF file.

analysis

analyze
   Run the Loris analyzer using the receiver's configuration, then coallate and distill;
   save SDIF and/or AIFF files and play the output, dependng on the configuration

harmonify
   Justify the receiver's partials to be harmonic overtones

loadEnvelopes: analyzer size: dsize
   Load the ampl and freq envelopes frmo the analyzer

accessing

breakpointsDo: theBlock
   Iterate over all the partials evaluating the given 1-argument block for each breakpoint

configuration
   Answer the receiver's LorisAnalysisConfiguration.

configuration: conf
   Set the receiver's analysis configuration to the given LorisAnalysisConfiguration.

maxAmplitude
   Answer the receiver's max BP amplitudes.

outputSound
   Answer the receiver's resynthesized output sound.

outputSound: aSound
   Set the receiver's resynthesized output sound.

partials
   Answer the receiver's Loris data (partial struct).

partials: dat
   Set the receiver's Loris data (partial struct).

processing

compressAmp: factor
   Compress the receiver's amplitudes by the given factor

dilateFrom: startMap to: targetMap
   Map the time from the start map to the targetMap.

maskAmp: threshold
   Apply the given threshold to the receiver's amplitudes

scaleAmp: ampEnv
   Scale the receiver's amplitudes by the given linear envelope or scalar value

scaleBW: noizEnv
   Scale the receiver's noise bandwidth by the given linear envelope or scalar value

scaleFreq: frqEnv
   Scale the receiver's frequencies by the given linear envelope or scalar value

shiftPitch: frqEnv
   Scale the receiver's freq values by the given linear envelope

morphing

morph: target envelope: env
   Morph between the receiver and the target using the given envelope.

MetaClass:         LorisSound class

instance creation

example: nam resolution: res
   Create and answer a new instance read from the given file; print out the analyzer settings,
   then coallate and distill; store an SDIF file and a re-syn file; answer the sound obj.

fromFile: nam configuration: config
   Create and answer a new instance read from the given file; use the default analyzer settings,
   then coallate and distill; edit or answer the sound obj.

fromSDIF: nam
   Load a new instance read from the given SDIF file.

credo

examples
   

LorisSound fromFile: '1.2a1.aiff' configuration: LorisAnalysisConfiguration new

LorisSound fromFile: '1.1a.aiff' configuration:
   (LorisAnalysisConfiguration res: 70 drift: 10 floor: -70 minF: 80 maxF: 140)

[LorisSound fromFile: 'horns1c.aiff' configuration:
   ((LorisAnalysisConfiguration res: 70 drift: 10 floor: -36 minF: 80 maxF: 140) bwScale: 6.0) ]

(Sound fromFile: '1.2a1.out.aiff') edit

LorisSound fromSDIF: '1.2a1.sdif'
LorisSound fromSDIF: 'horns1c.sdif'