randy's Recent Posts

It's high priority for me to sort this out soon. Been a little slow on this because of some other burning issues, thanks for your patience.

Hi and welcome. The idea of making custom models is totally reasonable. I thought about making this possible in some way when I was designing Kaivo. But making it happen for 1.0 would have taken even more time and probably restricted the models themselves into particular forms. After I add some more models myself, I can definitely see opening the door to more customization somehow.

Keep in touch!

Thanks for sharing!

OK, I see what you mean now. I guess it should be possible to add host automation parameters that control the KEY module outputs. I can see how this would be useful.

I wonder what to do when MIDI / OSC data does come in then. Just add it, possibly? Or would this be a separate mode that the synths go into? There are some other details like this and I'll think about them as I am fixing some of the other things I have to work on.

Thanks for the idea. I'm thinking about ways to automate patching in v.2.

The Juno-106 was my inspiration and I wanted to keep it simple. I could see this being useful though.

Hmm, possibly a "direct" input to the gate?

I hear you, thanks for the good feedback. Kaivo is designed for processing offline files only, and it would not be easy to add live input. I have a future product planned that will do live processing. It's too soon to even think about when I will release this, but please stay tuned.

Chiming in here ... Randy, do you think there would be a possibility to totally bypass the OSC transport and to go straight over VST/AU host parameters.

That should work fine if the host environment supports it.

Ah, OK this makes sense. Thanks for the update.

In Aalto 1.5 they have moved to your user Library. On Mac OS the location is /Users/(you)/Library/Audio/Presets/Madrona Labs/Aalto. On Windows /Home/AppData/Roaming/Madrona Labs/Aalto.

Note that on Mac OS 10.7 and higher this location is hidden by default in the Finder. Hold down option and click the Go menu in the finder to go there. You will see the Library appear in the menu. Then you can travel to the Aalto folder and move your old presets into the new directory.

I don't know what you are seeing there, but Kaivo does not have the power to affect your laptop's charging mode in any way.

I'll be posting some tips for CPU use soon, and of course optimizing Kaivo over time, so please stay tuned.

There may be a problem with the xvel switch in Aalto / Kaivo and t3d right now. I will check this out very soon.

Ideally it would be possible to either add the envelope to the pressure input, or multiply it. A general purpose multiplier would be nice too, or at least one on the gate.

will do some work on MIDI mapping in future versions and try to hit the buttons too.

You should be able to run Kaivo OK on that machine. But there are a lot of flavors of processors in Windows machines, so it's hard to say. I'm gonna post a writeup about CPU hints very soon. Thanks for the feedback.

Well, if you put both env and CC signals into the gate, it will add them. This can often be what you are looking for. The velocity still works with OSC input, so you can have for example a quick velocity sensitive attack followed by aftertouch level.

Bypassing the envelopes should work just fine. Just start with any preset you like the sound of, and move the gate inputs in the patcher to your CC#2 instead of the envelopes.

Loving the liveness in your sequence timoka! these resinous squeaks every so often---amazing.

Some Shepard tones for you!

<Kaivo pluginVersion="65536" presetName="Kaivo techniques/shepard tones 3" scaleName="12-equal" key_voices="8" key_mod="2" key_bend="24" key_unison="1" key_glide="0" seq_trig="1" seq_rate="0.050000000745058059692" seq_pw="100" seq_value_delay="8" seq_pulse0="1" lfo_offset_x="-0.040000021457672119141" lfo_offset_y="-2.2351741790771484375e-08" lfo_rate="0.04999999701976776123" lfo_offset_p="0.12999998033046722412" lfo_rate_p="-0.2400000840425491333" lfo_level_p="1" lfo_function_num="4" noise_width="2" noise_falloff="0.0099999997764825820923" noise_offset="-1.1175870895385742188e-08" noise_rate="59.020000457763671875" noise_level="1" noise_auto="1" noise_filter="1" noise_offset_p="0.99999994039535522461" env1_attack="0.056000001728534698486" env1_decay="0.26999998092651367188" env1_sustain="0.84999996423721313477" env1_release="0.75" env2_repeat="0" env2_sustain="1" gran_position_x="0.36000001430511474609" gran_pitch="1" gran_pitch_env="2.98023223876953125e-08" gran_pan="-2.2351741790771484375e-08" gran_follow="1" gran_smooth="1" gran_wrap="1" gran_position_x_p="0.99999994039535522461" gran_position_y_p="0.99999994039535522461" gran_rate_p="1.9999998807907104492" gran_pitch_p="1.9999998807907104492" gran_pitch_env_p="1" gate_mode="1" gate_decay="0.26999998092651367188" gate_leak="0.37000000476837158203" gate_level_p="0.19999998807907104492" res_pitch="220" res_nonlin="0.37999999523162841797" res_pan="-0.10000002384185791016" res_out_pos="0.51999998092651367188" res_lambda="0.53999996185302734375" res_length="293" res_bridge_height="3.2000000476837158203" res_bridge_len="0.021000001579523086548" res_bridge_amount="0.070000000298023223877" res_mode_num="9" res_position_p="0.15999996662139892578" res_brightness_p="0.25" res_pitch_p="0.99999988079071044922" res_sustain_p="0.2199999690055847168" res_mix_wet="0" res_mix_dry="0.50999999046325683594" body_position_x="0.47999998927116394043" body_position_y="0.51999998092651367188" body_tone="0.81000000238418579102" body_pitch="0.37999996542930603027" body_sustain="1" body_pitch_mode="2" body_mode_num="4" body_hi_damp="1.6000000238418579102" body_base_pitch="932" body_position_x_p="0.5" body_position_y_p="0.5" body_pitch_p="0.17999997735023498535" body_mix_wet="0" output_tilt="4.470348358154296875e-08" output_limit="0" patcher_input_2="01000000000010000000000000000000000000000000" patcher_input_4="00001000000000000000000000000000000000000000" patcher_input_9="00000100000000000000000000000000000000000000" patcher_input_13="00000000000000000000010001000000000000000000" patcher_input_14="00000000000000000000000000000010000000000000" editor_x="0" editor_y="0" editor_width="981" editor_height="531" editor_num="1" editor_anim="1" lfo_function="gaussian" res_mode="none" body_mode="none" sample_name="sine"/>

I'm always trying to figure out what would be computationally possible... thanks for the ideas!

There's no trick to it. You could look at one of the 4 channel factory WAV files to see what you are doing differently. Try opening "four harmonics" in your own sound editor and see what happens.

This is really super interesting work. Thanks for giving some validation to the open-source approach! I look forward to helping you do better Eigenharp -> Madrona software integration on down the line. And to seeing more of you playing!

OK, I think we have this sorted! Let's kick it off with some uncertainty.

<Kaivo pluginVersion="65536" presetName="Randy/uncertain melody" scaleName="12-equal" key_mod="2" key_bend="2" key_glide="0" seq_trig="1" seq_rate="0.069000005722045898438" seq_quantize="1" seq_pw="100" seq_value_delay="8" seq_value0="0.5" seq_value1="0.53999996185302734375" seq_value2="0.61000001430511474609" seq_value3="0.58999997377395629883" seq_value4="0.46999999880790710449" seq_value5="0.46999999880790710449" seq_value6="0.31999999284744262695" seq_value7="0.31999999284744262695" seq_value8="0.23999999463558197021" seq_value9="0.25" seq_value10="0.31000000238418579102" seq_value11="0.62999999523162841797" seq_value12="0.3599999845027923584" seq_value13="0.3599999845027923584" seq_value14="0.26999998092651367188" seq_value15="0.26999998092651367188" seq_pulse0="1" seq_pulse1="1" seq_pulse2="1" seq_pulse3="1" seq_pulse4="1" seq_pulse5="1" seq_pulse8="1" seq_pulse9="1" seq_pulse10="1" seq_pulse11="1" seq_pulse12="1" seq_pulse13="1" lfo_offset="0.53999996185302734375" lfo_offset_x="-0.040000021457672119141" lfo_offset_y="-2.2351741790771484375e-08" lfo_rate="0.079999998211860656738" lfo_level="0.66000002622604370117" lfo_rate_p="0.99999988079071044922" lfo_level_p="0.99999994039535522461" noise_peaks="5" noise_width="0.23999999463558197021" noise_falloff="0.0099999997764825820923" noise_offset="-1.1175870895385742188e-08" noise_rate="1.6399999856948852539" noise_level="1.1000000238418579102" noise_filter="1" noise_offset_p="0.99999994039535522461" env1_attack="0.76800000667572021484" env1_decay="4.3699998855590820312" env1_sustain="1" env1_release="4.3899998664855957031" env1_xvel="0" env2_repeat="0" env2_attack="9.0980005264282226562" env2_sustain="1" env2_release="1.3600000143051147461" gran_position_x="0.5" gran_rate="110" gran_density="0.25" gran_pitch="1" gran_pitch_env="2.98023223876953125e-08" gran_pan="-2.2351741790771484375e-08" gran_smooth="1" gran_wrap="1" gran_position_x_p="0.27999997138977050781" gran_position_y_p="0.99999994039535522461" gran_rate_p="0.99999994039535522461" gran_density_p="1.159999847412109375" gran_pitch_p="0.99999994039535522461" gran_pitch_lin_p="220" gran_pitch_env_p="-0.36000001430511474609" gran_pan_p="0.19999997317790985107" gate_mode="1" gate_decay="0.91999995708465576172" gate_level_p="0.48999997973442077637" res_position="0.45999997854232788086" res_brightness="0" res_pitch="220" res_nonlin="0.48999997973442077637" res_sustain="0" res_pan="-2.2351741790771484375e-08" res_out_pos="0.059999998658895492554" res_lambda="0.93999999761581420898" res_length="277" res_bridge_height="1.6000000238418579102" res_bridge_len="0.05300000309944152832" res_bridge_amount="0.019999999552965164185" res_mode_num="5" res_position_p="0.55999994277954101562" res_brightness_p="0.79999995231628417969" res_pitch_p="0.99999988079071044922" res_nonlin_p="0.4999999701976776123" res_sustain_p="0.2199999690055847168" res_pan_p="0.1099999845027923584" res_mix_wet="0" res_mix_dry="0.47999998927116394043" body_position_x="0.48999997973442077637" body_nonlin="0" body_pitch="-2.2351741790771484375e-08" body_pitch_mode="2" body_mode_num="4" body_height="4" body_position_x_p="0.5" body_position_y_p="0.5" body_pitch_p="0.99999994039535522461" body_mix_wet="0" output_tilt="4.470348358154296875e-08" patcher_input_10="00000000010010000000000000000000000000000000" patcher_input_12="00000000000000000000010001000000000000000000" patcher_input_15="00000000000000000000000001000000000000000000" patcher_input_16="00000000000000000000000000000010000000000000" editor_x="0" editor_y="0" editor_width="981" editor_height="531" editor_num="1" editor_anim="1" lfo_function="circle" res_mode="none" body_mode="none" sample_name="sine"/>

I guess you are using the VST version of Aalto? VST imposes this dumb limit of parameter ranges from 0.-1. I think that if you use the AU version instead, you should be able to send the actual frequency as a floating point pitch parameter.

Thanks for the feedback. I'll be working on the CPU use, and posting some tips on how to get more out of it, so stay tuned.

Hi Valery,

I think of all the presets after the divider (Starting with Alessandros...) as user presets. you can get rid of these if you don't want them, or you can add your own directories here. Just click Save As... to save your preset, then make a new folder inside the Aalto folder.

The directories are all in the same place. Any directory staring "Aalto", will go before the divider.

I'm going to do a couple-day intensive on the Soundplane/Aalto/Kaivo connection next week. Thanks for the contribution, and please stay tuned for an update.

The choices for models are a way to distill all the parameters required for a physical model into a more useful interface. There are many parameters and in general, big areas in the parameter space that just don't sound like anything useful. So think of the modes as a map to the useful "islands" in the big multidimensional ocean of parameters.

One island's territory might overlap with another island at different parameter settings, so you kind of can, actually, morph between one model and another. This will become more clear as I add some more models.

Feel free to play with the mystery parameters but they will probably go away at some point.

Yeah, that won't work so well!

Kaivo is meant for using short samples, 8 seconds at the most. It will load everything in the samples directory into RAM on startup. So you will have to pick them out intentionally and not try to use your whole library.

Not a familiar problem to me. Thanks for the report. I'll check out Kaivo in FL 11 / WIn 8 as soon as I get a chance.