UNPKG

meadowbrook

Version:

Alternative meyda cli

226 lines (219 loc) 5.77 kB
# Meadowbrook Alternative meyda cli Allows extracting features from a segment of audio and store this information in a json document with large data blocks encoded as base64 strings ## Example `meadowbrook horse.mp3 all --o=out.json` ## Usage ```yaml title: meadowbrook example: meadowbrook [options] <INPUT_PATH> <...FEATURES> [options] type: object properties: INPUT_PATH: title: Audio file to read type: string FEATURES: title: Features to extract type: array description: > List of features to extract seperated by space, If 'all' is in the list extract all items: enum: - all - rms - energy - zcr - amplitudeSpectrum - powerSpectrum - spectralCentroid - spectralFlatness - spectralSlope - spectralRolloff - spectralSpread - spectralSkewness - spectralKurtosis - loudness - perceptualSpread - perceptualSharpness - mfcc "--o": title: Output path description: > File to write data too, if not specified prints to stdout type: string example: --o=<outputPath> "--bs": title: Buffer size example: --bs=<bufferSize> defaut: 512 type: number "--w": title: Windowing function example: --w=<windowingFunction> defaut: hanning enum: - blackman - sine - hanning - hamming "--f": title: Frames per second example: --f=<fps> type: number description: > How many frames of feature data should be captured per second of audio defaut: 60 "--format": title: Output format example: --format=<format> description: Structure of output json default: array enum: - array - object "-h": title: Print help type: boolean ``` ## Structure Json schema for output json file ```yaml description: Extracted data output type: object properties: extracted: type: object description: Name:data pairs for extracted features patternProperties: "/^[a-zA-Z]+$/": oneOf: - type: array description: > Data separated by channel, starting with channel 0 in audio source items: type: array description: > frames of extracted audio feature data, representation varies by feature, check meyda docs - type: object description: > Data separated by channel, starting with channel 0 in audio source patternProperties: "/^[0-9]+$/": type: object description: > frames of extracted audio feature data, representation varies by feature, check meyda docs fps: type: number description: > Number of frames of data extracted for each second of audio default: 60 sampleRate: type: number description: Sample rate of audio source default: 44100 duration: type: number description: Length in seconds of audio source numberOfChannels: type: number description: Channels extracted from audio source default: 2 bufferSize: type: number description: Size of buffer used when extracting default: 512 windowingFunction: type: string description: Windowing function used when extracting default: hanning outputFormat: description: How collections are organized in this file default: array enum: - array - object ``` ```json { "description": "Extracted data output", "type": "object", "properties": { "extracted": { "type": "object", "description": "Name:data pairs for extracted features", "patternProperties": { "/^[a-zA-Z]+$/": { "oneOf": [ { "type": "array", "description": "Data separated by channel, starting with channel 0 in audio source\n", "items": { "type": "array", "description": "frames of extracted audio feature data, representation varies by feature, check meyda docs\n" } }, { "type": "object", "description": "Data separated by channel, starting with channel 0 in audio source\n", "patternProperties": { "/^[0-9]+$/": { "type": "object", "description": "frames of extracted audio feature data, representation varies by feature, check meyda docs\n" } } } ] } } }, "fps": { "type": "number", "description": "Number of frames of data extracted for each second of audio\n", "default": 60 }, "sampleRate": { "type": "number", "description": "Sample rate of audio source", "default": 44100 }, "duration": { "type": "number", "description": "Length in seconds of audio source" }, "numberOfChannels": { "type": "number", "description": "Channels extracted from audio source", "default": 2 }, "bufferSize": { "type": "number", "description": "Size of buffer used when extracting", "default": 512 }, "windowingFunction": { "type": "string", "description": "Windowing function used when extracting", "default": "hanning" }, "outputFormat": { "description": "How collections are organized in this file", "default": "array", "enum": [ "array", "object" ] } } } ```