flow/proc_dict.cfg : Added poly_xform_ctl,score_player,score_follower,preset_select.
This commit is contained in:
parent
9c57b3434f
commit
171d32f262
@ -67,6 +67,11 @@
|
|||||||
gain: { type:coeff, value:1.0, doc:"Gain coefficient." }
|
gain: { type:coeff, value:1.0, doc:"Gain coefficient." }
|
||||||
out: { type:audio, doc:"Audio output." },
|
out: { type:audio, doc:"Audio output." },
|
||||||
}
|
}
|
||||||
|
presets:
|
||||||
|
{
|
||||||
|
mute_off: { gain:1 },
|
||||||
|
mute_on: { gain:0 }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_split: {
|
audio_split: {
|
||||||
@ -160,12 +165,13 @@
|
|||||||
|
|
||||||
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: 512, 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 changeof each bin." },
|
||||||
out: { type:spectrum, doc:"Spectrum output." }
|
//args: { type:record, doc:"Parameter record with fields 'wndSmpN' and 'hopSmpN'." },
|
||||||
|
out: { type:spectrum, doc:"Spectrum output." }
|
||||||
}
|
}
|
||||||
|
|
||||||
presets: {
|
presets: {
|
||||||
@ -647,11 +653,11 @@
|
|||||||
// string,cfg,numeric (uint,int,float,double)
|
// string,cfg,numeric (uint,int,float,double)
|
||||||
list: {
|
list: {
|
||||||
vars: {
|
vars: {
|
||||||
cfg_fname: { type:string, value:"", flags:["init"], doc:"List cfg file." },
|
cfg_fname: { type:string, flags:["init"], value:"", doc:"List cfg file." },
|
||||||
in: { type:uint, flags:["src"], doc:"List selection index." },
|
in: { type:uint, flags:["src"], doc:"List selection index." },
|
||||||
list: { type:cfg, value:{} doc:"List as a 'cfg' object." },
|
list: { type:cfg, flags:["init"], value:{} doc:"List as a 'cfg' object." },
|
||||||
out: { type:runtime, doc:"List output value." },
|
out: { type:runtime, doc:"List output value." },
|
||||||
value: { type:runtime, flags["mult"], doc:"List 'mult' output per list value." },
|
value: { type:runtime, flags["mult"], doc:"List 'mult' output per list value." },
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -693,8 +699,10 @@
|
|||||||
|
|
||||||
midi_voice: {
|
midi_voice: {
|
||||||
vars: {
|
vars: {
|
||||||
in: { type:midi, doc:"MIDI in" },
|
in: { type:midi, doc:"MIDI in" },
|
||||||
out: { type:audio, doc:"Audio out" }
|
gain: { type:coeff, value:1.0, doc:"Audio gain." },
|
||||||
|
chCnt: { type:uint, flags["init"], doc:"Output audio channel count."},
|
||||||
|
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."}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -705,7 +713,7 @@
|
|||||||
|
|
||||||
vars: {
|
vars: {
|
||||||
|
|
||||||
in: { type:midi, doc:"MIDI input."},
|
in: { type:record, doc:"MIDI input."},
|
||||||
voice_cnt: { type:uint, value:3, flags:["init"], doc:"Count of voices." },
|
voice_cnt: { type:uint, value:3, flags:["init"], doc:"Count of voices." },
|
||||||
out: { type:midi, flags:["mult"], doc:"MIDI output to voices. One per voice." },
|
out: { type:midi, flags:["mult"], doc:"MIDI output to voices. One per voice." },
|
||||||
done_fl: { type:bool, value:false, flags:["mult"], doc:"Voice available feedback triggers from voices. One per voice."},
|
done_fl: { type:bool, value:false, flags:["mult"], doc:"Voice available feedback triggers from voices. One per voice."},
|
||||||
@ -780,5 +788,142 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
poly_xform_ctl: {
|
||||||
|
doc: ["When frag_id changes route "],
|
||||||
|
vars: {
|
||||||
|
out_ch_cnt:{ type:uint, flags:["init"], doc:"Count of audio output channels."},
|
||||||
|
in: { type:audio, flags:["src","mult"], doc:"Audio input." },
|
||||||
|
midi: { type:midi, flags:["mult"], doc:"Per audio channel MIDI message from poly_voice_ctl." },
|
||||||
|
donefl: { type:bool, flags["mult"], doc:"Per audio channel voice 'available' flags." },
|
||||||
|
out_ch_idx:{ type:uint, value:0, doc:"Transform preset id. Change indicates that successive notes should go to a new output." },
|
||||||
|
out: { type:audio, flags:["mult"] doc:"Audio output."},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
score_player: {
|
||||||
|
doc: [ "Generate MIDI and score location information from a score file." ]
|
||||||
|
vars: {
|
||||||
|
fname: { type:string, flags:["init"], value:"", doc:"Score file name." },
|
||||||
|
vel_tbl_fname:{ type:string, flags:["init"], value:"", doc:"Velocity table filename as create by vwVelTableTuner." },
|
||||||
|
vel_tbl_label:{ type:string, value:"", doc:"Name of the active velocity table referenced by 'vel_fname."},
|
||||||
|
//out: { type:midi, doc:"MIDI output." },
|
||||||
|
loc: { type:uint, value:0, doc:"Score location output." },
|
||||||
|
done_fl: { type:bool, value:false, doc:"Emits true on done." },
|
||||||
|
out: { type:record, doc:"Score event record.",
|
||||||
|
fmt: {
|
||||||
|
fields: {
|
||||||
|
midi: { type:m3, doc:"MIDI channel event message" },
|
||||||
|
loc: { type:uint, value:-1, doc:"Score location id." },
|
||||||
|
meas: { type:uint, value:-1, doc:"Score measure." }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// out: { type:record
|
||||||
|
// fmt: {
|
||||||
|
// fields: {
|
||||||
|
// midi: { type:midi, doc:"MIDI channel event message."},
|
||||||
|
// loc: { type:uint, value:-1, doc:"Score location id."},
|
||||||
|
// meas: { type:uint, value:-1, doc:"Score measure location."}
|
||||||
|
// blah: { type:group, doc:"My group"
|
||||||
|
// fields: {
|
||||||
|
// foo: { type:float, value:3, doc:"Three, always three"}
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
score_follower: {
|
||||||
|
doc:[ "MIDI score follower: Sets the 'loc' field of the output record according to the score location." ]
|
||||||
|
vars: {
|
||||||
|
in: { type:record, doc:"Input record with 'midi' and 'loc' fields." },
|
||||||
|
dyntbl_fname: { type:string, flags:["init"], value:"", doc:"Dynamics reference table file name." },
|
||||||
|
score_fname: { type:string, flags:["init"], value:"", doc:"Score file with location information." },
|
||||||
|
score_wnd: { type:uint, flags:["init"], value:7, doc:"Count of locations in the score search window." },
|
||||||
|
midi_wnd: { type:uint, flags:["init"], value:15, doc:"Count of MIDI events to align in the score search window." },
|
||||||
|
print_fl: { type:bool, flags:["init"], value:false, doc:"Set to print log of score follower state." },
|
||||||
|
back_track_fl: { type:bool, flags["init"], value:false, doc:"Set if the score follower is allowed to report locations out of order." },
|
||||||
|
loc: { type:uint, doc:"Score location." },
|
||||||
|
out: { type:record, doc:"Input record with the 'loc' field set ." }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
preset_select: {
|
||||||
|
doc:[ "Given a score location return a preset id and record."],
|
||||||
|
vars: {
|
||||||
|
cfg: { type:cfg, flags:["init"], preset:"init", doc:"Initial preset configuration." },
|
||||||
|
preset_proc: { type:string, flags:["init"], value:"", doc:"Proc containing a network to search for preset label->value mappings." },
|
||||||
|
xf_cnt: { type:uint, flags:["init"], value:3, doc:"Transform channel count." },
|
||||||
|
in: { type:record, doc:"Input record with 'loc' field." },
|
||||||
|
fname: { type:string, flags:["init"], value:"", doc:"Preset file name."},
|
||||||
|
loc: { type:uint, value:0, doc:"Seek to location." },
|
||||||
|
|
||||||
|
out_idx:{ type:uint, value:0, doc:"Transform output index." },
|
||||||
|
xf_args: { type:record, flags["mult"], doc:"Transform parameter record."
|
||||||
|
fmt: {
|
||||||
|
fields: {
|
||||||
|
pva: { type:group, doc:"Phase vocoder parameters",
|
||||||
|
fields: {
|
||||||
|
hopSmpN: { type: uint, doc:"Hop sample count." },
|
||||||
|
wndSmpN: { type: uint, doc:"Window sample count." },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sd: { type:group, doc:"Spectrum distortion parameters.",
|
||||||
|
fields: {
|
||||||
|
bypass: { type:bool, value:false, doc:"Copy input direcly to output." },
|
||||||
|
ceiling:{ type:coeff, value:30.0, doc:"Ceiling parameter." },
|
||||||
|
expo: { type:coeff, value: 2.0, doc:"Exponent parameter." },
|
||||||
|
thresh: { type:coeff, value:54.0, doc:"Threshold parameter." },
|
||||||
|
upr: { type:coeff, value:-0.7, doc:"Upper slope parameter." },
|
||||||
|
lwr: { type:coeff, value: 2.0, doc:"Lower slope parameter." },
|
||||||
|
mix: { type:coeff, value: 0.0, doc:"Basic/bump mix parameter."},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cmp: { type:group, doc:"Dynamics compreessor parameters",
|
||||||
|
fields: {
|
||||||
|
bypass: { type:bool, value:false, doc:"Bypass the compressor."},
|
||||||
|
igain: { type:coeff, value: 1.0, doc:"Input gain."},
|
||||||
|
thresh: { type:coeff, value: 90.0, doc:"Attack threshold in dB."},
|
||||||
|
ratio: { type:coeff, value: 2.0, doc:"Compression ratio."},
|
||||||
|
atk_ms: { type:coeff, value: 20.0, doc:"Attack time in milliseconds."},
|
||||||
|
rls_ms: { type:coeff, value: 20.0, doc:"Release time in milliseconds."},
|
||||||
|
wnd_ms: { type:coeff, value: 200.0, doc:"RMS calc. window length in milliseconds."},
|
||||||
|
maxWnd_ms: { type:coeff, value: 1000.0, doc:"Maximim (allocated) window length in milliseconds."},
|
||||||
|
ogain: { type:coeff, value: 1.0, doc:"Output gain."},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
presets: {
|
||||||
|
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
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user