Scale - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


AudioTools

  

Scale

  

scale 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

audSample Rate22050File FormatPCM File Bit Depth8Channels2Samples/Channel19962Duration0.90531s

(1)

smallScaleaud,1..5000

smallSample Rate22050File FormatPCM File Bit Depth8Channels2Samples/Channel5000Duration0.22676s

(2)

squishedScaleaud,0.25

squishedSample Rate22050File FormatPCM File Bit Depth8Channels2Samples/Channel4991Duration0.22635s

(3)

quickScaleaud,0.25,method=nearest

quickSample Rate22050File FormatPCM File Bit Depth8Channels2Samples/Channel4991Duration0.22635s

(4)

See Also

Array

AudioTools

AudioTools[Convolution]

AudioTools[Resample]

Matrix

Vector