From 8515ff373c28ecf60e52d463ac6fc2c85d38a54f Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 11 Sep 2024 13:42:28 -0400 Subject: [PATCH] examples : Updated example.md for first 7 examples, added SVG files, added example.cfg. --- examples/examples.cfg | 518 +++++++++++++++++++++ examples/examples.md | 164 +++++-- examples/sine_file_01/out.wav | Bin 0 -> 1920044 bytes examples/svg/02_mod_sine.svg | 332 ++++++++++++++ examples/svg/04_program.svg | 328 +++++++++++++ examples/svg/05_mult_inputs.svg | 523 +++++++++++++++++++++ examples/svg/06_mult_conn.svg | 784 ++++++++++++++++++++++++++++++++ examples/svg/07_proc_suffix.svg | 686 ++++++++++++++++++++++++++++ examples/svg/08_mix.svg | 317 +++++++++++++ 9 files changed, 3605 insertions(+), 47 deletions(-) create mode 100644 examples/examples.cfg create mode 100644 examples/sine_file_01/out.wav create mode 100644 examples/svg/02_mod_sine.svg create mode 100644 examples/svg/04_program.svg create mode 100644 examples/svg/05_mult_inputs.svg create mode 100644 examples/svg/06_mult_conn.svg create mode 100644 examples/svg/07_proc_suffix.svg create mode 100644 examples/svg/08_mix.svg diff --git a/examples/examples.cfg b/examples/examples.cfg new file mode 100644 index 0000000..8c5962f --- /dev/null +++ b/examples/examples.cfg @@ -0,0 +1,518 @@ +{ + + base_dir: "~/src/caw/examples", // Base project directory. See 'sine_file_01' below. + io_dict: "~/src/caw/src/caw/cfg/io.cfg" // Runtime configuration file. + proc_dict: "~/src/caw/src/libcw/flow/proc_dict.cfg", // Processor class definition file. + subnet_dict: "~/src/caw/src/libcw/flow/subnet_dict.cfg", // User written subnet files + + programs: { + + rt_sine_00: { + + dur_limit_secs:5.0, + + network: { + + procs: { + osc: { class:sine_tone, args:{ hz:100.0 }}, + aout:{ class:audio_out, in:{ in:osc.out }, args:{ dev_label:"main"} } + } + } + } + + // Demonstrate a simple two processor network. + sine_file_01: { + + non_real_time_fl:true, + dur_limit_secs:5.0, + + network: { + + procs: { + osc: { class: sine_tone }, + af: { class: audio_file_out, in: { in:osc.out } args:{ fname:"$/out.wav"} } + } + } + } + + + // Demonstrate a simple signal processing network + mod_sine_02: { + + non_real_time_fl:true, + dur_limit_secs:5.0, + + network: { + + procs: { + lfo: { class: sine_tone, args:{ hz:3, dc:440, gain:110 }} + sh: { class: sample_hold, in:{ in:lfo.out } } + osc: { class: sine_tone, preset:mono, in:{ hz:sh.out } }, + af: { class: audio_file_out, in: { in:osc.out } args:{ fname:"$/out.wav"} } + } + } + } + + + // Demonstrate applying a preset at initialization time. + presets_03: { + + non_real_time_fl:true, + dur_limit_secs:5.0, + preset: "a", + + network: { + + procs: { + lfo: { class: sine_tone, args:{ hz:3, dc:440, gain:110 }} + sh: { class: sample_hold, in:{ in:lfo.out } } + osc: { class: sine_tone, in:{ hz:sh.out } }, + af: { class: audio_file_out, in: { in:osc.out } args:{ fname:"$/out.wav"} } + } + + presets: + { + a: { lfo: { hz:1.0, dc:880 }, osc: { gain:0.95 } }, + b: { lfo: { hz:2.0, dc:220 }, osc: { gain:0.75 } }, + c: { lfo: a880 }, + d: [ a,b,0.5 ] + + } + } + } + + // Demonstrate the `print` processor and event programming. + program_04: { + + non_real_time_fl:true, + dur_limit_secs: 10.0, + + network { + procs: { + tmr: { class: timer, args:{ period_ms:1000.0 }}, + cnt: { class: counter, in: { trigger:tmr.out }, args:{ min:0, max:3, inc:1, init:0, mode:modulo } }, + print: { class: print, in: { in:cnt.out, eol_fl:cnt.out }, args:{ text:["my","count"] }} + } + } + } + + // Demonstrate 'mult' inputs. + mult_inputs_05: { + + non_real_time_fl:true, + dur_limit_secs: 10.0, + + network: { + procs: { + tmr: { class: timer, args:{ period_ms:1000.0 }}, + cnt: { class: counter, in: { trigger:tmr.out }, args:{ min:0, max:3, inc:1, init:0, mode:modulo } }, + numb: { class: number, args:{ value:3 }}, + sum: { class: add, in: { in0:cnt.out, in1:numb.value } }, + print: { class: print, in: { in0:cnt.out, in1:sum.out, eol_fl:sum.out }, args:{ text:["cnt","add","count"] }} + } + } + } + + + // Demonstrate different forms of the in-stmt + mult_conn_06: { + + non_real_time_fl:true, + dur_limit_secs: 5.0, + + network: { + procs: { + // Create an oscillator with a single audio output containing 6 channels. + // Each of the channels is a different frequency. + osc: { class: sine_tone, args: { ch_cnt:6, hz:[110,220,440,880,1760, 3520] }}, + + // Split the single audio signal into three signals + split: { class: audio_split, in:{ in:osc.out }, args: { select:[ 0,0, 1,1, 2,2 ] } }, + + // Create merge.in0,in1,in2 by iterating across all outputs of 'split'. + merge_a: { class: audio_merge, in:{ in_:split.out_ } }, + af_a: { class: audio_file_out, in:{ in:merge_a.out }, args:{ fname:"$/out_a.wav" }} + + // Create merge.in0,in1 and connect them to split.out0 and split.out1 + merge_b: { class: audio_merge, in:{ in_:split.out0_2 } }, + af_b: { class: audio_file_out, in:{ in:merge_b.out }, args:{ fname:"$/out_b.wav" }} + + // Create merge.in0,in1 and connect them both to split.out1 + merge_c: { class: audio_merge, in:{ in0_2:split.out1 } }, + af_c: { class: audio_file_out, in:{ in:merge_c.out }, args:{ fname:"$/out_c.wav" }} + + } + } + } + + + // Demonstrate creating processors with explicit sfx-ids and connecting to them with a single in-stmt. + proc_suffix_07: { + non_real_time_fl:true, + dur_limit_secs: 5.0, + + network: { + procs: { + osc: { class: sine_tone, args: { ch_cnt:6, hz:[110,220,440,880,1760, 3520] }}, + split: { class: audio_split, in:{ in:osc.out }, args: { select:[ 0,0, 1,1, 2,2 ] } }, + + // Create 3 audio gain controls with explicit sfx-ids + g0: { class:audio_gain, in:{ in:split0.out0 }, args:{ gain:0.9} }, + g1: { class:audio_gain, in:{ in:split0.out1 }, args:{ gain:0.5} }, + g2: { class:audio_gain, in:{ in:split0.out2 }, args:{ gain:0.1} }, + + // Create audio-merge inputs and connect them to 3 consecutive gain controls + // by iterating the in-stmt over the source proc sfx-id. + merge: { class: audio_merge, in:{ in_:g_.out } }, + af: { class: audio_file_out, in:{ in:merge.out }, args:{ fname:"$/out_a.wav" }} + + + } + } + } + + // Demonstrate instantiating 'mult' variables from the an 'args' statement. + mix_08: { + + non_real_time_fl:true, + dur_limit_secs:5.0, + + network: { + + procs: { + osc_a: { class: sine_tone, args: { hz:110 } }, + osc_b: { class: sine_tone, args: { hz:220 } }, + gain: { class: number, args: { value:0.5f } }, + + // Instantiate gain:0 and gain:1 to control the input gain of in:0 and in:1. + mix: { class: audio_mix, in: { in0:osc_a.out, in1:osc_b.out }, args:{ igain0:[0.8, 0], igain1:[0, 0.2] } }, + af: { class: audio_file_out, in: { in:mix.out } args:{ fname:"$/out.wav"} } + } + } + } + + + // Demonstrate a network with a polyphonic subnet. + simple_poly_09: { + + non_real_time_fl:true, + dur_limit_secs: 5.0, + + network: { + + procs: { + + g_list: { class: list, args: { in:0, list:[ 110f,220f,440f ]}}, + dc_list: { class: list, args: { in:0, list:[ 220f,440f,880f ]}}, + + osc_poly: { + class: poly, + args: { count:3 }, // Create 3 instances of 'network'. + + network: { + procs: { + lfo: { class: sine_tone, in:{ _.dc:_.dc_list.value_, _.gain:_.g_list.value_ } args: { ch_cnt:1, hz:3 }}, + sh: { class: sample_hold, in:{ in:lfo.out }}, + osc: { class: sine_tone, in:{ hz: sh.out }}, + } + } + } + + // Iterate over the instances of `osc_poly.osc_.out` to create one `audio_merge` + // input for every output from the polyphonic network. + merge: { class: audio_merge, in:{ in_:osc_poly.osc_.out}, args:{ gain:1, out_gain:0.5 }}, + af: { class: audio_file_out, in:{ in:merge.out } args:{ fname:"$/out.wav"} } + } + } + } + + + feedback_10: { + non_real_time_fl:true, + max_cycle_count: 10, + + network: { + procs: { + a: { class: number, log:{value:0}, args:{ value:1 }}, + b: { class: number, log:{value:0}, args:{ value:2 }}, + + add: { class: add, in: { in0:a.value, in1:b.value }, out: { out:b.store }, + log:{out:0}, args:{ otype:int }} + } + } + }, + + feedback_11: { + non_real_time_fl:true, + max_cycle_count: 10, + + network: { + procs: { + a: { class: number, log:{value:0}, args:{ value:1 }}, + b: { class: reg, in:{ in:a.value }, log:{out:0} }, + + add: { class: add, in: { in0:a.value, in1:b.out }, out: { out:b.store }, + log:{out:0}, args:{ otype:int }} + } + } + }, + + + sample_gen_13: { + non_real_time_fl:false, + dur_limit_secs: 30.0, + + network: { + procs: { + + tempo: { class:number, args:{ in:2000.0 } }, + note_dur: { class:number, args:{ in:1000.0 } }, + + tmrA: { class: timer, in:{ period_ms:tempo.out } }, + cntA: { class: counter, in:{ trigger:tmrA.out }, args:{init:1, min:1, max:128, inc:7, repeat_fl:false, out_type:uint }}, + + tmrB: { class: timer, in:{ delay_ms:note_dur.out, period_ms:tempo.out } }, + zero: { class: number, in:{ trigger:tmrB.out }, args:{ in:0 }}, + + stop_cnt: { class: counter, in:{ trigger:zero.out }, args:{min:0, max:19, inc:1, repeat_fl:false } }, + stop: { class: halt, in:{ in:stop_cnt.upr_lim }}, + + vel: { class: number, in:{ in0:cntA.out, in1:zero.out }, args:{ out_type:uint }}, + + log: { class:print, in:{ in0:stop_cnt.out, in1:vel.out, eol_fl:vel.out },args:{ text:[ "i", "d1", ""] }}, + + + + note_msg: { class:midi_msg, in:{d1:vel.out, trigger:vel.out }, args:{ch:0, status:144, d0:60}}, + damp_msg: { class:midi_msg, args:{ch:0, status:176, d0:64}}, + mmerge: { class:midi_merge, in:{ in0:note_msg.out, in1:damp_msg.out }}, + mout: { class:midi_out in:{ in:mmerge.out} , args:{ dev_label:"MIDIFACE 2x2", port_label:"MIDIFACE 2x2 Midi Out 1" }} + + ain: { class: audio_in, args:{ dev_label:"main" }}, + split: { class: audio_split, in:{ in:ain.out } args:{ select: [0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1] }}, + mark: { class: audio_marker, in:{ in:split.out0, trigger:vel.out }}, + af: { class: audio_file_out, in:{ in:mark.out }, args:{ fname:"~/temp/samples1.wav"}}, + aout: { class: audio_out, in:{ in:ain.out }, args:{ dev_label:"main"}}, + + } + } + }, + + sample_gen_14: { + + non_real_time_fl:false, + + network: { + procs: { + tempo: { class: number, args:{ in:1500.0 } }, + tmrA: { class: timer, in:{ period_ms:tempo.out } }, + cntA: { class: counter, in:{ trigger:tmrA.out }, args:{ init:1, min:1, max:128, inc:7, repeat_fl:false, out_type:uint }}, + log: { class: print, in:{ in0:cntA.out, eol_fl:cntA.out }, args:{ text:["x",""] } }, + stop: { class: halt, in:{ in:cntA.upr_lim } } + + } + } + }, + + sample_gen_15: { + non_real_time_fl:false, + network: { + procs: { + mf: { class: midi_file, args:{ csv_fname:"~/temp/wt3/21_sample.csv" }}, + mout: { class: midi_out in:{ in:mf.out }, args:{ dev_label:"MIDIFACE 2x2", port_label:"MIDIFACE 2x2 Midi Out 1" }}, + stop: { class: halt, in:{ in:mf.done_fl }} + + ain: { class: audio_in, args:{ dev_label:"main" }}, + split: { class: audio_split, in:{ in:ain.out } args:{ select: [0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1] }}, + af: { class: audio_file_out, in:{ in:split.out0 }, args:{ fname:"~/temp/wt3/wav/21_samples.wav"}}, + aout: { class: audio_out, in:{ in:ain.out }, args:{ dev_label:"main"}}, + + } + } + }, + + midi_voice_16: { + non_real_time_fl:false, + network: { + procs: { + mf: { class: midi_file, args:{ csv_fname:"~/temp/temp_midi.csv" }}, + voc: { class: midi_voice, in: { in:mf.out } }, + stop: { class: halt, in: { in:mf.done_fl }} + + af: { class: audio_file_out, in:{ in:voc.out }, args:{ fname:"~/temp/wt/wav/samples.wav"}}, + + } + } + }, + + + audio_mix_17: { + + network: { + + procs: { + oscA: { class:sine_tone, args:{ hz:100.0 }}, + oscB: { class:sine_tone, args:{ hz:101.0 }}, + amix: { class:audio_mix, in{ in0:oscA.out, in1:oscB.out }} + aout:{ class:audio_out, in:{ in:amix.out }, args:{ dev_label:"main"} } + } + } + } + + poly_voice_18: { + non_real_time_fl:false, + dur_limit_secs:10, + + network: { + procs: { + + midi_in: { class:midi_in }, + + vctl: { class: poly_voice_ctl, in:{ in:midi_in.out }, args:{ voice_cnt:3 } }, + + voice_poly: { + class: poly, + args: { count:3 } + + network: { + procs: { + voc: { class:midi_voice, in:{ _.in:_.vctl.out_ } out:{ _.done_fl:_.vctl.done_fl_ } }, + } + } + } + + asil: { class: audio_silence, args:{ ch_cnt:6 }}, + amix: { class: audio_mix, in:{ in_:voice_poly.voc_.out } }, + amrg: { class: audio_merge, in:{ in0:asil.out, in1:amix.out } }, + + aout: { class: audio_out, in:{ in:amrg.out }, args:{ dev_label:"main"}} + } + } + } + + midi_split_19: { + non_real_time_fl:false, + dur_limit_secs:10, + + network: { + procs: { + + midi_in: { class:midi_in }, + ms: { class:midi_split, in: { in:midi_in.out } }, + + map: { class: list, in:{in:ms.d0}, args: { cfg_fname:"/home/kevin/temp/map.cfg"}}, + + //mm: { class:midi_msg, in: {ch:ms.ch, status:ms.status, d1:map.out, trigger:map.out } args:{ d0:60 } }, + + log: { class: print, in: { in0:ms.ch, in1:ms.status, in2:ms.d0, in3:map.out, eol_fl:map.out }, args:{ text:["ch","st","d0","d1",""] } }, + + + } + } + } + + piano_voice_20: { + non_real_time_fl:false, + dur_limit_secs:30, + + network: { + procs: { + + midi_in: { class:midi_in }, + vctl: { class: poly_voice_ctl, in:{ in:midi_in.out }, args:{ voice_cnt:3 } }, + + voice_poly: { + class: poly, + args: { count:3 } + + network: { + procs: { + voc: { class:piano_voice, in:{ _.in:_.vctl.out_ }, + out:{ _.done_fl:_.vctl.done_fl_ }, + args:{ wtb_dir:"~/temp/temp_5.json", wtb_instr:"piano", test_pitch:60 } }, + } + } + } + + asil: { class: audio_silence, args:{ ch_cnt:6 }}, + amix: { class: audio_mix, in:{ in_:voice_poly.voc_.out } args:{ igain_:1.0} }, + asel: { class: audio_split, in:{ in:amix.out }, args:{ select:[0,1] }}, + amrg: { class: audio_merge, in:{ in0:asil.out, in1:asel.out0, in2:asel.out1 }, args:{ out_gain:2.0 } }, + aout: { class: audio_out, in:{ in:amrg.out }, args:{ dev_label:"main"}} + } + } + } + + // Play stereo audio out channels 7&8 of the Scarlett. + audio_test_21: { + non_real_time_fl:false, + dur_limit_secs:10, + network: { + procs: { + asil: { class:audio_silence, args:{ ch_cnt:6 }} + osc: { class:sine_tone, args:{ hz:440.0, ch_cnt:2 }}, + amrg: { class:audio_merge, in:{ in0:asil.out, in1:osc.out }, args:{ out_gain:1 } }, + amtr: { class:audio_meter, in:{ in:amrg.out }, args:{ rpt_ms:500 }}, + aout:{ class:audio_out, in:{ in:amrg.out }, args:{ dev_label:"main"} } + + } + } + } + + piano_voice_22: { + non_real_time_fl:false, + //dur_limit_secs:300, + + network: { + procs: { + + + mf: { class: midi_file, args:{ csv_fname:"~/temp/all_midi.csv" }}, + stop: { class: halt, in:{ in:mf.done_fl }} + vctl: { class: poly_voice_ctl, in:{ in:mf.out }, args:{ voice_cnt:3 } }, + + voice_poly: { + class: poly, + args: { count:3 } + + network: { + procs: { + voc: { class:piano_voice, in:{ _.in:_.vctl.out_ }, + out:{ _.done_fl:_.vctl.done_fl_ }, + args:{ wtb_fname:"~/temp/temp_5.json", wtb_instr:"piano" } }, + } + } + } + + asil: { class: audio_silence, args:{ ch_cnt:6 }}, + amix: { class: audio_mix, in:{ in_:voice_poly.voc_.out } args:{ igain_:1.0 }}, + //amrg: { class: audio_merge, in:{ in0:asil.out, in1:amix.out }, args:{ out_gain:1.0 } }, + aout: { class: audio_out, in:{ in:amix.out }, args:{ dev_label:"main"}} + } + } + } + + sample_gen_23: { + non_real_time_fl:false, + network: { + procs: { + mf: { class: midi_file, args:{ csv_fname:"~/temp/wt1/21_sample.csv" }}, + mout: { class: midi_out in:{ in:mf.out }, args:{ dev_label:"MIDIFACE 2x2", port_label:"MIDIFACE 2x2 Midi Out 1" }}, + stop: { class: halt, in:{ in:mf.done_fl }} + + ain: { class: audio_in, args:{ dev_label:"main" }}, + split: { class: audio_split, in:{ in:ain.out } args:{ select: [0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1] }}, + + + //af: { class: audio_file_out, in:{ in:split.out0 }, args:{ bits:0, fname:"~/temp/test.wav"}}, + + asil: { class: audio_silence, args:{ ch_cnt:6 }}, + amrg: { class: audio_merge, in:{ in0:asil.out, in1:split.out0 }, args:{ out_gain:1.0 } }, + aout: { class: audio_out, in:{ in:amrg.out }, args:{ dev_label:"main"}} + } + } + }, + + + } +} \ No newline at end of file diff --git a/examples/examples.md b/examples/examples.md index bb7f737..a5191fc 100644 --- a/examples/examples.md +++ b/examples/examples.md @@ -16,12 +16,15 @@ system parameters that the program needs to compile and run the program. sine_file_01: { - durLimitSecs:5.0, + dur_limit_secs:5.0, // Run the network for 5 seconds network: { procs: { + // Create a 'sine_tone' oscillator. osc: { class: sine_tone }, + + // Create an audio output file and fill it with the output of the oscillator. af: { class: audio_file_out, in: { in:osc.out } args:{ fname:"$/out.wav"} } } } @@ -30,7 +33,7 @@ system parameters that the program needs to compile and run the program. } ``` -![blah](svg/00_osc_af.svg) +![Example 0](svg/00_osc_af.svg, "`sine_file_01` processing network") When executed this program will write a five second sine signal to an audio file named `~/src/caw/examples/sine_file_01/out.wav`. The output file name @@ -74,7 +77,7 @@ Here are the class specifications for `sine_tone` and `audio_file_out`. sine_tone: { vars: { srate: { type:srate, value:0, doc:"Sine tone sample rate. 0=Use default system sample rate"} - chCnt: { type:uint, value:2, doc:"Output signal channel count."}, + ch_cnt: { type:uint, value:2, doc:"Output signal channel count."}, hz: { type:coeff, value:440.0, doc:"Frequency in Hertz."}, phase: { type:coeff, value:0.0, doc:"Offset phase in radians."}, dc: { type:coeff, value:0.0, doc:"DC offset applied after gain."}, @@ -86,7 +89,7 @@ sine_tone: { a220 : { hz:220 }, a440 : { hz:440 }, a880 : { hz:880 }, - mono: { chCnt:1, gain:0.75 } + mono: { ch_cnt:1, gain:0.75 } } } @@ -99,24 +102,68 @@ audio_file_out: { } ``` -Based on the `sine_tone` class all the default values for the signal generator -are apparent. With this information it is clear that the audio file -written by `sine_file_01` contains a stereo (`chCnt`=2), 440 Hertz signal -with an amplitude of 0.8. +The class definitions specify the names, types and default values for +each variable. Since the `sine_tone` instance in `sine_file_00` +doesn't override any of the the variable default values the generated +audio file must be a stereo (`ch_cnt`=2), 440 Hertz signal with an +amplitude of 0.8. -Note that unless stated otherwise all variables can be either input or output ports for their -proc. The `no_src` attribute on `sine_tone.out` indicates that it is an output-only -variable. The `src` attribute on `audio_file_out.in` indicates that it must be connected to -a source variable or the processor cannot be instantiated - and therefore the network it is contained -by cannot be instantiated. Note that this isn't to say that it can't be an output variable - only +Note that unless stated otherwise all variables can be either input or +output ports for their processor. The `no_src` attribute on +`sine_tone.out` indicates that it is an output-only variable. The +`src` attribute on `audio_file_out.in` indicates that it must be +connected to a source variable or the processor cannot be instantiated +- and therefore the network it is contained by cannot be instantiated. +Note that this isn't to say that it can't be an output variable - only that it must be connected. -TODO: -1. more about types - especially the non-obvious 'srate','coeff'. -Link to proc class desc reference. -2. more about presets. -3. variables may be a source for multiple inputs but only be connected to a single source. -4. change `sine_tone.chCnt` to `ch_cnt`. + +Here is a complete list of possible variable attributes. +Attribute | Description +----------|------------------------------------------------------- +src | This variable must be connected to a source variable or the processor instantiation will fail. +no_src | This variable cannot be connected to a source variable (it is write-only, or output only). +init | This variable is only read at processer instantiation time, changes during runtime will be ignored. +mult | This variable may be instantiated multiple times. See `mult_input_05` below. +out | This is a subnet output variable. + +__caw__ uses types and does it's best at converting between types where the conversion will +not lose information. + +Here are the list of built-in types: + +Type | Description +---------|----------------------------------- +bool | true | false +uint | C unsigned +int | C int +float | C float +double | C double +string | Array of bytes. +time | POSIX timespec +cfg | cw object (JSON object) +audio | multi-channel audio array +spectrum | multi-channel spectrum in comlex or rect. coordinates. +midi | MIDI message array. +runtime | 'no_src' variable whose type is determined by the types of the other variables. See the 'list' processor. +numeric | bool | uint | int | float | double +all | This variable can be any type. Commonly used for variables which act as triggers. See the 'counter' processor. + +A few type aliases are defined to help document the intended purpose of a given variable. + +Type aliases: +Alias | Type | Description +---------|--------|---------------------------- +srate | float | This is an audio sample rate value. +sample | float | This value is calculated from audio sample values (e.g. RMS ) +coeff | float | This value will operate (e.g. add, multiply) on an audio signal. +ftime | double | Fractional time in seconds or milliseconds. + +Also notice that the processor class has named presets. During +processor instantiaion these presets can be used to set the +initial state of the processor. See `mod_sine_02` below for +an example of a class preset used this way. + ### Example 02: Modulated Sine Signal @@ -133,7 +180,7 @@ between 330 and 550 which will be treated as frequency values by `osc`. ``` json mod_sine_02: { - durLimitSecs:5.0, + dur_limit_secs:5.0, network: { @@ -147,9 +194,11 @@ mod_sine_02: { } ``` +![Example 2](svg/02_mod_sine.svg, "`mod_sine_02` processing network") + The `osc` instance in this example uses a `preset` statement. This will have the effect of applying the class preset `mono` to the `osc` when it is -instantiated. Based on the `sine_tone` class description the `osc` will therefore +instantiated. Based on the `sine_tone` class description the `osc` will then have a single audio channel with an amplitude of 0.75. In this example the sample and hold unit is necessary to convert the audio signal to a scalar @@ -169,9 +218,8 @@ sample_hold: { ``` The `sample_hold` class works by maintaining a buffer of the previous `period_ms` millisecond -samples it has received. The output is both the value of the first sample in the buffer (`sh.out`) -or the mean of all the values in the buffer (`sh.mean`). - +samples. It then outputs two values based on this buffer. `out` is simply the first +value from the buffer, and 'mean' is the average of all the values in the buffer. ### Example 03: Presets @@ -186,10 +234,13 @@ In this example four network presets are specified in the `presets` statement and the "a" preset is automatically applied once the network is created but before it starts to execute. +If this example was run in real-time it would also be possible to apply +the the presets while the network was running. + ``` JSON presets_03: { - durLimitSecs:5.0, + dur_limit_secs:5.0, preset: "a", network: { @@ -215,7 +266,7 @@ presets_03: { This example also shows how to apply `args` or `preset` values per channel. Audio signals in __caw__ can contain an arbitrary number of signals. -As shown by the `sine_tone` class the count of output channels (`sine_tone.chCnt`) +As shown by the `sine_tone` class the count of output channels (`sine_tone.ch_cnt`) is up to the network designer. Processors that receive and process incoming audio will often expand the count of internal audio processors to match the count of channels they must handle. The processor variables are @@ -270,7 +321,7 @@ TODO: Check that this accurately describes preset interpolation. ``` program_04: { - durLimitSecs: 10.0, + dur_limit_secs: 10.0, network { procs: { @@ -282,6 +333,9 @@ program_04: { } ``` +![Example 4](svg/04_program.svg, "`program_04` processing network") + + This program demonstrates how __caw__ passes messages between processors. In this case a timer generates a pulse every 1000 milliseconds which in turn increments a modulo 3 counter. The output of the counter @@ -323,29 +377,37 @@ The __add__ processor then sums the output of _cnt_ and _numb_. ``` mult_inputs_05: { - durLimitSecs: 10.0, + dur_limit_secs: 10.0, network { procs: { - tmr: { class: timer, args:{ period_ms:1000.0 }}, - cnt: { class: counter, in: { trigger:tmr.out }, args:{ min:0, max:3, inc:1, init:0, mode:modulo } }, + tmr: { class: timer, args:{ period_ms:1000.0 }}, + cnt: { class: counter, in: { trigger:tmr.out }, args:{ min:0, max:3, inc:1, init:0, mode:modulo } }, numb: { class: number, args:{ value:3 }}, sum: { class: add, in: { in0:cnt.out, in1:numb.value } }, - print: { class: print, in: { in0:cnt.out, in1:sum.out, eol_fl:sum.out }, args:{ text:["cnt","add","count"] }} - } + print: { class: print, in: { in0:cnt.out, in1:sum.out, eol_fl:sum.out }, args:{ text:["cnt","add","count"] }} + } } } ``` +![Example 5](svg/05_mult_inputs.svg, "`mult_inputs_05` processing network") + The notable new concept introduced by this program is the concept of __mult__ variables. These are variables which can be instantiated multiple times by referencing them in the `in:{...}` statement and including an integer suffix. The _in_ variable of both __add__ and -__print__ have this attribute specified in their class descriptions. +__print__ have the __mult__ attribute specified in their class descriptions. In this program both of these processors have two `in` variables: `in0` and `in1`. In practice they may have as many inputs as the network designer requires. +The ability to define processors with a programmable count of inputs or output +of a given type is a key feature to any data flow programming scheme. +For example consider an audio mixer. The count of signals that it may +need to combine can only be determined from the context in which it is used. +Likewise, as in this example, a summing processor should be able to +form a sum of any number of inputs. ### Example 06: Connecting __mult__ inputs @@ -356,11 +418,11 @@ connection expression. ``` mult_conn_06: { - durLimitSecs: 5.0, + dur_limit_secs: 5.0, network: { procs: { - osc: { class: sine_tone, args: { chCnt:6, hz:[110,220,440,880,1760,3520] }}, + osc: { class: sine_tone, args: { ch_cnt:6, hz:[110,220,440,880,1760,3520] }}, split: { class: audio_split, in:{ in:osc.out }, args: { select:[ 0,0, 1,1, 2,2 ] } }, // Create merge.in0,in1,in2 by iterating across all outputs of 'split'. @@ -381,6 +443,8 @@ mult_conn_06: { } ``` +![Example 6](svg/06_mult_conn.svg, "`mult_conn_06` processing network") + The audio source for this network is a six channel signal generator, where the frequency is each channel is incremented by an octave. The _split_ processor then splits the audio signal into three @@ -392,17 +456,23 @@ variables `out0`,`out1` and `out2`. The __audio_split__ class takes a single signal and splits it into multiple signals. The __audio_merge__ class takes multple signals and concatenates them into a single signal. Each of the three merge processor (merge_a,merge_b,merge_c) in `mult_conn_06` -demonstrates a slightly different ways of selecting multiple signals to merge -in with a single `in:{...}` statement expression. +demonstrates three different ways of selecting multiple signals to merge +in with a single `in:{...}` statement expression. -1. Connect to all available source variables. +The goal of this example is to show that fairly complex connections +between a source and destination processor can be achieved with +a single `in:{...}` statement. This syntax results in concise +network descriptions that are easier to read and modify then making lists +of individual connections between source and destination variables. + +#### Connect to all available source variables on a single source processor. ``` merge_a: { class: audio_merge, in:{ in_:split.out_ } }, ``` `merge_a` creates three input variables (`in0`,`in1` and `in2`) and connects them to three source variables (`split.out0`,`split.out1`, and `split.out2`). -The completely equivalent, and equally correct way of stating the same construct is: +The equivalent but more verbose way of stating the same construct is: `merge_a: { class: audio_merge, in:{ in0:split.out0, in1:split.out1, in2:split.out2 } }` Aside from being more compact, the only other advantage to using the `_` (underscore) @@ -410,7 +480,7 @@ suffix notation is that the connections will expand and contract with the count of outputs on _split_ should they change without having to change the code. -2. Connect to a select set of source variables. +#### Connect to a select set of source variables on a single source processor. ``` merge_b: { class: audio_merge, in:{ in_:split.out0_2 } }, @@ -427,7 +497,7 @@ the `in:{...}` statemennt could be changed to `in:{ in_:split.out1_2 }`. Likewise `in:{ in_:split.out_ }` can be seen as equivalent to: `in:{ in_:split.out0_3 }` in this example. -3. Create and connect to a selected variables. +#### Connect multiple destination variable to a single source processor variable. The _begin_,_count_ notation can also be used on the destination side of the `in:{...}` statment expression. @@ -440,9 +510,6 @@ and connect both to `split.out1`. Note that creating and connecting using the _begin_,_count_ notation is general. `in:{ in1_3:split.out0_2 }` produces a different result than the example, but is equally valid. - - - TODO: - Add the 'no_create' attribute to the audio_split.out. @@ -454,19 +521,20 @@ An error should be generated. As demonstrated in `mult_conn_06` variables are identified by their label -and an integer suffix id. By default, for singular variable the suffix id is set to 0. +and an integer suffix id. By default, for non __mult__ variables, the suffix id is set to 0. Using the `in:{...}` statement however variables that have the 'mult' attribute can be instantiated multiple times with each instance having a different suffix id. Processors instances use a similar naming scheme; they have both a text label and a suffix id. + ``` proc_suffix_07: { - durLimitSecs: 5.0, + dur_limit_secs: 5.0, network: { procs: { - osc: { class: sine_tone, args: { chCnt:6, hz:[110,220,440,880,1760, 3520] }}, + osc: { class: sine_tone, args: { ch_cnt:6, hz:[110,220,440,880,1760, 3520] }}, split: { class: audio_split, in:{ in:osc.out }, args: { select:[ 0,0, 1,1, 2,2 ] } }, g0: { class:audio_gain, in:{ in:split0.out0 }, args:{ gain:0.9} }, @@ -481,6 +549,8 @@ proc_suffix_07: { ``` +![Example 7](svg/07_proc_suffix.svg, "`proc_suffix_06` processing network") + In this example three __audio_gain__ processors are instantiated with the same label 'g' and are then differentiated by their suffix id's: 0,1, and 2. The merge processor is then able to connect to them using diff --git a/examples/sine_file_01/out.wav b/examples/sine_file_01/out.wav new file mode 100644 index 0000000000000000000000000000000000000000..3ef5b7e39c868673f520eff50489370bb1ab0147 GIT binary patch literal 1920044 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 DXC|?+ literal 0 HcmV?d00001 diff --git a/examples/svg/02_mod_sine.svg b/examples/svg/02_mod_sine.svg new file mode 100644 index 0000000..b342c64 --- /dev/null +++ b/examples/svg/02_mod_sine.svg @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + lfo + + + + + in + out + + out + sh + + osc + + + + + + in + out + af + + + hz + + diff --git a/examples/svg/04_program.svg b/examples/svg/04_program.svg new file mode 100644 index 0000000..7702f61 --- /dev/null +++ b/examples/svg/04_program.svg @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + tmr + + + + + trigger + out + + out + cnt + + print + + + in + 1 + 2 + eol_fl + + + + + diff --git a/examples/svg/05_mult_inputs.svg b/examples/svg/05_mult_inputs.svg new file mode 100644 index 0000000..9d51266 --- /dev/null +++ b/examples/svg/05_mult_inputs.svg @@ -0,0 +1,523 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tmr + + + + + trigger + out + + numb + + value + + out + cnt + + print + + + in0 + + in1 + eol_fl + + + + in0 + + in1 + + out + sum + + + + + + + + diff --git a/examples/svg/06_mult_conn.svg b/examples/svg/06_mult_conn.svg new file mode 100644 index 0000000..442640a --- /dev/null +++ b/examples/svg/06_mult_conn.svg @@ -0,0 +1,784 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + osc + + + + in + out + af_a + + + + out0 + + out + + out1 + + out2 + + in0 + + in1 + + in2 + + in + split + merge_a + + + in + af_b + + + in + af_c + + + out + + in0 + + in1 + merge_b + + + out + + in0 + + in1 + merge_c + + + + + + + + + + + + + + diff --git a/examples/svg/07_proc_suffix.svg b/examples/svg/07_proc_suffix.svg new file mode 100644 index 0000000..e2d91b7 --- /dev/null +++ b/examples/svg/07_proc_suffix.svg @@ -0,0 +1,686 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + osc + + out + + g0 + + out + + + out0 + + out1 + + out2 + + in + + in + + g1 + + out + + in + + g2 + + out + + in + split + + + + out + + in0 + + in1 + + in2 + merge + + + in + af + + + + + + + + + diff --git a/examples/svg/08_mix.svg b/examples/svg/08_mix.svg new file mode 100644 index 0000000..a31e371 --- /dev/null +++ b/examples/svg/08_mix.svg @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + osc_a + + out + + osc_b + + out + + + out + + in0 + + in1 + mix + + + in + af + + + + +