Commit cfg/coda

This commit is contained in:
kevin 2023-02-26 13:49:14 -05:00
parent 27a4dda18b
commit deda1b2cdc
4 changed files with 15329 additions and 0 deletions

View File

@ -0,0 +1,368 @@
{
test: {
preset_sel: {
params: {
//score_fn: "~/src/currawong/projects/score_proc/data/play_file.csv",
score_fn: "~/src/cwtest/src/cwtest/cfg/preset_sel/score/20220423/temp.csv",
//score_fn: "~/src/currawong/audio/workshop/beck2/record_2/play_score.csv",
record_dir: "~/src/cwtest/src/cwtest/cfg/coda",
record_fn: "m350-458_coda_audio_file_abbrev", //"m302-325",
record_fn_ext: "txt",
flow_proc_dict_fn: "~/src/cwtest/src/cwtest/cfg/coda/flow_proc_dict_coda.cfg",
in_audio_dev_file: "dev_file",
in_audio_file_begin_loc: 11499, // score location where the audio file begins
in_audio_file_offset_sec: 0.0, // fine-tune offset in seconds between the beginning of the audio file and 'in_audio_file_begin_loc'.
crossFadeSrate: 48000.0, // TODO: move to flow cfg. and set via 'system default sample rate'
crossFadeCount: 3,
beg_play_loc: 11499 //12431, // 302 9187, // coda 11499,
end_play_loc: 12426 //14726, // 10109, // coda 12426,
presets: {
preset_labelL: [ "dry", "a", "b", "c", "d", "f1", "f2", "f3", "f4", "g", "ga", "g1a", "g1d" ],
default_gain: 1.0,
default_wet_dry_gain: 0.5,
default_fade_ms: 500.0,
default_preset: "dry",
default_master_wet_in_gain: 0.25,
default_master_wet_out_gain: 1.0,
default_master_dry_gain: 1.0,
default_master_sync_delay_ms: 0, // spirio 400
},
midi_play_record: {
max_midi_msg_count: 32768,
midi_timer_period_micro_sec: 15000,
all_off_delay_ms: 2500, // delay after stop time to turn off all notes
log_in_flag: false,
log_out_flag: false,
half_pedal_flag: false,
min_damper_down_time_ms: 250,
midi_device_list: [
// sampler
{
enableFl: true,
midi_out_device: "Fastlane",
midi_out_port: "Fastlane MIDI A",
//midi_out_device: "MIDIFACE 2x2",
//midi_out_port: "MIDIFACE 2x2 Midi Out 1",
//midi_out_device: "Scarlett 18i20 USB",
//midi_out_port: "Scarlett 18i20 USB MIDI 1",
force_damper_down_fl: false,
force_damper_down_threshold: 35,
force_damper_down_velocity: 80,
//midi_out_device: "PipeWire-RT-Event",
//midi_out_port: "input",
// pedal down velocity input/output mapping
/*
pedal: {
down_id: 127,
down_vel: 75,
half_down_id: 64,
half_down_vel: 43,
half_up_id: 63,
half_up_vel: 43
},
*/
// spirio 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
//vel_table: [ 1, 4, 10, 12, 12, 18, 24, 24, 30, 36, 36, 44, 48, 52, 58, 64, 64, 70, 76, 82, 88, 94,100,106, 112 ]
//vel_table: [ 1, 4, 10, 12, 12, 18, 24, 24, 30, 36, 36, 44, 48, 52, 54, 58, 58, 64, 68, 72, 76, 80, 84, 98, 102 ]
vel_table: [ 1, 5 10, 16, 21, 26, 32, 37, 42, 48, 53, 58, 64, 69, 74, 80, 85, 90, 96,101,106,112,117,122,127 ] ,
scale_chord_notes_enable_fl: false,
scale_chord_notes_factor: 0.05,
},
// piano
{
enableFl: true,
midi_out_device: "Fastlane",
midi_out_port: "Fastlane MIDI B",
//midi_out_device: "MIDIFACE 2x2",
//midi_out_port: "MIDIFACE 2x2 Midi Out 2",
//midi_out_device: "iRig MIDI 2",
//midi_out_port: "iRig MIDI 2 MIDI 1",
//midi_out_device: "PC-300",
//midi_out_port: "PC-300 MIDI 1",
//midi_out_device: "PipeWire-RT-Event",
//midi_out_port: "input" ,
pedal: {
up_id: 0,
up_vel: 0,
down_id: 127,
down_vel: 75,
half_down_id: 64,
half_down_vel: 43,
half_up_id: 63,
half_up_vel: 43
},
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 34
//vel_table: [ 1, 4, 10, 12, 12, 18, 24, 24, 30, 36, 36, 44, 48, 52, 58, 64, 64, 70, 76, 82, 88, 94,100,106,112 ]
vel_table: [ 1, 4, 10, 12, 12, 18, 24, 24, 30, 36, 36, 44, 48, 52, 54, 58, 58, 64, 68, 72, 76, 80, 84, 98, 102 ]
//vel_table: [ 1, 5 10, 16, 21, 26, 32, 37, 42, 48, 53, 58, 64, 69, 74, 80, 85, 90, 96,101,106,112,117,122,127 ] ,
force_damper_down_fl: false,
force_damper_down_threshold: 35,
force_damper_down_velocity: 80,
scale_chord_notes_enable_fl: true,
scale_chord_notes_factor: 0.5,
},
],
}
},
io: {
callbackMutexTimeOutMs: 100,
}
ui: {
physRootDir: "~/src/cwtest/src/libcw/html/preset_sel",
dfltPageFn: "index.html",
port: 5687,
rcvBufByteN: 2048,
xmtBufByteN: 2048,
fmtBufByteN: 4096,
websockTimeOutMs: 50, // max time out while blocking for a websock event
idleMsgPeriodMs: 50, // period without messages before an idle message is generated
uiCfgFn: "ui.cfg", // default UI resource description
asyncFl: false
},
serial: {
pollPeriodMs: 50,
recvBufByteN: 512,
array: [
{
enableFl: false,
asyncFl: false,
label: "port1", // User label
device: "/dev/ttyUSB0", // Serial device name
baud: 115200,
bits: 8,
stop: 1,
parity: "no",
}
]
},
midi: {
parserBufByteN: 1024,
asyncFl: false,
},
audio: {
meterMs: 50, // audio meter filter length and meter callback period
threadTimeOutMs: 50, // audio thread cond var time out
files: [
{
enableFl: true,
device_label:"my_audio_io_file",
in_fname: "/home/kevin/temp/coda_0_d_ivory_vsl.wav",
in_rewindow_on_start_fl: true,
in_cache_fl: true,
in_use_internal_clock_fl: false,
out_fname: "/home/kevin/temp/temp_1.wav",
out_rewind_on_start_fl: true,
out_cache_fl: true,
out_use_internal_clock_fl: false,
out_ch_count: 4,
out_cache_block_sec: 10 // output cache block size
}
]
groupL: [
{
enableFl: true, // (req)
asyncFl: true, // (req) Use an asynchronous callback
label: "main", // (req) User label
id: 0, // (req) User id (can also be set at runtime)
srate: 48000, // (req) Sample rate used by all devices in this group
dspFrameCnt: 64 // (req) Size of DSP processing buffers
}
],
deviceL: [
{
// System device name
//device: "Scarlett 18i20 USB USB Audio",
device: "USB Audio CODEC USB Audio",
//device: "HDA Intel PCH CS4208 Analog",
//device: "ICUSBAUDIO7D USB Audio"
activeFl: true, // (req)
meterFl: true, // (opt)
label: "dev", // (req) User label
userId: 0, // (opt) User id (can also be set at runtime)
framesPerCycle: 1024, // (req) Samples per audio device cycle
cycleCnt: 3, // (req) Count of device cycle buffers.
inGroup: "main", // (opt) All devices in a group must be 'ready' to source
outGroup: "main", // (opt) or sink data before an audio callback is made for that group
},
{
// System device name
device: "my_audio_io_file", //
clockSrcDev: "dev", // (opt) sync to the device 'dev'
syncToClockSrcDevInputFl: true, // (opt) false = sync to clockSrcDev output
activeFl: true, // (req)
meterFl: false, // (opt)
label: "dev_file", // (req) User label
userId: 0, // (opt) User id (can also be set at runtime)
framesPerCycle: 1024, // (req) Samples per audio device cycle
cycleCnt: 3, // (req) Count of device cycle buffers.
inGroup: "main", // (opt) All devices in a group must be 'ready' to source
outGroup: "main", // (opt) or sink data before an audio callback is made for that group
}
]
},
socket: {
asyncFl: false,
maxSocketCnt: 10,
recvBufByteCnt: 4096,
threadTimeOutMs: 50,
socketL: [],
}
flow: {
framesPerCycle: 64, // time-domain audio cycles frame per cycle
maxCycleCount: 15000, // 0 disables maxCycleCount
printNetworkFl: false, // print the network instance
printClassDictFl: false, // print the class description dictionary
network: {
aud_in: { class: audio_in, args:{ default:{dev_label:"dev_file"} } },
//aud_in { class: audio_delay, in: { in:pre_aud_in.out }, args:{ default:{ delayMs:400 } }}
// ivory dry
ivory: { class: audio_split, in:{ in:aud_in.out } args:{ default:{select[1,1,0,0]}} }
vsl: { class: audio_split, in:{ in:aud_in.out } args:{ default:{select[0,0,1,1]}} }
mstr_wet_in_gain: { class: audio_gain, in:{ in:ivory.out }, args:{}}
// wet signal processing chain
wet_in_gain: { class: audio_gain, in:{ in:mstr_wet_in_gain.out }, args:{}},
pva: { class: pv_analysis, in:{ in:wet_in_gain.out }, args:{ default:{ wndSmpN:512, hopSmpN:128, hzFl:false } } },
sd: { class: spec_dist, in:{ in:pva.out }, preset:kc, args:{ bypass:false } },
pvs: { class: pv_synthesis, in:{ in:sd.out }, },
cmp: { class: compressor, in:{ in:pvs.out }, preset:kc, args:{ bypass:false } },
wet_out_gain: { class: audio_gain, in:{ in:cmp.out }},
//wet_out_gain: { class: audio_gain, in:{ in:pvs.out }},
mute_wet: { class: audio_gain, in:{ in:wet_out_gain.out }},
//wet_bal_gain: { class: audio_gain, in:{ in:mute_wet.out, gain:wd_bal.out }},
//dry_bal_gain: { class: audio_gain, in:{ in:aud_in.out, gain:wd_bal.inv_out }},
mstr_wet_out_gain: { class: audio_gain, in:{ in:mute_wet.out }}
mstr_dry_out_gain: { class: audio_gain, in:{ in:aud_in.out }},
// apply the wet/dry gain balance
wd_bal: { class: balance },
wd_mix: { class: audio_mix, in:{ in0:mstr_wet_out_gain.out, in1:mstr_dry_out_gain.out, gain0:wd_bal.out, gain1:wd_bal.inv_out }}
// merge the wet/dry signals into a single 4 channel signal
//merge: { class: audio_merge, in:{ in0:mstr_wet_out_gain.out, in1:wd_mix.out, in2:vsl.out } },
//out_mix: { class: audio_mix, in: { in0:wd_mix.out, in1:vsl.out } }
aout: { class: audio_out, in:{ in:wd_mix.out }, args:{ default:{dev_label:"dev"} } },
//sel_dry: { class: audio_split, in:{ in:aud_in.out } args:{ default:{select[0,0,1,1,1,1 ]}} }
merge: { class: audio_merge, in:{ in0:wd_mix.out, in1:vsl.out } },
af_out: { class: audio_out, in:{ in:merge.out }, args:{ default:{dev_label:"dev_file"} } },
//ain_mtr: { class: audio_meter, in:{ in:aud_in.out } }
}
presets: {
dry: { mute_wet: { gain:0 } },
a: { pva:a, sd:a, cmp:a, mute_wet:{ gain:1 } },
b: { pva:b, sd:b, cmp:b, mute_wet:{ gain:1 } },
c: { pva:c, sd:c, cmp:c, mute_wet:{ gain:1 } },
d: { pva:d, sd:d, cmp:d, mute_wet:{ gain:1 } },
f1: { pva:f_1, sd:f_1, cmp:f_1, mute_wet:{ gain:1 } },
f2: { pva:f_2, sd:f_2, cmp:f_2, mute_wet:{ gain:1 } },
f3: { pva:f_3, sd:f_3, cmp:f_3, mute_wet:{ gain:1 } },
f4: { pva:f_4, sd:f_4, cmp:f_4, mute_wet:{ gain:1 } },
g: { pva:g, sd:g, cmp:g, mute_wet:{ gain:1 } },
ga: { pva:g_a sd:g_a, cmp:g_a, mute_wet:{ gain:1 } },
g1a: { pva:g_1_a sd:g_1_a, cmp:g_1_a, mute_wet:{ gain:1 } },
g1d: { pva:g_1_d sd:g_1_d, cmp:g_1_d, mute_wet:{ gain:1 } }
/*
dry: { mute_wet: { gain:0 } },
a: { pva:a, sd:a, mute_wet:{ gain:1 } },
b: { pva:b, sd:b, mute_wet:{ gain:1 } },
c: { pva:c, sd:c, mute_wet:{ gain:1 } },
d: { pva:d, sd:d, mute_wet:{ gain:1 } },
f1: { pva:f_1, sd:f_1, mute_wet:{ gain:1 } },
f2: { pva:f_2, sd:f_2, mute_wet:{ gain:1 } },
f3: { pva:f_3, sd:f_3, mute_wet:{ gain:1 } },
f4: { pva:f_4, sd:f_4, mute_wet:{ gain:1 } },
g: { pva:g, sd:g, mute_wet:{ gain:1 } },
ga: { pva:g_a sd:g_a, mute_wet:{ gain:1 } },
g1a: { pva:g_1_a sd:g_1_a, mute_wet:{ gain:1 } },
g1d: { pva:g_1_d sd:g_1_d, mute_wet:{ gain:1 } }
*/
}
}
}
}

View File

@ -0,0 +1,533 @@
{
balance: {
vars: {
in: { type:real, value:0.5, doc:"Input vaue" },
out: { type:real, doc:"Ouput value. Same as input value."},
inv_out: { type:real, doc:"1.0 minus output value."}
}
}
audio_in: {
vars: {
dev_label: { type:string, doc:"Audio device label." },
out: { type:audio, doc:"Audio output" },
}
}
audio_out: {
vars: {
dev_label: { type:string, doc:"Audio device label." },
in: { type:audio, flags:["src"], doc:"Audio input." }
}
}
audioFileIn: {
vars: {
fname: { type:string, doc:"Audio file name." },
out:{ type:audio, doc:"Audio file output" },
on_off:{ type:bool, value:false, doc:"1=on 0=off" },,
seekSecs:{ type:real, value:0.0, doc:"Seek to the specified seconds offset." }
eofFl:{ type:bool, eofFl: true, doc:"Set the system 'halt' flag when the audio is completely read."},
}
}
audioFileOut: {
vars: {
fname: { type:string, doc:"Audio file name." },
bits: { type:uint, value:32, doc:"Audio file word width. (8,16,24,32,0=float32)."},
in: { type:audio, flags:["src"], doc:"Audio file input." }
}
}
audio_gain: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input." },
gain: { type:real, value:1.0, doc:"Gain coefficient." }
out: { type:audio, doc:"Audio output." },
}
}
audio_split: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input." },
select: { type:bool, doc:"Enable/Disable each channel" }
gain: { type:real, value:1.0, doc:"Audio gain for each selected (output) channel." }
out: { type:audio, doc:"Audio output." },
}
presets:
{
mute_off: { gain:1 },
mute_on: { gain:0 },
}
}
audio_duplicate: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input."},
duplicate: { type: uint, doc:"Count of times to repeat this channel." },
gain: { type: real, value:1.0, doc:"Audio gain." },
out: { type:audio, doc:"Audio output containing repeat * input channel count channels."}
}
}
audio_merge: {
vars: {
in0: { type:audio, flags:["src"], doc:"First audio input." },
in1: { type:audio, flags:["src"], doc:"Second audio input." },
in2: { type:audio, flags:["src","src_opt"], doc:"Third audio input." },
in3: { type:audio, flags:["src","src_opt"], doc:"Fourth audio input." },
in4: { type:audio, flags:["src","src_opt"], doc:"Fifth audio input." },
in5: { type:audio, flags:["src","src_opt"], doc:"Sixth audio input." },
in6: { type:audio, flags:["src","src_opt"], doc:"Seventh audio input." },
in7: { type:audio, flags:["src","src_opt"], doc:"Eigth audio input." },
gain: { type:real, value:1.0, doc:"Audio gain for each selected (output) channel." }
out: { type:audio, doc:"Audio output. Channel count is the sum of the input channel count." },
}
}
audio_mix: {
vars: {
in0: { type:audio, flags:["src"], doc:"First audio input." },
in1: { type:audio, flags:["src"], doc:"Second audio input." },
gain0: { type:real, value:0.5, doc:"Audio gain for input 0." },
gain1: { type:real, value:0.5, doc:"Audio gain for input 1." },
out: { type:audio, doc:"Audio output. Channel count is max of the input signal channels." },
}
}
audio_delay: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input." },
maxDelayMs: { type:real, value:1000.0 doc:"Maximum possible delay in milliseconds." },
delayMs: { type:real, doc:"Delay in milliseconds." },
out: { type:audio, doc:"Audio output." },
}
}
sine_tone: {
vars: {
srate: { type:real, value:48000.0, doc:"Sine tone sample rate."}
chCnt: { type:uint, value:2, doc:"Output signal channel count."},
hz: { type:real, value:440.0, doc:"Frequency in Hertz."},
gain: { type:real, value:0.8, doc:"Signal frequency."},
out: { type:audio, doc:"Audio output" },
}
presets: {
a: { hz:220 },
b: { hz:880 },
}
}
pv_analysis: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input." },
maxWndSmpN: { type:uint, value: 512, doc:"Maximum window sample count." },
wndSmpN: { type:uint, value: 512, doc:"Window sample count." },
hopSmpN: { type:uint, value: 128, doc:"Hop sample count." },
hzFl: { type:bool, value: false, doc:"Calculate frequency via the method of phase changeof each bin." },
out: { type:spectrum, doc:"Spectrum output." }
}
presets: {
dry: {
wndSmpN: 512,
hopSmpN: 128
}
kc: {
wndSmpN: 512,
hopSmpN: 128
}
a: {
wndSmpN: 512,
hopSmpN: 128
}
b: {
wndSmpN: 512,
hopSmpN: 128
}
c: {
wndSmpN: 512,
hopSmpN: 128
}
d: {
wndSmpN: 512,
hopSmpN: 128
}
f_1: {
wndSmpN: 512,
hopSmpN: 128
}
f_2: {
wndSmpN: 512,
hopSmpN: 128
}
f_3: {
wndSmpN: 512,
hopSmpN: 128
}
f_4: {
wndSmpN: 512,
hopSmpN: 128
}
g: {
wndSmpN: 512,
hopSmpN: 128
}
g_a: {
wndSmpN: 512,
hopSmpN: 128
}
g_1_a: {
wndSmpN: 512,
hopSmpN: 128
}
g_1_d: {
wndSmpN: 512,
hopSmpN: 128
}
}
}
pv_synthesis: {
vars: {
in: { type:spectrum, flags:["src"], doc:"Spectrum input." },
out: { type:audio, doc:"Audio output." }
}
}
spec_dist: {
vars: {
in: { type:spectrum, flags:["src"], doc:"Spectrum input." },
bypass: { type:bool, value: false, doc:"Copy input to output without transform."},
ceiling: { type:real, value: 30.0, doc:"Ceiling parameter."},
expo: { type:real, value: 2.0, doc:"Exponent parameter."},
thresh: { type:real, value: 54.0, doc:"Threshold parameter."},
upr: { type:real, value: -0.7, doc:"Upper slope parameter."},
lwr: { type:real, value: 2.0, doc:"Lower slope parameter."},
mix: { type:real, value: 0.0, doc:"Basic/Bump Mix parameter."},
out: { type:spectrum, doc:"Spectrum output." },
}
presets: {
dry: {
}
kc: {
ceiling: 20.0,
expo: 2.0,
thresh: 65.0,
upr: 0.0,
lwr: 2.0,
mix: 0.0
}
a: {
ceiling: 20.0
expo: 2.0
thresh: 60.0
upr: [ -1.1, -0.99],
lwr: 2.0
mix: 0.0
}
b: {
ceiling: 20.0
expo: 2.0
thresh: [ 77.0, 74.0 ],
upr: -0.5
lwr: [ 3.0, 2.0 ],
mix: 0.0
}
c: {
ceiling: 20.0
expo: 2.0
thresh: 80.0
upr: -0.5
lwr: 5.0
mix: 0.0
}
d: {
ceiling: 20.0
expo: 2.0
thresh: 70.0
upr: [ -3.9, 04.5]
lwr: 4.0
mix: 0.0
}
f_1: {
ceiling: 20.0
expo: 2.0
thresh: 50.0
upr: -3.0
lwr: 1.0
mix: 0.0
}
f_2: {
ceiling: 20.0
expo: 2.0
thresh: 60.0
upr: -3.0
lwr: 1.0
mix: 0.0
}
f_3: {
ceiling: 20.0
expo: 2.0
thresh: 55.0
upr: -3.0
lwr: 1.0
mix: 0.0
}
f_4: {
ceiling: 20.0
expo: 2.0
thresh: 55.0
upr: -5.0
lwr: 1.0
mix: 0.0
}
g: {
ceiling: 40.0
expo: 8.0
thresh: [60.0 64.0]
upr: -0.7
lwr: 8.0
mix: 1.0
}
g_a: {
ceiling: 40.0
expo: 2.0
thresh: [50.0 54.0]
upr: -0.7
lwr: 2.0
mix: 1.0
}
g_1_a: {
ceiling: 20.0
expo: 2.0
thresh: [50.0 54.0]
upr: -0.7
lwr: 8.0
mix: 1.0
}
g_1_d: {
ceiling: [60.0 64.0]
expo: [ 7.0 5.0]
thresh: [40.0 34.0]
upr: [-0.4 -0.3]
lwr: [ 7.0 5.0]
mix: 1.0
}
}
}
compressor: {
vars: {
in: { type:audio, flags:["src"] true, doc:"Audio input." },
bypass: { type:bool, value: false, doc:"Bypass the compressor."},
igain: { type:real, value: 1.0, doc:"Input gain."},
thresh: { type:real, value: 90.0, doc:"Attack threshold in dB."},
ratio: { type:real, value: 2.0, doc:"Compression ratio."},
atk_ms: { type:real, value: 20.0, doc:"Attack time in milliseconds."},
rls_ms: { type:real, value: 20.0, doc:"Release time in milliseconds."},
wnd_ms: { type:real, value: 200.0, doc:"RMS calc. window length in milliseconds."},
maxWnd_ms: { type:real, value: 1000.0, doc:"Maximim (allocated) window length in milliseconds."},
ogain: { type:real, value: 1.0, doc:"Output gain."},
out: { type:audio, doc:"Audio output." },
}
presets: {
dflt: {
igain: 3.0
thresh: 60.0
ratio: 5.0
atk_ms: 5.0
rls_ms: 20.0
wnd_ms:100.0
ogain: 1.0
}
kc: {
bypass: false
igain: 3.0
thresh: 80.0
ratio: 2.0
atk_ms: 20.0
rls_ms: 1000.0
wnd_ms: 200.0
ogain: 1.0
}
input: {
bypass: false
igain: 2.0
thresh: 30.0
ratio: 12.0
atk_ms: 5.0
rls_ms: 20.0
wnd_ms: 20.0
ogain: 0.5
}
dry: {
}
a: {
igain: 6.0
ogain: 1.0
}
b: {
igain: 10.0
ogain: 1.0
}
c: {
igain: 11.0
ogain: 1.0
}
d: {
igain: 9.0
ogain: 1.0
}
f_1: {
igain: 6.0
ogain: 1.0
}
f_2: {
igain: 6.0
ogain: 1.0
}
f_3: {
igain: 6.0
ogain: 1.0
}
f_4: {
igain: 6.0
ogain: 1.0
}
g: {
igain: 10.0
ogain: 0.75
}
g_a: {
igain: 10.0
ogain: 0.75
}
g_1_a: {
igain: 10.0
ogain: 0.75
}
g_1_d: {
igain: 10.0
ogain: 0.75
}
}
}
limiter: {
vars: {
in: { type:audio, flags:["src"] true, doc:"Audio input." },
bypass: { type:bool, value: false, doc:"Bypass the limiter."},
igain: { type:real, value: 1.0, doc:"Input gain."},
thresh: { type:real, value: 0.0, doc:"Linear (0.0-1.0) threshold."},
ogain: { type:real, value: 1.0, doc:"Output gain."},
out: { type:audio, doc:"Audio output." },
}
presets: {
dflt: {
bypass: false,
igain: 1.0
thresh: 0.9,
ogain: 1.0
}
}
}
dc_filter: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input." },
bypass: { type:bool, value: false, doc:"Bypass the DC filter."},
gain: { type:real, value: 1.0, doc:"Output gain."},
out: { type:audio, doc:"Audio output." },
}
presets: {
dflt: {
bypass: false,
gain: 1.0
}
}
}
audio_meter: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input." },
dbFl: { type:bool, value: true, doc:"Output in Decibels." },
wndMs: { type:real, value: 100.0, doc:"RMS window length." },
peakDb: { type:real, value: -10.0, doc:"Peak threshold." },
out: { type:real, value: 0.0, doc:"Meter output." },
peakFl: { type:bool, value: false, doc:"Peak output." }
clipFl: { type:bool, value: false, doc:"Clip indicator output."}
}
}
audio_marker: {
vars: {
in: { type:audio, flags:["src"], doc:"Audio input." },
mark: { type:real, value:1.0, doc:"Marker value." }
out: { type:audio, doc:"Audio output." },
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long