{ p_ac: { # Audio device setup audio: { inPortLabel: "5 USB Audio CODEC:", #"HDA Intel PCH: CS4208", # "5 USB Audio CODEC:", #"5 USB Sound Device", outPortLabel: , }, # Picadae API args serial_dev: "/dev/ttyACM0", serial_baud: 38400, i2c_base_addr: 21, prescaler_usec: 16, serial_sync_timeout_ms: 10000, # MeasureSeq args outDir: "~/temp/p_ac_3", noteDurMs: 1000, pauseDurMs: 1000, holdDutyPct: 50, full_pulse0L: [ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000, 8000, 9000, 10000, 12000, 14000, 18000, 22000, 26000, 30000, 34000, 40000], full_pulse1L: [ 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 20000, 22000, 24000, 26000, 30000, 32000, 34000, 36000, 40000], full_pulseL: [ 10000, 10500, 11000, 11500, 12000, 12500, 13000, 13500, 14000, 14500, 15000, 15500, 16000, 16500, 17000, 17500, 18000, 18500, 20000, 22000, 24000, 26000, 30000, 32000, 34000, 36000, 40000], # RMS analysis args analysisArgs: { rmsAnalysisArgs: { rmsWndMs: 300, # length of the RMS measurment window rmsHopMs: 30, # RMS measurement inter window distance dbRefWndMs: 500, # length of initial portion of signal to use to calculate the dB reference level harmCandN: 5, # count of harmonic candidates to locate during harmonic based RMS analysis harmN: 3, # count of harmonics to use to calculate harmonic based RMS analysis }, minAttkDb: 5.0, # threshold of silence level maxDbOffset: 0.5, # travel down the from the max. note level by at most this amount to locate the max. peak maxDeltaDb: 2.0, # maximum db change between volume samples (changes greater than this will trigger resampling) samplesPerDb: 4, # count of samples per dB to resample ranges whose range is less than maxDeltaDb minSampleDistUs: 500 # minimum distance between sample points in microseconds }, key_mapL: [ { index: 0, board: 1, ch: 1, type: 'wB', midi: 21, class: 'A' }, { index: 1, board: 1, ch: 2, type: 'Bl', midi: 22, class: 'A#' }, { index: 2, board: 1, ch: 3, type: 'wF', midi: 23, class: 'B' }, { index: 3, board: 1, ch: 4, type: 'wB', midi: 24, class: 'C' }, { index: 4, board: 1, ch: 5, type: 'Bl', midi: 25, class: 'C#' }, { index: 5, board: 1, ch: 6, type: 'wF', midi: 26, class: 'D' }, { index: 6, board: 1, ch: 7, type: 'Bl', midi: 27, class: 'D#' }, { index: 7, board: 1, ch: 8, type: 'wB', midi: 28, class: 'E' }, { index: 8, board: 1, ch: 9, type: 'wF', midi: 29, class: 'F' }, { index: 9, board: 1, ch: 10, type: 'Bl', midi: 30, class: 'F#' }, { index: 10, board: 1, ch: 11, type: 'wB', midi: 31, class: 'G' }, { index: 11, board: 2, ch: 1, type: 'Bl', midi: 32, class: 'G#' }, { index: 12, board: 2, ch: 2, type: 'wF', midi: 33, class: 'A' }, { index: 13, board: 2, ch: 3, type: 'Bl', midi: 34, class: 'A#' }, { index: 14, board: 2, ch: 4, type: 'wB', midi: 35, class: 'B' }, { index: 15, board: 2, ch: 5, type: 'wF', midi: 36, class: 'C' }, { index: 16, board: 2, ch: 6, type: 'Bl', midi: 37, class: 'C#' }, { index: 17, board: 2, ch: 7, type: 'wB', midi: 38, class: 'D' }, { index: 18, board: 2, ch: 8, type: 'Bl', midi: 39, class: 'D#' }, { index: 19, board: 2, ch: 9, type: 'wF', midi: 40, class: 'E' }, { index: 20, board: 2, ch: 10, type: 'wB', midi: 41, class: 'F' }, { index: 21, board: 2, ch: 11, type: 'Bl', midi: 42, class: 'F#' }, { index: 22, board: 3, ch: 1, type: 'wF', midi: 43, class: 'G' }, { index: 23, board: 3, ch: 2, type: 'Bl', midi: 44, class: 'G#' }, { index: 24, board: 3, ch: 3, type: 'wB', midi: 45, class: 'A' }, { index: 25, board: 3, ch: 4, type: 'Bl', midi: 46, class: 'A#' }, { index: 26, board: 3, ch: 5, type: 'wF', midi: 47, class: 'B' }, { index: 27, board: 3, ch: 6, type: 'wB', midi: 48, class: 'C' }, { index: 28, board: 3, ch: 7, type: 'Bl', midi: 49, class: 'C#' }, { index: 29, board: 3, ch: 8, type: 'wF', midi: 50, class: 'D' }, { index: 30, board: 3, ch: 9, type: 'Bl', midi: 51, class: 'D#' }, { index: 31, board: 3, ch: 10, type: 'wB', midi: 52, class: 'E' }, { index: 32, board: 3, ch: 11, type: 'wF', midi: 53, class: 'F' }, { index: 33, board: 4, ch: 1, type: 'Bl', midi: 54, class: 'F#' }, { index: 34, board: 4, ch: 2, type: 'wB', midi: 55, class: 'G' }, { index: 35, board: 4, ch: 3, type: 'Bl', midi: 56, class: 'G#' }, { index: 36, board: 4, ch: 4, type: 'wF', midi: 57, class: 'A' }, { index: 37, board: 4, ch: 5, type: 'Bl', midi: 58, class: 'A#' }, { index: 38, board: 4, ch: 6, type: 'wB', midi: 59, class: 'B' }, { index: 39, board: 4, ch: 7, type: 'wF', midi: 60, class: 'C' }, { index: 40, board: 4, ch: 8, type: 'Bl', midi: 61, class: 'C#' }, { index: 41, board: 4, ch: 9, type: 'wB', midi: 62, class: 'D' }, { index: 42, board: 4, ch: 10, type: 'Bl', midi: 63, class: 'D#' }, { index: 43, board: 4, ch: 11, type: 'wF', midi: 64, class: 'E' }, { index: 44, board: 5, ch: 1, type: 'wB', midi: 65, class: 'F' }, { index: 45, board: 5, ch: 2, type: 'Bl', midi: 66, class: 'F#' }, { index: 46, board: 5, ch: 3, type: 'wF', midi: 67, class: 'G' }, { index: 47, board: 5, ch: 4, type: 'Bl', midi: 68, class: 'G#' }, { index: 48, board: 5, ch: 5, type: 'wB', midi: 69, class: 'A' }, { index: 49, board: 5, ch: 6, type: 'Bl', midi: 70, class: 'A#' }, { index: 50, board: 5, ch: 7, type: 'wF', midi: 71, class: 'B' }, { index: 51, board: 5, ch: 8, type: 'wB', midi: 72, class: 'C' }, { index: 52, board: 5, ch: 9, type: 'Bl', midi: 73, class: 'C#' }, { index: 53, board: 5, ch: 10, type: 'wF', midi: 74, class: 'D' }, { index: 54, board: 5, ch: 11, type: 'Bl', midi: 75, class: 'D#' }, { index: 55, board: 6, ch: 1, type: 'wB', midi: 76, class: 'E' }, { index: 56, board: 6, ch: 2, type: 'wF', midi: 77, class: 'F' }, { index: 57, board: 6, ch: 3, type: 'Bl', midi: 78, class: 'F#' }, { index: 58, board: 6, ch: 4, type: 'wB', midi: 79, class: 'G' }, { index: 59, board: 6, ch: 5, type: 'Bl', midi: 80, class: 'G#' }, { index: 60, board: 6, ch: 6, type: 'wF', midi: 81, class: 'A' }, { index: 61, board: 6, ch: 7, type: 'Bl', midi: 82, class: 'A#' }, { index: 62, board: 6, ch: 8, type: 'wB', midi: 83, class: 'B' }, { index: 63, board: 6, ch: 9, type: 'wF', midi: 84, class: 'C' }, { index: 64, board: 6, ch: 10, type: 'Bl', midi: 85, class: 'C#' }, { index: 65, board: 6, ch: 11, type: 'wB', midi: 86, class: 'D' }, { index: 66, board: 6, ch: 1, type: 'Bl', midi: 87, class: 'D#' }, { index: 67, board: 6, ch: 2, type: 'wF', midi: 88, class: 'E' }, { index: 68, board: 6, ch: 3, type: 'wB', midi: 89, class: 'F' }, { index: 69, board: 6, ch: 4, type: 'Bl', midi: 90, class: 'F#' }, { index: 70, board: 6, ch: 5, type: 'wF', midi: 91, class: 'G' }, { index: 71, board: 6, ch: 6, type: 'Bl', midi: 92, class: 'G#' }, { index: 72, board: 6, ch: 7, type: 'wB', midi: 93, class: 'A' }, { index: 73, board: 6, ch: 8, type: 'Bl', midi: 94, class: 'A#' }, { index: 74, board: 6, ch: 9, type: 'wF', midi: 95, class: 'B' }, { index: 75, board: 6, ch: 10, type: 'wB', midi: 96, class: 'C' }, { index: 76, board: 6, ch: 11, type: 'Bl', midi: 97, class: 'C#' }, { index: 77, board: 7, ch: 1, type: 'wF', midi: 98, class: 'D' }, { index: 78, board: 7, ch: 2, type: 'Bl', midi: 99, class: 'D#' }, { index: 79, board: 7, ch: 3, type: 'wB', midi: 100, class: 'E' }, { index: 80, board: 7, ch: 4, type: 'wF', midi: 101, class: 'F' }, { index: 81, board: 7, ch: 5, type: 'Bl', midi: 102, class: 'F#' }, { index: 82, board: 7, ch: 6, type: 'wB', midi: 103, class: 'G' }, { index: 83, board: 7, ch: 7, type: 'Bl', midi: 104, class: 'G#' }, { index: 84, board: 7, ch: 8, type: 'wF', midi: 105, class: 'A' }, { index: 85, board: 7, ch: 9, type: 'Bl', midi: 106, class: 'A#' }, { index: 86, board: 7, ch: 10, type: 'wB', midi: 107, class: 'B' }, { index: 87, board: 7, ch: 11, type: 'wF', midi: 108, class: 'C' }, ] } }