Cfg. updates to support Scriabin insertions.
This commit is contained in:
parent
0ee2a37438
commit
e1deb0dc18
@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
balanced_mix: {
|
|
||||||
|
|
||||||
doc: "This is a two channel balancer network.",
|
|
||||||
|
|
||||||
network: {
|
|
||||||
ain: { class: port, source:audio_merge.in, doc:"Audio input."},
|
|
||||||
ain_alt:{ class: port, source:audio_merge.in, doc:"Alternate audio input."},
|
|
||||||
bal_in { class: port, source:balance.in, doc:"Mix balance control." },
|
|
||||||
|
|
||||||
|
|
||||||
bal: { class: balance, in:{ in:bal_in.out } },
|
|
||||||
merge: { class: audio_merge, in:{ in.0:ain, in.1:ain_alt } }
|
|
||||||
gain: { class: audio_gain in:{ in:merge.out, gain:bal.out } },
|
|
||||||
|
|
||||||
aout: { class: port, type: audio, in:{ gain.out } }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
BIN
src/cwtest/cfg/gutim_full/GUTIM_20230904.mid
Normal file
BIN
src/cwtest/cfg/gutim_full/GUTIM_20230904.mid
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -46,12 +46,21 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
dir:"~/src/cwtest/src/cwtest/cfg/gutim_full/data/score_scriabin",
|
||||||
|
fname:"temp_with_scriabin_0.csv",
|
||||||
|
vel_table: [
|
||||||
|
{ "device":"piano", "name":"spirio" }, // VSL uses Ivory vel table
|
||||||
|
{ "device":"sampler", "name":"ivory" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
record_dir: "~/src/cwtest/src/cwtest/cfg/gutim_full/preset_select",
|
record_dir: "~/src/cwtest/src/cwtest/cfg/gutim_full/preset_select",
|
||||||
record_fn: "m1_458_trans_5",
|
record_fn: "m1_458_trans_5_scriabin",
|
||||||
record_fn_ext: "txt",
|
record_fn_ext: "txt",
|
||||||
|
|
||||||
flow_proc_dict_fn: "~/src/cwtest/src/cwtest/cfg/gutim_full/flow_proc_dict.cfg",
|
flow_proc_dict_fn: "~/src/cwtest/src/cwtest/cfg/gutim_full/flow_proc_dict.cfg",
|
||||||
@ -64,6 +73,8 @@
|
|||||||
beg_play_loc: 1, //0, //12431, // coda 11499,
|
beg_play_loc: 1, //0, //12431, // coda 11499,
|
||||||
end_play_loc: 16354, //59, //14726, // coda 12426,
|
end_play_loc: 16354, //59, //14726, // coda 12426,
|
||||||
live_mode_fl: false,
|
live_mode_fl: false,
|
||||||
|
dflt_perf_label: "beck_1_5",
|
||||||
|
run_dur_secs: 0,
|
||||||
|
|
||||||
enable_recording_fl: false,
|
enable_recording_fl: false,
|
||||||
midi_record_dir: "~/src/cwtest/src/cwtest/cfg/gutim_full/midi_record",
|
midi_record_dir: "~/src/cwtest/src/cwtest/cfg/gutim_full/midi_record",
|
||||||
@ -147,11 +158,11 @@
|
|||||||
//midi_out_device: "Fastlane",
|
//midi_out_device: "Fastlane",
|
||||||
//midi_out_port: "Fastlane MIDI B",
|
//midi_out_port: "Fastlane MIDI B",
|
||||||
|
|
||||||
midi_out_device: "MIDIFACE 2x2",
|
//midi_out_device: "MIDIFACE 2x2",
|
||||||
midi_out_port: "MIDIFACE 2x2 Midi Out 1",
|
//midi_out_port: "MIDIFACE 2x2 Midi Out 1",
|
||||||
|
|
||||||
//midi_out_device: "Scarlett 18i20 USB",
|
midi_out_device: "Scarlett 18i20 USB",
|
||||||
//midi_out_port: "Scarlett 18i20 USB MIDI 1",
|
midi_out_port: "Scarlett 18i20 USB MIDI 1",
|
||||||
|
|
||||||
//midi_out_device: "PipeWire-RT-Event",
|
//midi_out_device: "PipeWire-RT-Event",
|
||||||
//midi_out_port: "input",
|
//midi_out_port: "input",
|
||||||
@ -172,11 +183,11 @@
|
|||||||
//midi_out_device: "Fastlane",
|
//midi_out_device: "Fastlane",
|
||||||
//midi_out_port: "Fastlane MIDI A",
|
//midi_out_port: "Fastlane MIDI A",
|
||||||
|
|
||||||
midi_out_device: "MIDIFACE 2x2",
|
//midi_out_device: "MIDIFACE 2x2",
|
||||||
midi_out_port: "MIDIFACE 2x2 Midi Out 2",
|
//midi_out_port: "MIDIFACE 2x2 Midi Out 2",
|
||||||
|
|
||||||
//midi_out_device: "iRig MIDI 2",
|
midi_out_device: "iRig MIDI 2",
|
||||||
//midi_out_port: "iRig MIDI 2 MIDI 1",
|
midi_out_port: "iRig MIDI 2 MIDI 1",
|
||||||
|
|
||||||
//midi_out_device: "PC-300",
|
//midi_out_device: "PC-300",
|
||||||
//midi_out_port: "PC-300 MIDI 1",
|
//midi_out_port: "PC-300 MIDI 1",
|
||||||
@ -217,19 +228,23 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
ui: {
|
ui: {
|
||||||
|
enableFl: true,
|
||||||
physRootDir: "~/src/cwtest/src/libcw/html/preset_sel",
|
physRootDir: "~/src/cwtest/src/libcw/html/preset_sel",
|
||||||
dfltPageFn: "index.html",
|
dfltPageFn: "index.html",
|
||||||
port: 5687,
|
port: 5687,
|
||||||
rcvBufByteN: 2048,
|
rcvBufByteN: 2048,
|
||||||
xmtBufByteN: 2048,
|
xmtBufByteN: 2048,
|
||||||
fmtBufByteN: 4096,
|
fmtBufByteN: 4096,
|
||||||
websockTimeOutMs: 50, // max time out while blocking for a websock event
|
websockTimeOutMs: 25, // max time out while blocking for a websock event
|
||||||
|
queueBlkCnt: 8,
|
||||||
|
queueBlkByteCnt: 32768,
|
||||||
idleMsgPeriodMs: 50, // period without messages before an idle message is generated
|
idleMsgPeriodMs: 50, // period without messages before an idle message is generated
|
||||||
uiCfgFn: "ui.cfg", // default UI resource description
|
uiCfgFn: "ui.cfg", // default UI resource description
|
||||||
asyncFl: false
|
asyncFl: false
|
||||||
},
|
},
|
||||||
|
|
||||||
serial: {
|
serial: {
|
||||||
|
enableFl: false,
|
||||||
pollPeriodMs: 50,
|
pollPeriodMs: 50,
|
||||||
recvBufByteN: 512,
|
recvBufByteN: 512,
|
||||||
|
|
||||||
@ -248,6 +263,8 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
midi: {
|
midi: {
|
||||||
|
enableFl: true,
|
||||||
|
asyncFl: true,
|
||||||
parseBufByteCnt: 1024,
|
parseBufByteCnt: 1024,
|
||||||
appNameStr: "cwtest",
|
appNameStr: "cwtest",
|
||||||
fileDevName: "file_dev",
|
fileDevName: "file_dev",
|
||||||
@ -262,10 +279,11 @@
|
|||||||
"enable_fl": false },
|
"enable_fl": false },
|
||||||
]
|
]
|
||||||
|
|
||||||
asyncFl: true,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
audio: {
|
audio: {
|
||||||
|
enableFl: true,
|
||||||
|
|
||||||
meterMs: 50, // audio meter filter length and meter callback period
|
meterMs: 50, // audio meter filter length and meter callback period
|
||||||
threadTimeOutMs: 50, // audio thread cond var time out
|
threadTimeOutMs: 50, // audio thread cond var time out
|
||||||
|
|
||||||
@ -284,8 +302,8 @@
|
|||||||
{
|
{
|
||||||
// System device name
|
// System device name
|
||||||
|
|
||||||
//device: "Scarlett 18i20 USB USB Audio",
|
device: "Scarlett 18i20 USB USB Audio",
|
||||||
device: "USB Audio CODEC USB Audio",
|
//device: "USB Audio CODEC USB Audio",
|
||||||
//device: "HDA Intel PCH CS4208 Analog",
|
//device: "HDA Intel PCH CS4208 Analog",
|
||||||
|
|
||||||
activeFl: true, // (req)
|
activeFl: true, // (req)
|
||||||
@ -301,6 +319,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
socket: {
|
socket: {
|
||||||
|
enableFl: false,
|
||||||
asyncFl: false,
|
asyncFl: false,
|
||||||
maxSocketCnt: 10,
|
maxSocketCnt: 10,
|
||||||
recvBufByteCnt: 4096,
|
recvBufByteCnt: 4096,
|
||||||
@ -309,11 +328,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
flow: {
|
flow: {
|
||||||
framesPerCycle: 64, // time-domain audio cycles frame per cycle
|
framesPerCycle: 64, // time-domain audio cycles frame per cycle (must match audio 'dspFrameCnt')
|
||||||
multiPriPresetProbFl: false, // Use probability to select primary multi-preset
|
multiPriPresetProbFl: false, // Use probability to select primary multi-preset
|
||||||
multiSecPresetProbFl: true, // Use probability to select secondary multi-preset
|
multiSecPresetProbFl: false, // Use probability to select secondary multi-preset
|
||||||
multiPresetInterpFl: false, // Interpolate between two selected multi-presets
|
multiPresetInterpFl: false, // Interpolate between two selected multi-presets
|
||||||
maxCycleCount: 15000, // 0 disables maxCycleCount
|
maxCycleCount: 0, // 0 disables maxCycleCount
|
||||||
printNetworkFl: false, // print the network instance
|
printNetworkFl: false, // print the network instance
|
||||||
printClassDictFl: false, // print the class description dictionary
|
printClassDictFl: false, // print the class description dictionary
|
||||||
|
|
||||||
@ -334,11 +353,12 @@
|
|||||||
|
|
||||||
// wet signal processing chain
|
// wet signal processing chain
|
||||||
wet_in_gain: { class: audio_gain, in:{ in:mstr_wet_in_gain.out } },
|
wet_in_gain: { class: audio_gain, in:{ in:mstr_wet_in_gain.out } },
|
||||||
pva: { class: pv_analysis, in:{ in:wet_in_gain.out }, args:{ default:{ wndSmpN:512, hopSmpN:128, hzFl:false } } },
|
|
||||||
|
|
||||||
|
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 } },
|
sd: { class: spec_dist, in:{ in:pva.out }, preset:kc, args:{ bypass:false } },
|
||||||
pvs: { class: pv_synthesis, in:{ in:sd.out } },
|
pvs: { class: pv_synthesis, in:{ in:sd.out } },
|
||||||
cmp: { class: compressor, in:{ in:pvs.out }, preset:kc, args:{ bypass:false } },
|
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:cmp.out } },
|
||||||
|
|
||||||
//wet_out_gain: { class: audio_gain, in:{ in:pvs.out } },
|
//wet_out_gain: { class: audio_gain, in:{ in:pvs.out } },
|
||||||
|
@ -1,322 +0,0 @@
|
|||||||
{
|
|
||||||
test: {
|
|
||||||
|
|
||||||
preset_sel: {
|
|
||||||
|
|
||||||
params: {
|
|
||||||
score_fn: "~/src/cwtest/src/cwtest/cfg/gutim_full/score/temp.csv",
|
|
||||||
|
|
||||||
record_dir: "~/src/cwtest/src/cwtest/cfg/gutim_full/preset_sel",
|
|
||||||
record_fn: "unknown",
|
|
||||||
|
|
||||||
record_fn_ext: "txt",
|
|
||||||
|
|
||||||
flow_proc_dict_fn: "~/src/cwtest/src/cwtest/cfg/gutim_full/flow_proc_dict.cfg",
|
|
||||||
|
|
||||||
crossFadeSrate: 48000.0, // TODO: move to flow cfg. and set via 'system default sample rate'
|
|
||||||
crossFadeCount: 3,
|
|
||||||
|
|
||||||
beg_play_loc: 0, //0, //12431, // coda 11499,
|
|
||||||
end_play_loc: 0, //59, //14726, // 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: 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
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
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: [
|
|
||||||
// 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 1",
|
|
||||||
|
|
||||||
midi_out_device: "Scarlett 18i20 USB",
|
|
||||||
midi_out_port: "Scarlett 18i20 USB MIDI 1",
|
|
||||||
|
|
||||||
//midi_out_device: "PipeWire-RT-Event",
|
|
||||||
//midi_out_port: "input",
|
|
||||||
|
|
||||||
force_damper_down_fl: false,
|
|
||||||
force_damper_down_threshold: 35,
|
|
||||||
force_damper_down_velocity: 80,
|
|
||||||
|
|
||||||
// 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,
|
|
||||||
|
|
||||||
},
|
|
||||||
{
|
|
||||||
|
|
||||||
enableFl: true,
|
|
||||||
//midi_out_device: "Fastlane",
|
|
||||||
//midi_out_port: "Fastlane MIDI A",
|
|
||||||
|
|
||||||
//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",
|
|
||||||
|
|
||||||
// 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, 3, 5, 7, 9 , 11, 13, 16, 19, 22, 25, 28, 32, 36, 40, 44, 48, 53, 58, 63, 68, 73, 78, 84, 89 ]
|
|
||||||
//vel_table: [ 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 36, 40, 44, 48, 52, 56, 60, 65, 70, 75, 80, 87, 94, 102 ]
|
|
||||||
//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, 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, 5 10, 16, 21, 26, 32, 37, 42, 48, 53, 58, 64, 69, 74, 80, 85, 90, 96,101,106,112,117,122,127 ] ,
|
|
||||||
|
|
||||||
// pedal down velocity input/output mapping
|
|
||||||
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
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
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,
|
|
||||||
},
|
|
||||||
|
|
||||||
//{ midi_out_device: "PipeWire-RT-Event", midi_out_port: "input" },
|
|
||||||
],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
groupL: [
|
|
||||||
{
|
|
||||||
enableFl: true, // (req)
|
|
||||||
asyncFl: true,
|
|
||||||
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",
|
|
||||||
|
|
||||||
activeFl: true, // (req)
|
|
||||||
meterFl: true, // (opt)
|
|
||||||
label: "main", // (req) User label
|
|
||||||
userId: 0, // (opt) User id (can also be set at runtime)
|
|
||||||
framesPerCycle: 512, // (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:"main"} } },
|
|
||||||
|
|
||||||
// select the first six channels: ivory, mic, vsl
|
|
||||||
split_in: { class: audio_split, in:{ in:aud_in.out } args:{ default:{select[1,1,1,1,1,1 ]}} }
|
|
||||||
|
|
||||||
// delay the incoming audio signal to sync it with the piano
|
|
||||||
sync_delay { class: audio_delay, in: { in:split_in.out }, args:{ default:{ delayMs:400 } }}
|
|
||||||
|
|
||||||
// select the first two channels to feed into the transform
|
|
||||||
sync_split: { class: audio_split, in:{ in:sync_delay.out } args:{ default:{select[1,1]}} }
|
|
||||||
|
|
||||||
mstr_wet_in_gain: { class: audio_gain, in:{ in:sync_split.out } }
|
|
||||||
|
|
||||||
// wet signal processing chain
|
|
||||||
wet_in_gain: { class: audio_gain, in:{ in:mstr_wet_in_gain.out } },
|
|
||||||
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 } },
|
|
||||||
|
|
||||||
// apply the wet/dry gain balance
|
|
||||||
wd_bal: { class: balance, args{}},
|
|
||||||
wet_bal_gain: { class: audio_gain, in:{ in:mute_wet.out, gain:wd_bal.out } },
|
|
||||||
dry_bal_gain: { class: audio_gain, in:{ in:sync_split.out, gain:wd_bal.inv_out } },
|
|
||||||
|
|
||||||
mstr_wet_out_gain: { class: audio_gain, in:{ in:wet_bal_gain.out } }
|
|
||||||
mstr_dry_out_gain: { class: audio_gain, in:{ in:dry_bal_gain.out } },
|
|
||||||
|
|
||||||
|
|
||||||
// merge the wet/dry signals into a single 4 channel signal
|
|
||||||
merge: { class: audio_merge, in:{ in0:mstr_wet_out_gain.out, in1:mstr_dry_out_gain.out, in2:mstr_wet_out_gain.out, in3:mstr_dry_out_gain.out } },
|
|
||||||
|
|
||||||
aout: { class: audio_out, in:{ in:merge.out }, args:{ default:{dev_label:"main"} } },
|
|
||||||
|
|
||||||
//af_merge { class: audio_merge, in:{ in0:mstr_wet_out_gain.out, in1:sync_delay.out } },
|
|
||||||
|
|
||||||
//af_out: { class: audioFileOut, in:{ in:af_merge.out }, args:{ default:{fname:"/home/kevin/temp/temp.wav"}}},
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
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: { sd:a, cmp:a, mute_wet:{ gain:1 } },
|
|
||||||
b: { sd:b, cmp:b, mute_wet:{ gain:1 } },
|
|
||||||
c: { sd:c, cmp:c, mute_wet:{ gain:1 } },
|
|
||||||
d: { sd:d, cmp:d, mute_wet:{ gain:1 } },
|
|
||||||
f1: { sd:f_1, cmp:f_1, mute_wet:{ gain:1 } },
|
|
||||||
f2: { sd:f_2, cmp:f_2, mute_wet:{ gain:1 } },
|
|
||||||
f3: { sd:f_3, cmp:f_3, mute_wet:{ gain:1 } },
|
|
||||||
f4: { sd:f_4, cmp:f_4, mute_wet:{ gain:1 } },
|
|
||||||
g: { sd:g, cmp:g, mute_wet:{ gain:1 } },
|
|
||||||
ga: { sd:g_a, cmp:g_a, mute_wet:{ gain:1 } },
|
|
||||||
g1a: { sd:g_1_a, cmp:g_1_a, mute_wet:{ gain:1 } },
|
|
||||||
g1d: { 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 } }
|
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -429,6 +429,22 @@
|
|||||||
csv: { midiFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_etude_op49_1.mid",
|
csv: { midiFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_etude_op49_1.mid",
|
||||||
csvFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_etude_op49_1.csv" }
|
csvFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_etude_op49_1.csv" }
|
||||||
|
|
||||||
|
csv: { midiFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_1.mid",
|
||||||
|
csvFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_1.csv" }
|
||||||
|
|
||||||
|
csv: { midiFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_2.mid",
|
||||||
|
csvFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_2.csv" }
|
||||||
|
|
||||||
|
csv: { midiFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_3.mid",
|
||||||
|
csvFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_3.csv" }
|
||||||
|
|
||||||
|
csv: { midiFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_4.mid",
|
||||||
|
csvFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_4.csv" }
|
||||||
|
|
||||||
|
csv: { midiFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_5.mid",
|
||||||
|
csvFn:"~/src/cwtest/src/cwtest/cfg/gutim_full/scriabin/scriabin_prelude_op74_5.csv" }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
midifile1:
|
midifile1:
|
||||||
|
Loading…
Reference in New Issue
Block a user