meadowbrook
v1.0.0
Published
Alternative meyda cli
Downloads
2
Maintainers
Readme
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
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
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
{
"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"
]
}
}
}