apple-loops-meta-reader
Apple Loops(*.caf) metadata reader for node.js.
Build
npm install
gulp
Test
gulp test
Usage
synchronous read operation
var reader = beautify = ; var data = reader;console;
asynchronous read operation
var reader = beautify = ; reader ;
gulp task
path = require 'path'gulp = require 'gulp'data = require 'gulp-data'exec = require 'gulp-exec'appleLoops = require 'apple-loops-meta-reader' gulptask 'default'-> gulpsrc "/**/*.caf" pipe data data = appleLoopsread filepath # categolize using folder folder = $distDir if datametagenre folder += "/" else folder += '/unknown' if datametacategory folder += "/" if datametasubcategory folder += "/" data.m4aFolder = folder # add bpm and key to filename name = pathbasename filepath'.caf' if datametatempo name += " bpm" if datametakeySignature name += " " if datametakeyType name += " " name += '.m4a' data.m4aFilePath = folder + '/' + name data pipe exec 'mkdir -p "<%= file.data.m4aFolder %>"' 'afconvert -v -f m4af -d 0 "<%= file.path %>" "<%= file.data.m4aFilePath %>"' join ' && ' $execopts pipe execreporter $execreportOpts
example output
"fileType": "caff" "fileVersion": 1 "fileFlags": 0 "audioFormat": "sampleRate": 44100 "formatId": "aac " "formatFlags": 0 "bytesPerPacket": 0 "framesPerPacket": 1024 "channelsPerFrames": 2 "bitsPerChannel": 0 "packetTableHeader": "numberPackets": 347 "numberValidFrames": 352800 "primingFrames": 2112 "remainderFrames": 416 "meta": "beatCount": 8 "keySignature": "C#" "keyType": "major" "timeSignature": "4/4" "category": "Horn/Wind" "genre": "Orchestral" "descriptors": "Ensemble" "Part" "Acoustic" "Dry" "Clean" "Cheerful" "Relaxed" "Grooving" "Melodic" "tempo": 60 "information": "copyright": "2004 PowerFX Systems AB" "artist": "EgoWorks" "transients": "unknown": "00000000000100000000000000000000" "markers": "unknown": 65536 "framePosition": 0 "unknown": 65536 "framePosition": 20805 "unknown": 65536 "framePosition": 40780 "unknown": 65536 "framePosition": 61585 "unknown": 65536 "framePosition": 176400 "unknown": 65536 "framePosition": 192775 "unknown": 65536 "framePosition": 212674 "unknown": 65536 "framePosition": 235495 "unknown": 65536 "framePosition": 352800