audio-format

Parse or stringify audio format

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
audio-format
952.3.26 years ago6 years agoMinified + gzip package size for audio-format in KB

Readme

audio-format Build Status unstable Greenkeeper badge
Audio data format parser/detector/serializer. npm install audio-format

obj = format.parse(string)

Parse format properties from a string. Returns only guaranteed properties and does not try to guess them. ```js format.parse('interleaved uint8 le stereo 44100') // {interleaved: true, type: 'uint8', endianness: 'le', channels: 2, sampleRate: 44100} format.parse('stereo audiobuffer 96000') // {channels: 2, type: 'audiobuffer', sampleRate: 96000, interleaved: false, endianness: 'le'} ```

str = format.stringify(obj, defaults?)

Get string identifying a format object. Optional defaults can indicate properties to skip if format value matches them. ```js format.stringify({channels: 2, interleaved: false}) // 'stereo planar' format.stringify(
{type: 'float32', endianness: 'le', interleaved: false, channels: 2},
{endianness: 'le', type: 'float32'}
) // 'stereo planar' format.stringify(new AudioBuffer(null, {length: 10})) // 'mono audiobuffer 44100' ```

obj = format.detect(obj)

Retrieve available format properties from an audio-like object. ```js format.detect(new AudioBuffer(null, {length: 10, numberOfChannels: 2})) // {channels: 2, type: 'audiobuffer', sampleRate: 44100, endianness: 'le', interleaved: false} format.detect(new Uint8ClampedArray(0, 255, 0, 255)) // {type: 'uint8clamped'} format.detect(ndarray(0,0,0,0, 2,2)) // {type: 'ndarray', interleaved: false, channels: 2} ```

str = format.type(obj)

Get type string identifying data container. ```js format.type(new AudioBuffer(ctx, {length: 1024})) // 'audiobuffer' format.type(new Float32Array(-1, 1)) // 'float32' format.type(new Float32Array(-1, 1).buffer) // 'arraybuffer' format.type(Array(100)) // 'array' format.type(Buffer.from(0, 1, ...)) // 'buffer' format.type(ndarray(0,0,0,0, 2,2)) // 'ndarray' ```

format.interleaved marker

| Value | Meaning | |---|---| | 'interleaved', 'interleave' | interleaved is true, channels is 2 or more. | | 'planar' | interleaved is false, channels is 2 or more. |

format.endianness marker

| Value | Meaning | |---|---| | 'le' | endianness is 'le' (little endian), type is not 'int8' or 'uint8' | | 'be' | endianness is 'be' (big endian), type is not 'int8' or 'uint8' |

format.channels marker

| Value | Meaning | |---|---| | 'mono' | 1 channel | | 'stereo' | 2 channels | | '2.1' | 3 channels | | 'quad' | 4 channels | | '5.1' | 5 channels | | '*-channel' | N channels |

format.sampleRate marker

| Value | Meaning | |---|---| | Number | Any number, primarily default sample-rates |

format.type marker

| Value | Meaning | |---|---| | 'uint8' | Uint8Array | | 'uint8_clamped' | Uint8ClampedArray | | 'uint16' | Uint16Array | | 'uint32' | Uint32Array | | 'int8' | Int8Array | | 'int16' | Int16Array | | 'int32' | Int32Array | | 'float32', 'float' | Float32Array | | 'float64' | Float64Array | | 'array' | Array | | 'arraybuffer' | ArrayBuffer | | 'buffer' | Buffer | | 'audiobuffer' | AudioBuffer | | 'ndarray' | ndarray | | 'ndsamples' | ndsamples |

See also

  • pcm-convert converts low-level pcm data from one format to another

License

(c) 2017 Dmitry Yvanov @ audiojs. MIT License