perf/perf_caw.cfg : Many changes.

This commit is contained in:
kevin 2025-05-10 12:00:05 -04:00
parent 6472b63623
commit e1e2e7869d

View File

@ -43,7 +43,7 @@
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/temp/wt6/wt_bank.json", wtb_instr:"piano" } },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json", wtb_instr:"piano" } },
//voc: { class:midi_voice, in:{_.in:_.vctl.out_ }, out:{ _.done_fl:_.vctl.done_fl_ }, args:{chCnt:2, gain:0.2 } },
}
}
@ -122,7 +122,7 @@
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/temp/wt6/wt_bank.json", wtb_instr:"piano" } },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json", wtb_instr:"piano" } },
//voc: { class:midi_voice, in:{ _.in:_.vctl.out_ }, out:{ _.done_fl:_.vctl.done_fl_ }, args:{print_fl:false, chCnt:2, gain:0.2 } },
}
@ -256,7 +256,7 @@
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/temp/wt6/wt_bank.json", wtb_instr:"piano" } },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json", wtb_instr:"piano" } },
pva: { class: pv_analysis, in:{ in:voc.out }, args:{ wndSmpN:512, hopSmpN:128, hzFl:false } },
sd: { class: spec_dist, in:{ in:pva.out }, preset:kc, args:{ bypass:false } },
@ -321,21 +321,24 @@
network: {
procs: {
player: { class:score_player, args:{ fname:"$/score_20240504.csv" }, ui: { create_fl:true } },
player: { class:score_player, args:{ fname:"$/score_20240504.csv",b_meas:0, e_meas:500, start:true }, ui: { create_fl:true } },
pian_vt:{ class: vel_table, in:{ in:player.out }, args:{ vel_tbl_fname:"$/vel_table_perf.json", vel_tbl_label:"spirio_1" }},
samp_vt:{ class: vel_table, in:{ in:player.out }, args:{ vel_tbl_fname:"$/vel_table_perf.json", vel_tbl_label:"ivory" }},
//stop: { class: halt, in:{ in:player.done_fl }}
//mout: { class: midi_out, in:{ rin:pian_vt.out }, args:{ print_fl:false, dev_label:"Fastlane", port_label:"Fastlane MIDI A" } }
//mout: { class: midi_out, in:{ rin:pian_vt.out }, args:{ print_fl:false, dev_label:"iRig MIDI 2", port_label:"iRig MIDI 2 MIDI 1" } }
//mout: { class: midi_out, in:{ rin:pian_vt.out }, args:{ print_fl:false, dev_label:"Fastlane", port_label:"Fastlane MIDI A" } ui: { create_fl:true }}
mout: { class: midi_out, in:{ rin:pian_vt.out }, args:{ print_fl:false, dev_label:"iRig MIDI 2", port_label:"iRig MIDI 2 MIDI 1" } ui: { create_fl:true }}
vctl: { class: poly_voice_ctl, in:{ in:samp_vt.out }, args:{ voice_cnt:25 } },
ps: { class: gutim_ps, preset:init, in:{ in:player.out, midi_in_:vctl.out_, reset:player.start },
vctl: { class: poly_voice_ctl, in:{ in:samp_vt.out }, args:{ voice_cnt:50 } },
ps: { class: gutim_ps, preset:init, in:{ in:player.out, midi_in_:vctl.out_, reset:player.start, loc_cnt:player.loc_cnt },
preset: "init",
args:{ fname:"$/m1_458_trans_5.txt" },
ui: { create_fl:true } }
xform_igain: { class: number, args:{ in:1.0f }, ui: { create_fl:true } },
voice_poly: {
class: poly,
in: {
@ -348,9 +351,13 @@
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/temp/wt6/wt_bank.json", wtb_instr:"piano" } },
pva: { class: pv_analysis, in:{ in:voc.out, _.wndSmpN:_.ps.wnd_smp_cnt_ }, args:{ wndSmpN:512, hopSmpN:128, hzFl:false } },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json",
wtb_instr:"piano",
rls_coeff: 0.95 } },
g: { class: audio_gain, in:{ in:voc.out, gain:_.xform_igain.out } },
pva: { class: pv_analysis, in:{ in:g.out, enable:voc.gate_fl, _.wndSmpN:_.ps.wnd_smp_cnt_ }, args:{ wndSmpN:512, hopSmpN:128, hzFl:false } },
sd: { class: spec_dist, in:{ in:pva.out,
enable:voc.gate_fl,
_.ceiling:_.ps.ceiling_,
_.expo:_.ps.expo_,
_.thresh:_.ps.thresh_,
@ -358,8 +365,9 @@
_.lwr:_.ps.lwr_,
_.mix:_.ps.mix_ }, preset:kc, args:{ bypass:false } },
pvs: { class: pv_synthesis, in:{ in:sd.out } },
pvs: { class: pv_synthesis, in:{ in:sd.out, enable:voc.gate_fl } },
cmp: { class: compressor, in:{ in:pvs.out,
enable:voc.gate_fl,
_.igain:_.ps.c_igain_,
_.ogain:_.ps.c_ogain_ }, preset:kc, args:{ bypass:false } },
@ -387,16 +395,510 @@
// delay the incoming signal to sync it with the piano
sync_delay { class: audio_delay, in: { in:merge.out }, args:{ delayMs:400 }}
aout: { class: audio_out, in:{ in:sync_delay.out }, args:{ dev_label:"main" } },
//aout: { class: audio_out, in:{ in:sync_delay.out }, args:{ dev_label:"main" } },
sel_two: { class: audio_split, in:{ in:sync_delay.out } args:{ select[0,0,1,1]} }
aout: { class: audio_out, in:{ in:sel_two.out0 }, args:{ dev_label:"main" } },
//sel_two: { class: audio_split, in:{ in:sync_delay.out } args:{ select[0,0,1,1]} }
//aout: { class: audio_out, in:{ in:sel_two.out0 }, args:{ dev_label:"main" } },
//af: { class: audio_file_out, in: { in:sync_delay.out }, args:{ fname:"$/out.wav"} }
//aout: { class: audio_out, in:{ in:dry_poly_mix.out }, args:{ dev_label:"main" } },
}
}
}
ex_06_live_sampler: {
network: {
procs: {
m_in: { class:midi_in },
vctl: { class: poly_voice_ctl, in:{ in:m_in.r_out }, args:{ voice_cnt:25 } },
voice_poly: {
class: poly,
in: {
count:vctl.voice_cnt,
}
args: { parallel_fl:true }
network: {
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json",
wtb_instr:"piano",
rls_coeff: 0.95 } },
}
}
}
voice_mix: { class: audio_mix, in:{ in_:voice_poly.voc_.out } args:{ igain_:1.0 }},
aout: { class: audio_out, in:{ in:voice_mix.out }, args:{ dev_label:"main" } },
}
}
}
ex_06_live_sampler_fx: {
network: {
procs: {
m_in: { class:midi_in },
vctl: { class: poly_voice_ctl, in:{ in:m_in.r_out }, args:{ voice_cnt:25 } },
ps: { class: gutim_ps, preset:init, in:{ in:m_in.r_out, midi_in_:vctl.out_ },
preset: "init",
args:{ fname:"$/m1_458_trans_5.txt" },
ui: { create_fl:true } }
xform_igain: { class: number, args:{ in:1.0f }, ui: { create_fl:true } },
voice_poly: {
class: poly,
in: {
count:vctl.voice_cnt,
}
args: { parallel_fl:true }
network: {
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
// out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json",
wtb_instr:"piano",
rls_coeff: 0.95 } },
g: { class: audio_gain, in:{ in:voc.out, gain:_.xform_igain.out } },
pva: { class: pv_analysis, in:{ in:g.out, _.enable:_.vctl.gate_fl_, _.wndSmpN:_.ps.wnd_smp_cnt_ }, args:{ wndSmpN:512, hopSmpN:128, hzFl:false } },
sd: { class: spec_dist, in:{ in:pva.out,
_.enable:_.vctl.gate_fl_,
_.ceiling:_.ps.ceiling_,
_.expo:_.ps.expo_,
_.thresh:_.ps.thresh_,
_.upr:_.ps.upr_,
_.lwr:_.ps.lwr_,
_.mix:_.ps.mix_ }, preset:kc, args:{ bypass:false } },
pvs: { class: pv_synthesis, in:{ in:sd.out, _.enable:_.vctl.gate_fl_ } },
cmp: { class: compressor, in:{ in:pvs.out,
_.enable:_.vctl.gate_fl_,
_.igain:_.ps.c_igain_,
_.ogain:_.ps.c_ogain_ }, preset:kc, args:{ bypass:false } },
ogain: { class: audio_gain, in:{ in:cmp.out, _.gain:_.ps.dry_gain_ } },
vdet: { class: voice_detector, in:{ in:ogain.out, _.enable_fl:_.vctl.gate_fl_ } out:{ _.done_fl:_.vctl.done_fl_ }, args:{ rls_thresh:0.01 } }
}
}
}
voice_mix: { class: audio_mix, in:{ in_:voice_poly.ogain_.out } args:{ igain_:1.0 }},
aout: { class: audio_out, in:{ in:voice_mix.out }, args:{ dev_label:"main" } },
}
}
}
ex_07_score_follow : {
//non_real_time_fl:true,
//dur_limit_secs:20.0,
network: {
procs: {
mf: { class:midi_file, args:{ alt_csv_fname:"$/taka_1_5_midi.csv" }, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:4232, e_loc:4707, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
samp_vt:{ class: vel_table, in:{ in:sf.out }, args:{ vel_tbl_fname:"$/vel_table_perf.json", vel_tbl_label:"ivory" }},
}
}
}
ex_08_score_follow : {
//non_real_time_fl:true,
//dur_limit_secs:10.0,
//profile_fl:true,
network: {
procs: {
/*
flist: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/src/currawong/audio/shiau_uen/record_3/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_4/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_5/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_6/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_7/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_11/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_12/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_13/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_15/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_16/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_17/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_18/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_20/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_21/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_22/fix_midi.csv",
"/home/kevin/src/currawong/audio/shiau_uen/record_23/fix_midi.csv"]
}
}
mf: { class:midi_file, in:{ alt_csv_fname:flist.out}, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:481, e_loc:540, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
*/
/*
flist: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/temp/arseniy_1/record_0/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_1/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_2/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_3/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_4/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_5/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_6/midi_am_sf.csv"]
}
}
mf: { class:midi_file, in:{ alt_csv_fname:flist.out}, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:481, e_loc:540, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
*/
/*
flist: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/temp/arseniy_1/record_7/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_8/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_9/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_10/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_11/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_12/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_13/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_14/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_15/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_16/midi_am_sf.csv"]
}
}
mf: { class:midi_file, in:{ alt_csv_fname:flist.out}, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:776, e_loc:807, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
*/
/*
flist: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/temp/arseniy_1/record_17/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_18/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_19/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_20/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_21/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_22/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_23/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_24/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_25/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_26/midi_am_sf.csv"]
}
}
mf: { class:midi_file, in:{ alt_csv_fname:flist.out}, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:2455, e_loc:2608, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
*/
flist: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/temp/arseniy_1/record_27/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_28/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_29/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_30/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_31/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_32/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_33/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_34/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_35/midi_am_sf.csv"]
}
}
mf: { class:midi_file, in:{ alt_csv_fname:flist.out}, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:3967, e_loc:4124, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
/*
flist: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/temp/arseniy_1/record_36/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_37/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_38/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_39/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_40/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_41/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_42/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_43/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_44/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_45/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_46/midi_am_sf.csv"]
}
}
mf: { class:midi_file, in:{ alt_csv_fname:flist.out}, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:6106, e_loc:6167, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
*/
/*
flist: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/temp/arseniy_1/record_47/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_48/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_49/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_50/midi_am_sf.csv",
"/home/kevin/temp/arseniy_1/record_51/midi_am_sf.csv"]
}
}
mf: { class:midi_file, in:{ alt_csv_fname:flist.out}, ui: { create_fl:true } },
sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:7702, e_loc:7825, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
*/
//mf: { class:midi_file, args:{ start:true, alt_csv_fname:"/home/kevin/temp/arseniy_1/record_25/midi_am_sf.csv"}, ui: { create_fl:true } },
//sf: { class:score_follower_2, in:{ in:mf.r_out, reset_trigger:mf.start }, args:{ b_loc:2455, e_loc:2608, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
samp_vt:{ class: vel_table, in:{ in:sf.out }, args:{ vel_tbl_fname:"$/vel_table_perf.json", vel_tbl_label:"ivory" }},
pian_vt:{ class: vel_table, in:{ in:sf.out }, args:{ vel_tbl_fname:"$/vel_table_perf.json", vel_tbl_label:"spirio_1" }},
//mout: { class: midi_out, in:{ rin:mf.r_out }, args:{ print_fl:false, dev_label:"iRig MIDI 2", port_label:"iRig MIDI 2 MIDI 1" } ui: { create_fl:true }}
//mout: { class: midi_out, in:{ rin:pian_vt.out }, args:{ print_fl:false, dev_label:"Fastlane", port_label:"Fastlane MIDI A" } }
vctl: { class: poly_voice_ctl, in:{ in:samp_vt.out , reset:mf.start}, args:{ voice_cnt:20 } },
ps: { class: gutim_ps, preset:init, in:{ in:sf.out, midi_in_:vctl.out_, reset:mf.start, loc_cnt:sf.loc_cnt },
preset: "init",
args:{ fname:"$/m1_458_trans_5.txt" },
ui: { create_fl:true } }
xform_igain: { class: number, args:{ in:1.0f }, ui: { create_fl:true } },
voice_poly: {
class: poly,
in: { count:vctl.voice_cnt },
args: { parallel_fl:true, thread_cnt:8, cpu_affinityL:[2,3,4,6,8,9,10,11] },
network: {
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json",
wtb_instr:"piano",
rls_coeff: 0.99 } },
g: { class: audio_gain, in:{ in:voc.out, gain:_.xform_igain.out } },
pva: { class: pv_analysis, in:{ in:g.out, enable:voc.gate_fl, _.wndSmpN:_.ps.wnd_smp_cnt_ }, args:{ wndSmpN:512, hopSmpN:128, hzFl:false } },
sd: { class: spec_dist, in:{ in:pva.out,
enable:voc.gate_fl,
_.ceiling:_.ps.ceiling_,
_.expo:_.ps.expo_,
_.thresh:_.ps.thresh_,
_.upr:_.ps.upr_,
_.lwr:_.ps.lwr_,
_.mix:_.ps.mix_ }, preset:kc, args:{ bypass:false } },
pvs: { class: pv_synthesis, in:{ in:sd.out, enable:voc.gate_fl } },
cmp: { class: compressor, in:{ in:pvs.out,
enable:voc.gate_fl,
_.igain:_.ps.c_igain_,
_.ogain:_.ps.c_ogain_ }, preset:kc, args:{ bypass:false } },
ogain: { class: audio_gain, in:{ in:cmp.out, _.gain:_.ps.dry_gain_ } },
}
}
}
//am: { class: audio_merge, in: { in_:voice_poly.voc_.out} }
//am: { class: audio_merge, in: { in_:voice_poly.ogain_.out} }
//af: { class: audio_file_out, in: { in:am.out }, args:{ fname:"$/out_fx.wav"} }
wet_poly_mix: { class: audio_mix, in:{ in_:voice_poly.ogain_.out } args:{ igain_:1.0 }},
dry_poly_mix: { class: audio_mix, in:{ in_:voice_poly.voc_.out} args:{ igain_:1.0 }},
// apply the wet/dry gain balance
wd_bal: { class: balance, args{}},
wet_bal_gain: { class: audio_gain, in:{ in:wet_poly_mix.out, gain:wd_bal.out } },
dry_bal_gain: { class: audio_gain, in:{ in:dry_poly_mix.out, gain:wd_bal.inv_out } },
mstr_wet_out: { class: audio_gain, in:{ in:wet_bal_gain.out }, args:{ gain:0.5 } }
mstr_dry_out: { class: audio_gain, in:{ in:dry_bal_gain.out }, args:{ gain:0.5 } },
// merge the wet/dry signals into a single 4 channel signal
merge: { class: audio_merge, in:{ in0:mstr_wet_out.out, in1:mstr_dry_out.out } },
// delay the incoming signal to sync it with the piano
sync_delay { class: audio_delay, in: { in:merge.out }, args:{ delayMs:400 }}
aout: { class: audio_out, in:{ in:sync_delay.out }, args:{ dev_label:"main" } },
//sel_two: { class: audio_split, in:{ in:sync_delay.out } args:{ select[0,0,1,1]} }
//aout: { class: audio_out, in:{ in:sel_two.out0 }, args:{ dev_label:"main" } },
//wd_mix: { class:audio_mix, in:{ in0:mstr_wet_out.out, in1:mstr_dry_out.out } args:{igain_:0.8}}
//aout: { class: audio_out, in:{ in:wd_mix.out }, args:{ dev_label:"main" } },
//af: { class: audio_file_out, in: { in:wd_mix.out }, args:{ fname:"$/out.wav"} }
//aout: { class: audio_out, in:{ in:dry_poly_mix.out }, args:{ dev_label:"main" } },
}
}
}
ex_09_string_list : {
network: {
procs: {
slst: { class:string_list, ui:{ create_fl:true }, args:{
list:[ "/home/kevin/src/currawong/audio/workshop/beck1/record_0/midi.csv",
"/home/kevin/src/currawong/audio/workshop/beck1/record_1/midi.csv",
"/home/kevin/src/currawong/audio/workshop/beck1/record_2/midi.csv"]
}
}
print: { class: print, in: { in:slst.out, eol_fl:slst.out }, args:{ text:["string","output"] }}
}
}
}
ex_10_sampler_playback : {
non_real_time_fl:true,
dur_limit_secs:60.0,
profile_fl:true,
network: {
procs: {
mf: { class:midi_file, args:{ start:true, alt_csv_fname:"/home/kevin/src/currawong/audio/workshop/beck1/record_2/fix_midi.csv"}, ui: { create_fl:true } },
//mf: { class:midi_file, args:{ start:true, alt_csv_fname:"$/test_0.csv"}, ui: { create_fl:true } },
vctl: { class: poly_voice_ctl, in:{ in:mf.r_out }, args:{ voice_cnt:50 } },
voice_poly: {
class: poly,
in: {
count:vctl.voice_cnt,
}
args: { parallel_fl:true }
network: {
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json",
wtb_instr:"piano",
rls_coeff: 0.99,
rls_thresh: 0.01} },
}
}
}
dry_poly_mix: { class: audio_mix, in:{ in_:voice_poly.voc_.out} args:{ igain_:1.0 }},
af: { class: audio_file_out, in: { in:dry_poly_mix.out }, args:{ fname:"$/out.wav"} }
//am: { class: audio_merge, in: { in_:voice_poly.voc_.out} }
//af: { class: audio_file_out, in: { in:am.out }, args:{ fname:"$/out.wav"} }
//aout: { class: audio_out, in:{ in:dry_poly_mix.out }, args:{ dev_label:"main" } },
}
}
}
ex_11_score_follow_rt : {
//non_real_time_fl:true,
//dur_limit_secs:10.0,
network: {
procs: {
min: { class:midi_in }
sf: { class:score_follower_2, in:{ in:min.r_out }, args:{ b_loc:7702, e_loc:7825, score_fname:"$/score_20240504.csv"}, ui: { create_fl:true } }
samp_vt:{ class: vel_table, in:{ in:sf.out }, args:{ vel_tbl_fname:"$/vel_table_perf.json", vel_tbl_label:"ivory" }},
//pian_vt:{ class: vel_table, in:{ in:sf.out }, args:{ vel_tbl_fname:"$/vel_table_perf.json", vel_tbl_label:"spirio_1" }},
//mout: { class: midi_out, in:{ rin:pian_vt.out }, args:{ print_fl:false, dev_label:"iRig MIDI 2", port_label:"iRig MIDI 2 MIDI 1" } ui: { create_fl:true }}
vctl: { class: poly_voice_ctl, in:{ in:samp_vt.out, reset:sf.reset_trigger }, args:{ voice_cnt:50 } },
ps: { class: gutim_ps, preset:init, in:{ in:sf.out, midi_in_:vctl.out_, reset:sf.reset_trigger, loc_cnt:sf.loc_cnt },
preset: "init",
args:{ fname:"$/m1_458_trans_5.txt" },
ui: { create_fl:true } }
xform_igain: { class: number, args:{ in:1.0f }, ui: { create_fl:true } },
voice_poly: {
class: poly,
in: {
count:vctl.voice_cnt,
}
args: { parallel_fl:true }
network: {
procs: {
voc: { class:piano_voice, in:{ _.in:_.vctl.out_ },
out:{ _.done_fl:_.vctl.done_fl_ },
args:{ wtb_fname:"~/media/audio/wt6/wt_bank.json",
wtb_instr:"piano",
rls_coeff: 0.97 } },
g: { class: audio_gain, in:{ in:voc.out, gain:_.xform_igain.out } },
pva: { class: pv_analysis, in:{ in:g.out, enable:voc.gate_fl, _.wndSmpN:_.ps.wnd_smp_cnt_ }, args:{ wndSmpN:512, hopSmpN:128, hzFl:false } },
sd: { class: spec_dist, in:{ in:pva.out,
enable:voc.gate_fl,
_.ceiling:_.ps.ceiling_,
_.expo:_.ps.expo_,
_.thresh:_.ps.thresh_,
_.upr:_.ps.upr_,
_.lwr:_.ps.lwr_,
_.mix:_.ps.mix_ }, preset:kc, args:{ bypass:false } },
pvs: { class: pv_synthesis, in:{ in:sd.out, enable:voc.gate_fl } },
cmp: { class: compressor, in:{ in:pvs.out,
enable:voc.gate_fl,
_.igain:_.ps.c_igain_,
_.ogain:_.ps.c_ogain_ }, preset:kc, args:{ bypass:false } },
ogain: { class: audio_gain, in:{ in:cmp.out, _.gain:_.ps.dry_gain_ } },
}
}
}
wet_poly_mix: { class: audio_mix, in:{ in_:voice_poly.ogain_.out } args:{ igain_:1.0 }},
dry_poly_mix: { class: audio_mix, in:{ in_:voice_poly.voc_.out} args:{ igain_:1.0 }},
// apply the wet/dry gain balance
wd_bal: { class: balance, args{}},
wet_bal_gain: { class: audio_gain, in:{ in:wet_poly_mix.out, gain:wd_bal.out } },
dry_bal_gain: { class: audio_gain, in:{ in:dry_poly_mix.out, gain:wd_bal.inv_out } },
mstr_wet_out: { class: audio_gain, in:{ in:wet_bal_gain.out }, args:{ gain:0.5 } }
mstr_dry_out: { class: audio_gain, in:{ in:dry_bal_gain.out }, args:{ gain:0.5 } },
// merge the wet/dry signals into a single 4 channel signal
merge: { class: audio_merge, in:{ in0:mstr_wet_out.out, in1:mstr_dry_out.out } },
aout: { class: audio_out, in:{ in:merge.out }, args:{ dev_label:"main" } },
}
}
}
}