Class WaveSynth

java.lang.Object
net.paulhertz.pixelaudio.WaveSynth

public class WaveSynth extends Object
Implements a combination of color organ and additive audio synth. Animates pixels using phase shifting of audio generators in waveDataList.
  • Field Details

    • mapper

      public PixelAudioMapper mapper
    • mapImage

      public PImage mapImage
    • colorSignal

      public int[] colorSignal
    • audioSignal

      public float[] audioSignal
    • renderSignal

      public float[] renderSignal
    • waveDataList

      public ArrayList<WaveData> waveDataList
    • mapSize

      public int mapSize
    • dataLength

      public int dataLength
    • gain

      public float gain
    • gamma

      public float gamma
    • gammaTable

      public int[] gammaTable
    • useGammaTable

      public boolean useGammaTable
    • isScaleHisto

      public boolean isScaleHisto
    • histoLow

      public int histoLow
    • histoHigh

      public int histoHigh
    • animSteps

      public int animSteps
    • step

      public int step
    • stop

      public int stop
    • noisiness

      public float noisiness
    • comments

      public String comments
      comments for JSON file
    • sampleRate

      public int sampleRate
      The sampling frequency, the number of samples read in one second of sound. By default, for WaveSynth instances that are intended to be primarily visual, mapSize is the sampling frequency. This makes one period of a 1.0 Hz wave fill the entire signal curve. OTOH, if we want the image to represent an audio signal that is also produced by additive synthesis, we should set samplingFrequency to a standard such as 44100 or 48000.
    • mapInc

      public float mapInc
      the increment in phase over the image pixels, typically TWO_PI / image size
    • weights

      public float[] weights
      array of amplitudes associated with the WaveData operators
    • waveColors

      public int[] waveColors
      array of colors associated with the WaveData operators
    • maskScan

      public int[] maskScan
      array of color values for mask, especially useful when it is constant
    • woff

      public float woff
      offset for normailzing signal, see renderFrame method
    • wscale

      public float wscale
      scaling facotr for normalizing signal, see renderFrame method
    • videoFramerate

      public int videoFramerate
    • videoFilename

      public String videoFilename
  • Constructor Details

  • Method Details

    • setMapper

      public void setMapper(PixelAudioMapper mapper)
    • setWaveData

      public void setWaveData(ArrayList<WaveData> wdList)
    • getWaveDataList

      public ArrayList<WaveData> getWaveDataList()
    • setWaveDataList

      public void setWaveDataList(ArrayList<WaveData> waveDataList)
    • getGain

      public float getGain()
    • setGain

      public void setGain(float gain)
    • getGamma

      public float getGamma()
    • setGamma

      public void setGamma(float gamma)
    • isScaleHisto

      public boolean isScaleHisto()
    • setScaleHisto

      public void setScaleHisto(boolean isScaleHisto)
    • getHistoLow

      public int getHistoLow()
    • setHistoLow

      public void setHistoLow(int histoLow)
    • getHistoHigh

      public int getHistoHigh()
    • setHistoHigh

      public void setHistoHigh(int histoHigh)
    • getNoiseiness

      public float getNoiseiness()
    • setNoiseiness

      public void setNoiseiness(float noiseiness)
    • getAnimSteps

      public int getAnimSteps()
    • setAnimSteps

      public void setAnimSteps(int animSteps)
    • getStop

      public int getStop()
    • setStop

      public void setStop(int stop)
    • getStep

      public int getStep()
    • setStep

      public void setStep(int step)
    • getComments

      public String getComments()
    • setComments

      public void setComments(String comments)
    • getVideoFramerate

      public int getVideoFramerate()
    • setVideoFramerate

      public void setVideoFramerate(int videoFramerate)
    • getVideoFilename

      public String getVideoFilename()
    • setVideoFilename

      public void setVideoFilename(String videoFilename)
    • getMapper

      public PixelAudioMapper getMapper()
    • getWidth

      public int getWidth()
    • getHeight

      public int getHeight()
    • getSampleRate

      public int getSampleRate()
    • setSampleRate

      public void setSampleRate(int newSampleRate)
    • clone

      public WaveSynth clone()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isRenderAudio

      public boolean isRenderAudio()
    • setRenderAudio

      public void setRenderAudio(boolean isRenderAudio)
    • isEditMode

      public boolean isEditMode()
    • setEditMode

      public void setEditMode(boolean isEditMode)
    • prepareAnimation

      public void prepareAnimation()
    • renderFrame

      public void renderFrame(int frame)
    • renderPixel

      public int renderPixel(int frame, int pos, ArrayList<WaveData> wdList)
    • weightedColor

      public int weightedColor(int[] colors, float[] weights)
    • renderAudio

      public float[] renderAudio(int frame)
    • renderAudioRaw

      public float[] renderAudioRaw(int frame)
    • renderAudio

      public float[] renderAudio(int frame, float limit)
    • noiseAt

      public float noiseAt(int x, int y)
    • normalize

      public static float[] normalize(float[] sig, float limit)
    • normalize

      public static float[] normalize(float[] sig)
    • getHistoBounds

      public static int[] getHistoBounds(int[] source)
    • stretch

      public static int[] stretch(int[] source, int low, int high)