flow/proc_dict.cfg : pv_analysis now has multi-channel per preset window sizes.

Added gutim_ps.
Updated score_player to use start/stop buttons
This commit is contained in:
kevin 2025-03-08 12:00:59 -05:00
parent d57789ea74
commit 016702e4e4

View File

@ -171,11 +171,10 @@
pv_analysis: { pv_analysis: {
vars: { vars: {
in: { type:audio, flags:["src"], doc:"Audio input." }, in: { type:audio, flags:["src"], doc:"Audio input." },
maxWndSmpN: { type:uint, value: 512, doc:"Maximum window sample count." }, maxWndSmpN: { type:uint, value: 1024, doc:"Maximum window sample count." },
wndSmpN: { type:uint, value: 512, doc:"Window sample count." }, wndSmpN: { type:uint, value: 512, doc:"Window sample count." },
hopSmpN: { type:uint, value: 128, doc:"Hop 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." }, hzFl: { type:bool, value: false, doc:"Calculate frequency via the method of phase change of each bin." },
//args: { type:record, doc:"Parameter record with fields 'wndSmpN' and 'hopSmpN'." },
out: { type:spectrum, doc:"Spectrum output." } out: { type:spectrum, doc:"Spectrum output." }
} }
@ -192,62 +191,62 @@
} }
a: { a: {
wndSmpN: 512, wndSmpN: [512,1024],
hopSmpN: 128 hopSmpN: 128
} }
b: { b: {
wndSmpN: 512, wndSmpN: [1024,512],
hopSmpN: 128 hopSmpN: 128
} }
c: { c: {
wndSmpN: 512, wndSmpN: [512,1024],
hopSmpN: 128 hopSmpN: 128
} }
d: { d: {
wndSmpN: 512, wndSmpN: [1024,512],
hopSmpN: 128 hopSmpN: 128
} }
f_1: { f_1: {
wndSmpN: 512, wndSmpN: [512,1024],
hopSmpN: 128 hopSmpN: 128
} }
f_2: { f_2: {
wndSmpN: 512, wndSmpN: [1024,512],
hopSmpN: 128 hopSmpN: 128
} }
f_3: { f_3: {
wndSmpN: 512, wndSmpN: [512,1024],
hopSmpN: 128 hopSmpN: 128
} }
f_4: { f_4: {
wndSmpN: 512, wndSmpN: [1024,512],
hopSmpN: 128 hopSmpN: 128
} }
g: { g: {
wndSmpN: 512, wndSmpN: [512,1024],
hopSmpN: 128 hopSmpN: 128
} }
g_a: { g_a: {
wndSmpN: 512, wndSmpN: [1024,512],
hopSmpN: 128 hopSmpN: 128
} }
g_1_a: { g_1_a: {
wndSmpN: 512, wndSmpN: [512,1024],
hopSmpN: 128 hopSmpN: 128
} }
g_1_d: { g_1_d: {
wndSmpN: 512, wndSmpN: [1024,512],
hopSmpN: 128 hopSmpN: 128
} }
} }
@ -736,8 +735,11 @@
in: { type:midi, doc:"MIDI in" }, in: { type:midi, doc:"MIDI in" },
out: { type:audio, doc:"Audio out" }, out: { type:audio, doc:"Audio out" },
done_fl: { type:bool, value:false, doc:"Triggers when voice is available."}, done_fl: { type:bool, value:false, doc:"Triggers when voice is available."},
test_pitch: { type:uint, value:0, doc:"Pitch to test." },
test_pitch: { type:uint, value:0, doc:"Pitch to test." },
test_key_pitch: { type:uint, value:48, doc:"Base pitch to use for lowest velocity when in 'test' mode." }, test_key_pitch: { type:uint, value:48, doc:"Base pitch to use for lowest velocity when in 'test' mode." },
load_thread_cnt: { type:uint, flags["init"], value:16, doc:"Count of threads to use for wave table loading." }
} }
}, },
@ -812,10 +814,16 @@
score_player: { score_player: {
doc: [ "Generate MIDI and score location information from a score file." ] doc: [ "Generate MIDI and score location information from a score file." ]
vars: { vars: {
fname: { type:string, flags:["init"], value:"", doc:"Score file name." }, fname: { type:string, flags:["init"], value:"", doc:"Score file name." },
loc: { type:uint, value:0, doc:"Score location output." }, stopping_ms: { type:uint, flags:["init"], value:5000, doc:"Maximum stopping time in milliseconds." },
done_fl: { type:bool, value:false, doc:"Emits true on done." }, start: { type:all, value:false, doc:"Start playback" },
out: { type:record, doc:"Score event record.", stop: { type:all, value:false, doc:"Stop playback" },
b_loc: { type:uint, value:0, doc:"Score begin location." },
e_loc: { type:uint, value:0, doc:"Score end location." },
b_meas: { type:uint, value:0, doc:"Score begin measure." },
e_meas: { type:uint, value:0, doc:"Score end measure." },
done_fl: { type:bool, value:false, doc:"Emits true on done." },
out: { type:record, doc:"Score event record.",
fmt: { fmt: {
fields: { fields: {
midi: { type:m3, doc:"MIDI channel event message" }, midi: { type:m3, doc:"MIDI channel event message" },
@ -858,17 +866,15 @@
preset_select: { preset_select: {
doc:[ "Given a score location return a preset id and record."], doc:[ "Given a score location emit a preset label."],
vars: { vars: {
cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." }, cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." },
//xf_cnt: { type:uint, flags:["init"], value:3, doc:"Transform channel count." },
in: { type:record, fmt:{ required:["loc"]} doc:"Input record with 'loc' field." }, in: { type:record, fmt:{ required:["loc"]} doc:"Input record with 'loc' field." },
fname: { type:string, flags:["init"], value:"", doc:"Preset file name."}, fname: { type:string, flags:["init"], value:"", doc:"Preset file name."},
loc: { type:uint, value:0, doc:"Seek to this location." }, loc: { type:uint, value:0, doc:"Seek to this location." },
//out_idx: { type:uint, value:0, doc:"Transform output index." }, //out_idx: { type:uint, value:0, doc:"Transform output index." },
preset_label: { type:string, value:"", doc:"Preset label to apply." } preset_label: { type:string, value:"", doc:"Preset label to apply." }
} }
presets: { presets: {
@ -887,9 +893,90 @@
default_master_wet_out_gain: 1.0, default_master_wet_out_gain: 1.0,
default_master_dry_gain: 1.0, default_master_dry_gain: 1.0,
default_master_sync_delay_ms: 400, // spirio 400 default_master_sync_delay_ms: 400, // spirio 400
}, },
}
}
}
gutim_ps: {
doc:[ "Given score location and MIDI note messages emit transform parameters."],
vars: {
cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." },
fname: { type:string, flags:["init"], value:"", doc:"Preset file name."},
in: { type:record, fmt:{ required:["loc"] }, doc:"Input record with 'loc' field." },
loc: { type:uint, value:0, doc:"Seek to this location." },
reset: { type:bool, value:false, doc:"Reset to initial state."},
per_note_fl: { type:bool, value:false, doc:"Update the selected preset on every note, otherwise update on new location values." },
pri_prob_fl: { type:bool, value: false, doc:"Select primary preset probabilstically." }
pri_uniform_fl: { type:bool, flags:["ui_disable"], value: false, doc:"Use a uniform probability distribution rather than an 'order' weighted distribution." },
pri_dry_on_play_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if it is the manually selected preset." },
pri_allow_all_fl: { type: bool, flags:["ui_disable"], value: false, doc:"Select from all possible presets rather than the presets with 'order' > 0." },
pri_dry_on_sel_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if 'allow_all' is selected and 'dry' has 'order' > 0." },
interp_fl: { type: bool, value: false, doc:"Interpolate between the primary and secondary presets." },
interp_dist: { type: float, flags:["ui_disable"], value: 0.5, doc:"Unit fractionaly distance between primary and secondary preset." },
interp_rand_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Randomly select the distance between the primary and secondary preset." },
sec_prob_fl: { type:bool, flags:["ui_disable"], value: false, doc:"Select secondary preset probabilstically." }
sec_uniform_fl: { type:bool, flags:["ui_disable"], value: false, doc:"Use a uniform probability distribution rather than an 'order' weighted distribution." },
sec_dry_on_play_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if it is the manually selected preset." },
sec_allow_all_fl: { type: bool, flags:["ui_disable"], value: false, doc:"Select from all possible presets rather than the presets with 'order' > 0." },
sec_dry_on_sel_fl: { type: bool, flags:["ui_disable"], value: true, doc:"Select 'dry' if 'allow_all' is selected and 'dry' has 'order' > 0." },
midi_in: { type:midi, flags:["mult","no_ui"], doc:"Per voice MIDI in" },
wnd_smp_cnt: { type:uint, value:512, flags:["mult","no_ui"], doc:"PVA window sample count" },
ceiling: { type:coeff, value:20, flags:["mult","no_ui"], doc:"SD ceiling parameter" },
expo: { type:coeff, value:2.0, flags:["mult","no_ui"], doc:"SD expo parameter" },
thresh: { type:coeff, value:70.0, flags:["mult","no_ui"], doc:"SD thresh parameter" },
upr: { type:coeff, value:0.0, flags:["mult","no_ui"], doc:"SD upr parameter" },
lwr: { type:coeff, value:2.0, flags:["mult","no_ui"], doc:"SD lwr parameter" },
mix: { type:coeff, value:0.0, flags:["mult","no_ui"], doc:"SD mix parameter" },
c_igain: { type:coeff, value:1.0, flags:["mult","no_ui"], doc:"Compressor igain parameter" },
c_ogain: { type:coeff, value:1.0, flags:["mult","no_ui"], doc:"Compressor ogain paramter" },
dry_gain: { type:coeff, value:1.0, flags:["mult","no_ui"], doc:"Output gain." },
}
presets: {
dry: { dry_gain:0 },
a: { dry_gain:1.0 },
b: { dry_gain:1.0 },
c: { dry_gain:1.0 },
d: { dry_gain:1.0 },
f_1: { dry_gain:1.0 },
f_2: { dry_gain:1.0 },
f_3: { dry_gain:1.0 },
f_4: { dry_gain:1.0 },
g: { dry_gain:1.0 },
g_a: { dry_gain:1.0 },
g_1_a: { dry_gain:1.0 },
g_1_d: { dry_gain:1.0 },
init: {
cfg: {
preset_labelL: [ "dry", "a", "b", "c", "d", "f1", "f2", "f3", "f4", "g", "ga", "g1a", "g1d" ],
alt_labelL: [ "A","B","C","D","E","F","G" ],
default_gain: 1.0,
default_wet_dry_gain: 0.5,
default_fade_ms: 50.0,
default_preset: "dry",
default_master_wet_in_gain: 1.0,
default_master_wet_out_gain: 1.0,
default_master_dry_gain: 1.0,
default_master_sync_delay_ms: 400, // spirio 400
},
} }
} }
}, },