AudioTools - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Audio Processing : AudioTools/Scale

AudioTools

  

Scale

  

scales audio data by the specified ratio or to the specified size

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Scale(audArray, scale, options)

Parameters

audArray

-

Array or Matrix containing the audio data to scale

scale

-

scale factor or desired length of scaled audio

options

-

options modifying the scaling operation

Description

• 

The Scale command rescales audio data, producing a new audio object with the specified size.

• 

The audArray parameter specifies the audio to scale, and must be a dense, rectangular, one or two dimensional Array, Vector, or Matrix with datatype=float[8].

• 

The scale parameter specifies either the desired scaling ratio, or the desired length, in samples, of the scaled audio data. The former is expressed as a numeric value. The latter is expressed as an integer range giving the desired resulting array indices.

• 

By default, scaling is done using B-spline interpolation.  This produces excellent results reasonably fast. When reducing audio data using scale factors smaller than 1/2.5, the scaling is done in steps to avoid unnecessary information loss. For example, scaling by 1/4 is accomplished by scaling twice by 1/2. The nature of the algorithm makes this stepwise scaling unnecessary when enlarging audio data.

• 

If the method=nearest option is specified, scaling is done using the nearest-neighbor algorithm. This produces poorer results, but the algorithm is very fast.  This method is often suitable for producing low-quality rescalings of audio data.

• 

Specifying method=bspline is equivalent to the default behavior.

• 

NOTE: Scaling does not change the sampling rate of the data, which means that it does change the pitch. For example, scaling down by a factor of 0.5 will double the pitch (increase it by one octave). To resample audio data without affecting the pitch, use the AudioTools[Resample] command.

Examples

audiofilecatkerneloptsdatadir,/audio/stereo.wav:

withAudioTools:

audReadaudiofile

aud:= 1..19962 x 1..2 ArrayData Type: float8Storage: rectangularOrder: C_order

(1)

smallScaleaud,1..5000

small:= 1..5000 x 1..2 ArrayData Type: float8Storage: rectangularOrder: C_order

(2)

squishedScaleaud,0.25

squished:= 1..4991 x 1..2 ArrayData Type: float8Storage: rectangularOrder: C_order

(3)

quickScaleaud,0.25,method=nearest

quick:= 1..4991 x 1..2 ArrayData Type: float8Storage: rectangularOrder: C_order

(4)

See Also

Array

AudioTools

AudioTools[Convolution]

AudioTools[Resample]

Matrix

Vector

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam