wavelet
Class WindowedSegmentation

java.lang.Object
  |
  +--wavelet.WindowedSegmentation

public class WindowedSegmentation
extends java.lang.Object

Breaks up a sound sample into small windows.


Field Summary
 int numWindows
           
 boolean occupied
           
 java.util.Vector segments
           
 double thresholdPercent
           
 Transitions transitions
           
 Wavelet waveletWindows
           
 WaveletFilter wavFilter
           
static int windowSize
           
static int winIncrement
           
 
Constructor Summary
WindowedSegmentation(int minWindows1)
          constructor given minWindows
 
Method Summary
 void analyzeTransitions()
          calculate which of the transitions between windows can be considered segmentation points.
 void blank()
          clears out all the currently calculated segmentation and transition data
 int[][] createTransList()
          creates list of transitions by calculating differences between wavelet coefficient energies.
 double[] doCompat(int inx)
          returns an array of how compatible each segment is to the one denoted by inx
 void fourFrameEuclideanDistance()
          routine for determining the difference between windows dependant on their wavelet energies.
 double fourFrameEuclideanDistance(int a, int b)
          routine for determining the difference between two specfic windows dependant on their wavelet energies.
 void initialize(sound.AudioSample audiosample)
          initializes class
static void main(java.lang.String[] args)
           
 void normalize()
          normalize each transition over all wavelet levels (6 at present)
 void separate(int waveletFilter, javax.swing.DefaultBoundedRangeModel rangeModel, javax.swing.JProgressBar progressBar)
          main signal separation routine
 void separateWithTransitions(int waveletFilter, Transitions obj)
          used if I already know the transitions (ie loading presets)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

windowSize

public static final int windowSize

winIncrement

public static final int winIncrement

numWindows

public int numWindows

waveletWindows

public Wavelet waveletWindows

thresholdPercent

public double thresholdPercent

wavFilter

public WaveletFilter wavFilter

transitions

public Transitions transitions

occupied

public boolean occupied

segments

public java.util.Vector segments
Constructor Detail

WindowedSegmentation

public WindowedSegmentation(int minWindows1)
constructor given minWindows
Parameters:
minWindows - how few windows can be in 1 segment
Method Detail

blank

public void blank()
clears out all the currently calculated segmentation and transition data

initialize

public void initialize(sound.AudioSample audiosample)
initializes class
Parameters:
audioSample - audio signal to process

normalize

public void normalize()
normalize each transition over all wavelet levels (6 at present)

createTransList

public int[][] createTransList()
creates list of transitions by calculating differences between wavelet coefficient energies.

main

public static void main(java.lang.String[] args)

separateWithTransitions

public void separateWithTransitions(int waveletFilter,
                                    Transitions obj)
used if I already know the transitions (ie loading presets)
Parameters:
waveletFilter - wavelet filter to use
obj - transitions object to use

separate

public void separate(int waveletFilter,
                     javax.swing.DefaultBoundedRangeModel rangeModel,
                     javax.swing.JProgressBar progressBar)
main signal separation routine
Parameters:
waveletFilter - wavelet filter to use
rangeModel - for use in the update window
progressBar - for use in the update window

analyzeTransitions

public void analyzeTransitions()
calculate which of the transitions between windows can be considered segmentation points.

fourFrameEuclideanDistance

public void fourFrameEuclideanDistance()
routine for determining the difference between windows dependant on their wavelet energies.

fourFrameEuclideanDistance

public double fourFrameEuclideanDistance(int a,
                                         int b)
routine for determining the difference between two specfic windows dependant on their wavelet energies.
Parameters:
a - window number a
b - window number b
Returns:
difference

doCompat

public double[] doCompat(int inx)
returns an array of how compatible each segment is to the one denoted by inx
Parameters:
inx - reference window number
Returns:
array of differences of all other windows to input one.