Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

jm.audio.io.* (5)jm.audio.math.* (3)jm.audio.synth.* (33)

jm.audio: Javadoc index of package jm.audio.


Package Samples:

jm.audio.io
jm.audio.math
jm.audio.synth

Classes:

AudioObject: Audio Object is the super class of all audio reading, writing, processing and generating units. An AudioObject in the jMusic audio architecture is any class which is used to form part of an audio chain, be that a generator object (such as a wavetable), a reader object (such as an audio file reader), a processor object (such as a filter), or a writer object ( such as a file writer). Audio chains are created by linking together AudioObjects into lists where every AudioObject knows which AudioObjects come before and after it. This link is achieved by passing an AudioObjects immediate predicesors in ...
RealFloatFFT_Radix2: Computes FFT's of real, single precision data where n is an integral power of 2. The physical layout of the mathematical data d[i] in the array data is as follows: d[i] = data[i0 + stride*i] The FFT (D[i]) of real data (d[i]) is complex, but restricted by symmetry: D[n-i] = conj(D[i]) It turns out that there are still n `independent' values, so the transformation can still be carried out in-place. For RealFloatFFT_Radix2, the correspondence is as follows: Logical Physical Re(D[0]) = data[0] Im(D[0]) = 0 Re(D[1]) = data[1] Im(D[1]) = data[n-1] ... ... Re(D[k]) = data[k] Im(D[k]) = data[n-k] ... ...
WaveTable: Wavetable lookup creates an efficient means for resampling data into any frequency. It is particularly useful for holding simple wave information such as sinewaves and is often used as an oscillator. This WaveTable implementation can accept either one or two inputs. Two inputs expects that amplitude is the left input and frequency is the right input. One input allows the user to specify whether the input is for amplitude or frequency by setting the aoDestination variable((0)amplitude (1)frequency. A WaveTable can use fixed variables for both amplitude and frequency. The default is to use a default ...
ADSR: Envelope which can be set with an arbitrary number of points the envelope is constructed with linear lines between each specifed point. The points excepted by this class are positioned as a percent of the total length of the sound data being nextWorked on and the envelope itself is constructed in the build() method. Envelope objects can be used as either Generator Audio Objects (ie the first in the chain) or as processor Audio Objects (ie in the centre or the chain) depending on the constructor used. As a generator the Envelope can be used to pass each envelope position onto another Audio Object ...
Envelope: Envelope which can be set with an arbitrary number of points the envelope is constructed with linear lines between each specifed point. The points excepted by this class are positioned as a percent of the total length of the sound data being worked on and the envelope itself is constructed in the build() method. Envelope objects can be used as either Generator Audio Objects (ie the first in the chain) or as processor Audio Objects (ie in the centre or the chain) depending on the constructor used. As a generator the Envelope can be used to pass each envelope position onto another Audio Object as ...
RealFloatFFT: Abstract Class representing FFT's of real, single precision data. Concrete classes are typically named RealFloatFFT_ method , implement the FFT using some particular method. The physical layout of the mathematical data d[i] in the array data is as follows: d[i] = data[i0 + stride*i] The FFT (D[i]) of real data (d[i]) is complex, but restricted by symmetry: D[n-i] = conj(D[i]) It turns out that there are still n `independent' values, so the transformation can still be carried out in-place. However, each Real FFT method tends to leave the real and imaginary parts distributed in the data array in ...
SampleOut: The SampleOut class is responsible for writing sample data to disk. It combines all notes into a single Random Access File based on each notes start time. The output of samples into this file is in 32 bit floating point format and a maximum amplitude for this file is calculated on the fly and storied by this class for easy normalisation when being rewritten to a standard Audio File Format. NOTE: One important thing to note about the class is that all the notes of the score are written to the same file. Therefore everytime this class is called for each new note the information is continually written ...
Volume: The Volume Audio Object is a simple volume control. Any samples that pass through the Volume Object will have their amplitudes adjusted by whatever volume level is set. Volume can take one or two Audio Objects for input. When using a single Audio Object as input Volume uses a default volume level for all incoming audio samples. When taking two Audio Objects as input the first input is a volume and the second is the sample data.
Value: The Value object provides a mechanism for passing audio objects static values. This can be useful for seeding wavetables with fixed frequency information for example (as in the SimpleFM instrument example code). Fixed values can use a value set by the constructor or can take one of a notes attributes as its value by specifying that attributes index value in the appropriate constructor (see the noteAttribute varibable for the note attributes index).
Filter: Chebyshev filters are a recursive or IIR (infinite impulse response) filter. * They provide a fast mechanism for seperating frequencies using a mathamatical process known as a z-transform. This implementation is based on the Chebyshev filter design in Steven W.Smith's excellent book "The Scientist and Engineer's Guide to Digital Signal Processing". Band pass and resonant filters can be created by combining law and high pass filters.
RTMixer: RTMixer is responsible for convolving the audio signals being pulled from n number of RTLines. RTMixer uses a single JMF Java Sound SourceDataLine object for writing the newly convolved signal to the audio device. Buffers of audio sample data are passed to the SourceDataLine at a rate set by the Control Rate value. The contol rate sets the size of the audio buffers used by RTMixer, SourceDataLine and Instrument.
Audio: The Audio class provides a number of static methods to help pass a jmusic score to the audio architecture and for putting a notes sample information into the correct location in a global audio file. WARNING !!!!!!! This class is an absolute disgrace ;) It works but is very ugly and I can't be bothered to clean it up at the moment. If anyone feels like cleaning it up go for it ;)
AudioChainListener: This interface is informed whenever an audio chain completes processing its current buffer. The rate at which these buffers are processed (the size of the buffer) creates the control rate. The control rate gives real time audioLines the chance to make adjustments to audio controls or enter new note information into their associated instrument.
Oscillator: The Oscillator class can generate steady tones with various wave shapes, inlcuding sine, cosine, triangle, sawtooth, pulse wave, square, and more. The Oscillator class can be used as a primary object at the start of an audio chain, or as a object within the chain who's frequency or amplitude is modulatoed by an earlier object.
Delay: The Delay Audio Object is a simple delay line. It calculates the delay time in samples (so the time will depend on the current sample rate). It only passes on the delayed data so an add Audio Object needs to be used in the chain to mix the delayed signal with the original if that is required for an echo effect.
SampleIn: Reads in Audio data in the AU/SND file format and casts that data into 32 floating point values which is the internal format used in the jMusic audio architecture. Currently support is only provided for reading in 8bit, 16bit 24 bitand 32bit(floating point) PCM files although any sampleing rate is supported.
Compressor: The Compressor Audio Object is a simple dynamic control. Any samples that pass through the Compressor Object will have their amplitudes above the thresghold adjusted by whatever compression ratio level is set. The Compresor can take one Audio Object as input.
Invert: The Invert Audio Object is a simple 180 degree phase inverter. any signal that passes through it will be filpped such that all positive values will eb negative and vise versa.
AOException: AudioObjectException is a generic exception used for a range of AudioObject excpeptions including incorrect number of inputs, unbalanced sample buffer return sizes etc.
Instrument: An Instrument in jMusic is a chain of AudioObjects which are strung together to form a signal processing chain. Instruments chains are each run in their own thread.
TextIn: Reads in Audio data from an ascii text file and casts that data into 32 floating point values which is the internal format used in the jMusic audio architecture.
StereoPan: The StereoPan class is used to set each of two channels amplitudes such that the combined amplitudes of each suggest an accurate stereo positioning.
NoteBufferReversed: This class keeps a sample buffer the length of the current note and feeds them to the chain in the reversed order.
EnvPoint: A trivial class to act as an Envelope cooridnate x is the time axis (in beats) and y is the amplitude
Noise: The Noise class contains various noise waveform generators, incluidng white noise and fractal noise.

Home | Contact Us | Privacy Policy | Terms of Service