randy's Recent Posts
Yes, more details will be announced when I figure them out.
I'm going to add to the sequencer a little bit for Aalto 2. I'll check the intellijel info, thanks.
Hey XXL / 3XL guys: I will special order a few extra shirts for you. If you want one, order an XL using the PayPal menu, and type in the special instructions to me that you really want 2XL or 3XL instead.
I am doing the shirt order tomorrow morning so I can fulfill all my Large orders ASAP, so I need you to get yours in today!
OK, I'll check tomorrow and see what it would cost to get a few extra made in big sizes.
I have no problem having this discussion.
My main reason is, I have no way, no technological means by which to take Aalto away from anybody! This is the flip side of my lack of copy protection, which I think is a huge benefit to my customers.
So... let’s say Joe customer enjoys his personalized copy of Aalto for a year, then decides he’s not using it much. So he sells it to fund some other plugin purchase. Joe tells me about the sale and so I assign a license to Bob who he sold it to. But Joe still has his own, watermarked copy. I have no way to mess with or inspect Joe’s hard drive or take his software away from him, because I want to spend my time writing DSP algorithms, not bullshit to get in Joe’s way. So now I am trusting Joe to never, ever use his software again.
So I think the analogy with a car is not good. If I could buy a car, copy it and sell that copy to whoever I wanted, retaining a perfectly functioning copy, very soon cars would not be worth much.
And then there’s support. Say Joe is a power user of Aalto while he has it, and asks a lot of questions. (Answering questions is how I spend an hour or two every morning.) Now after a year Joe sells Aalto to Bob, and Bob, whom I now have the responsibility to support, now asks a whole bunch of questions as he learns his way around. But this time I'm not getting anything in return for helping him. And the more this happens, the more people I have to support who aren’t supporting me.
Besides, when doing support I don't want to have to keep track of who is a licensed user and who is not. I just kind of want to answer everyone’s questions if I can. I answer questions if you haven't bought the software yet, and it seems dumb that after buying and selling it again, you would get worse support than if you never had bought it at all.
Support is a major deal to me, and in a sense I think it’s the main thing you are buying when you get a license: the relationship where you can ask me things. So I think it’s not fair for Joe to sell my services to Bob, without giving me anything in return!
I think I give good support, and having no copy protection to get in anyone’s way is something I'm also proud of. If I let people resell their licenses, I'm afraid it would hurt my ability to provide value to my good customers in these other areas.
Hi Brendan,
I remember seeing your username but I didn't look you up to see if you were an existing customer or what. So, please don’t take my comments personally at all.
-Randy
Sweet!
Thanks, I think I fixed it.
Yeah, you know, just patches. Could I collect yours and include them with Aalto?
An entirely new Aalto would just be something else. No, this will be much like the existing version, but with lots of the features people have been asking for. I'm not even sure which ones will make the cut yet so no teasers.
wat
Yes, lots of people use Aalto for live performance.
Of course!
I should add that I'm not sure this adjusting is right for your situation. Making the instrument tighter tends to make the return slower, not faster! When you have a chance you could compare with Kurt’s board which IIRC has all 5 shims not sanded down much.
For adjusting I use veneer with an adhesive back, which is 0.01" thick. This is an easy material to find at your local woodworking store. I put the shim on and put the back on again. Then if it's too tight I take the back off and sand the shim down a little.
That’s good you found better settings with the max force. I made the defaults the values that I use day-to-day for best response, but the right settings will depend on you and, to a lesser extent, your instrument.
The release is a mechanical thing that happens when the foam is compressed for around a second or more. As you have noticed, it only happens with a heavy touch, so a lighter playing style is the all-around best answer---and easier on your fingers!
There is probably no point playing with the elastic layer itself. As you guessed I have tried many different materials and thicknesses, so you have the best results out of three years of experiments there.
However, the tension applied by the back of the instrument can be varied pretty easily by messing with some wooden shims. I tune each instrument by applying different shims or sanding them down if necessary. I would recommend that you wait and really get familiar with the software options before trying an intervention like this.
I want to encourage people to hack on their instruments, because I think it’s a great activity. I made the Soundplane to be easy to work on. On the other hand, I have to say technically that doing so voids your warranty. It’s a fine line and a little frustrating but I’m sure you understand. I don’t expect anyone to make a mess of their instrument but if that did happen I would have to charge something for shipping or repair.
Did you see the assembly / disassembly video on the main page? I put it out there to show exactly what’s involved in replacing any part of the Soundplane. If you were not comfortable replacing the surface yourself you could send it back to me.
You could definitely buy a replacement surface if you wanted one. I would have to do some accounting to figure out what the cost should be. There’s quite some labor involved, so it won’t be trivial.
I think this is a really cool patch! Do you by chance have a few more you could contribute to the user patches?
As I wrote above, the "voice" output from the KEY module (now "vox") has no detuning on it. I think that the ENV is to blame, in this case, for things going out of sync.
It looks like the way the ENV code is optimized makes slight errors in timing accumulate over time. I can look to see if there’s a an easy way to make this better, because I can see from your patch that it would be very cool.
It's not really the mission of the ENV modules to provide an accurate timebase though. In general with floating point math, things like free-running oscillators are not exact relative to one another unless you take great pains to make them so. Just like in analog, you have to provide a sync pulse somewhere if you really want things to be in sync. In this case you could just retrigger the note every few bars.
Thanks for the good report with bullet points.
Important: what OS are you using?
Did you happen to try any different DAWs?
On Windows 7 User Presets are in in Windows:(Yourhomedirectory)/UserData and factory ones are in C: / AppData / Roaming.
I think Vista is the same, but I am not totally sure. I would recommend you move to Windows 7 if you get the chance. I don't really support Vista or get much call to these days.
Hey, we fixed it, it should work here again.
Try this patch. I think it pretty much does what you want. I should make the range of the rate input bigger, but you get the idea.
I'm looking at some automated control of patching for the future.
<Aalto pluginVersion="66054" presetName="seq stop" scaleName="12-equal" scaleDir="" key_voices="4" seq_loop="0" seq_trig="1" seq_rate="0.00200000009" seq_rate_p="3.99999976" seq_offset_p="7" seq_value0="0.758928597" seq_value1="0.348214328" seq_value2="1" seq_value3="0.473214328" seq_value4="0.348214328" seq_value5="0.758928597" seq_value6="0.258928597" seq_value7="0.491071463" seq_value8="0.866071463" seq_value9="0.651785731" seq_value10="0.401785731" seq_value11="0.6875" seq_value12="0.526785731" seq_value13="0.544642866" seq_value14="0.419642866" seq_value15="0.669642925" env1_release="3.31999993" env2_repeat="0" env2_sustain="1" osc_timbre="0.0799999982" osc_waveshape="3.7252903e-09" patcher_input_1="000000000000100000000000000" patcher_input_9="000000000000100000000000000" patcher_input_11="000000000000000100000000000" patcher_input_12="100000000000000000000000000"/>
Muppet Dungeon.
<Aalto pluginVersion="66054" presetName="muppet dungeon" scaleName="12-equal" scaleDir="Gamelan" key_voices="4" seq_rate="0.0260000005" seq_rate_p="1.00999999" seq_range="27" seq_glide="1" seq_pw="66" seq_value_delay="3.5" seq_value0="0.705357194" seq_value3="0.508928597" seq_value5="0.883928597" seq_value11="1" seq_value12="0.00892853737" seq_value13="0.00892853737" seq_value14="0.00892853737" seq_value15="0.00892853737" seq_pulse11="1" lfo_freq="0.140000001" lfo_noise="0.280000001" lfo_level="0.439999998" env1_decay="10.6999998" env1_sustain="0" env1_release="10.7299995" env1_trig_select="2" env2_repeat="4.72968769" env2_release="0.0500000007" env2_trig_select="2" env2_xenv1="2" env2_repeat_p="1.87" osc_pitch="54.7999992" osc_waveshape="-0.899999976" osc_pitch_exp_p="1.11000001" osc_pitch_lin_p="20000" gate_level="1" delay_input="1" delay_drive="1" delay_feedback="0.730000019" delay_freq="109.999374" delay_feedback_p="1" delay_output_dry="0.50999999" filter_cutoff="20" filter_q="0.200000003" filter_cutoff_p="3.18000007" filter_q_p="1" output_input_gain="0.469999999" output_reverb="0.100000001" output_pan="-0.270000011" output_reverb_p="0.709999979" output_pan_p="0.449999988" patcher_input_3="100000000000100000000000000" patcher_input_6="000000000000000000000000010" patcher_input_8="000000000000000000000000001" patcher_input_9="000000000000000000000110000" patcher_input_10="000000000000100000000000001" patcher_input_11="000000100000000000000000000" patcher_input_12="000000000000010000000000100"/>
Glad to see the discussion! (while listening to Bob's machine music on Soundcloud)
If you don't mind tying up the sequencer, you can do this trick to set an arbitrary value for each voice:
<Aalto pluginVersion="66305" presetName="default" scaleName="12-equal" scaleDir="" key_voices="4" seq_rate="0" seq_steps="0" seq_offset="1" seq_offset_p="1" seq_quantize="1" seq_pw="32" seq_value0="0.00999999978" seq_value1="0.340000004" seq_value2="0.589999974" seq_value3="0.849999964" seq_value9="0.00999999978" seq_value10="0.00999999978" seq_value15="0.00999999978" env2_repeat="0" osc_waveshape="-0.429999977" gate_level="0.439999998" patcher_input_3="0010000000000000000000000000000" patcher_input_11="0000000000000000100000000000000" />
(this shows a minor sequencer offset bug BTW)
I could possibly press the LFO into service this way also. The idea would be to set a non-zero DC offset at frequency 0 or something, then use the voice output to scale the level.
The sequencer should be more predictable in 1.3.1, coming today or tomorrow.
<Aalto pluginVersion="66305" presetName="prog warmup" scaleName="12-equal" scaleDir="" key_voices="4" seq_trig="1" seq_rate="0.153000012" seq_offset_p="7" seq_quantize="1" seq_value0="0.219999999" seq_value1="0.839999974" seq_value2="0.159999996" seq_value3="0.310000002" seq_value4="0.439999998" seq_value5="0.189999998" seq_value6="1" seq_value7="0.229999989" seq_value8="0.239999995" seq_value9="0.170000002" seq_value10="0.930000007" seq_value11="0.149999991" seq_value12="0.0799999982" seq_value13="0.799999952" seq_value14="0.149999991" seq_value15="0.109999999" seq_pulse0="1" seq_pulse6="1" seq_pulse12="1" lfo_freq="0.0799999982" lfo_level="0.48999998" lfo_freq_p="0.639999866" env1_decay="0.389999986" env1_sustain="0" env1_release="0.209999993" env1_xvel="0" env1_trig_select="2" env2_repeat="0" osc_timbre="0.109999999" osc_pitch="880" osc_waveshape="3.7252903e-09" osc_timbre_p="0.659999967" gate_mode="1" gate_decay="2" delay_input="0.610000014" delay_peakfreq="251" delay_drive="0.789999962" delay_peakres="5.99999952" delay_feedback="0.519999981" delay_freq="4.49935341" delay_feedback_p="0.519999981" delay_output_wet="0.859999955" patcher_input_1="0000000000000000100000000000000" patcher_input_3="0000100000000000000000000000000" patcher_input_10="0000000000000001000000000000000" patcher_input_11="0000000000000000100000000000000" patcher_input_12="0000000000000000000000001000000" patcher_input_13="0000000000000000000100000000000" editor_x="29" editor_y="230" editor_width="912" editor_height="624" editor_num="1" editor_anim="1"/>
@hainbach,
I hopefully am not modifying the installer anymore for this release. But there's always next time. Your patches are very nice-- if you want to get a directory of around 10 or more together, I'll be happy to include them.
My future plans are to turn the user patches into something more live and networked. But this is an Aalto 2 thing... a long ways off.
In the meantime, we have this minimal web site. Try this:
<Aalto pluginVersion="66048" presetName="shruti malfunction" scaleName="12-equal" scaleDir="" key_voices="2" seq_rate="0.161855474" seq_rate_p="-2.32999992" seq_range="30" seq_pw="2" seq_value_delay="4" seq_value0="0.00892853737" seq_value1="0.758928597" seq_value2="0.455357194" seq_value3="0.151785731" seq_value4="0.776785731" seq_value5="0.901785731" seq_value6="0.00892853737" seq_value7="0.1875" seq_value8="0.00892853737" seq_value9="0.1875" seq_value10="0.758928597" seq_value11="0.705357194" seq_value12="0.00892853737" seq_value13="0.366071463" seq_value14="0.00892853737" seq_value15="0.598214328" seq_pulse0="1" seq_pulse1="1" seq_pulse2="1" seq_pulse3="1" seq_pulse6="1" seq_pulse9="1" seq_pulse10="1" seq_pulse11="1" seq_pulse12="1" seq_pulse14="1" lfo_freq="0.0700000003" lfo_level="0.239999995" lfo_freq_p="-4" env2_repeat="0" env2_attack="0.00600000005" env2_release="0.25999999" env2_trig_select="2" osc_ratio="5" osc_pitch="74.4000015" osc_waveshape="3.7252903e-09" osc_noise_p="0.549999952" osc_ratio_p="3.99999976" osc_offset_p="200" osc_index_p="1.54999971" osc_timbre_p="0.469999969" osc_pitch_exp_p="-1.42000008" osc_pitch_lin_p="2536" osc_waveshape_p="0.689999938" gate_mode="1" gate_decay="1.24000001" delay_input="0.5" delay_peakfreq="490" delay_drive="0.269999981" delay_peakres="2.86999989" delay_feedback="0.529999971" delay_freq="439.999359" delay_peakfreq_p="3.99999976" delay_peakres_p="2.91999984" delay_feedback_p="0.98999995" delay_freq_p="-3.27999997" delay_output_wet="4" delay_output_dry="0" filter_cutoff="233" filter_q="1" filter_mix="-0.439999998" filter_cutoff_p="0.999999881" patcher_input_6="000000000000000100000000000" patcher_input_9="000000000000010000000100000" patcher_input_10="000000000000000000000100000" patcher_input_12="000000000000100000000000000"/>
Here's a work in progress, an acoustic piano imitation. I'm not sure if it's even possible to do a reasonable one over the whole piano range... I wouldn't ask it of most synthesizers anyway. But this one sounds pretty good in the low register. By messing with it you can get some great sounds that are piano-like but strange.
<Aalto pluginVersion="65829" presetName="aalto piano lo" scaleName="12-equal" scaleDir="" key_voices="3" key_bend="0" key_glide="0" lfo_freq="0.639999986" lfo_level="0.179999992" env1_attack="0.00400000019" env1_decay="4.01999998" env1_sustain="0.179999992" env1_release="0.589999974" env1_level="0.429999977" env2_repeat="109.629692" env2_attack="0.0460000038" env2_release="1.86000001" env2_xvel="1" osc_ratio="3.00200009" osc_index="5.35999966" osc_timbre="0.269999981" osc_pitch="110" osc_waveshape="3.7252903e-09" osc_index_p="2.51999974" osc_timbre_p="-0.270000011" osc_pitch_lin_p="0" osc_mod_out="0.0399999991" gate_mode="1" gate_decay="2" gate_level_p="0.569999993" delay_input="0.610000014" delay_peakfreq="100" delay_drive="0.569999993" delay_peakres="6" delay_freq="1248.48938" delay_input_p="0.49999997" delay_drive_p="0.029999977" delay_peakres_p="0.0299999099" filter_cutoff="368" filter_q="0.829999983" filter_mix="-0.800000012" filter_cutoff_p="0.999999881" filter_mix_p="1" output_input_gain="0.569999993" output_reverb="0.109999999" patcher_input_1="000000100000100000000110000" patcher_input_10="000000000010000000000000000" patcher_input_11="000000000011000100000001000"/>
I'm crushing hard on this patch I made for the recent demos. Sounds totally techno / lush and shows off Aalto's nice clear high end. Let's call it... Space elevator.
<Aalto pluginVersion="66048" presetName="space elevator" scaleName="12-equal" scaleDir="" key_voices="3" key_glide="0" seq_rate="1.05485547" seq_rate_p="0.999999881" seq_steps="2" seq_quantize="1" seq_value="1" seq_value:1="0.616071463" seq_value:2="0.00892853737" env1_decay="0.439999998" env1_sustain="1" env1_release="5.75999975" env1_xvel="0" env2_repeat="0" osc_ratio="1.25" osc_waveshape="0.899999976" osc_mod_out="0.0299999993" gate_decay="0" delay_input="0.529999971" delay_peakfreq="2340" delay_drive="0" delay_peakres="-1.34110451e-07" delay_feedback="0.170000002" delay_freq="11.5493746" delay_feedback_p="0.49999997" delay_output_wet="2.15999985" filter_mix="1" filter_cutoff_p="-2.48000002" output_reverb_p="-2.23517418e-08" patcher_input_1="000000000000100000000000000" patcher_input_9="000000000000100000000000000" patcher_input_11="000000000000000100001010010"/>
We should be good to go. I want to add nice formatting for the patches, and Soundcloud embed, but that can wait for another day.
Here's a patch that may may its way into the factory set. It's a synthesized dizi, a Chinese flute.
<Aalto pluginVersion="65829" presetName="dizi" scaleName="chin_di2" scaleDir="Chinese" key_bend="2" key_unison="1" key_glide="0" lfo_freq="3.64999986" lfo_level="0.329999983" lfo_freq_p="2.9599998" env1_attack="0.0300000012" env1_decay="10.3000002" env1_sustain="0.370000005" env1_release="0.149999991" env1_release_p="-1" env2_repeat="0" env2_attack="0.193000004" env2_sustain="1" env2_release="0.409999996" env2_xvel="1" osc_noise="1" osc_ratio="6.00000048" osc_index="0.899999976" osc_pitch="880" osc_waveshape="0.899999976" osc_noise_p="-0.650000036" osc_pitch_lin_p="0" osc_carrier_out="0.239999995" osc_mod_out="0.049999997" gate_decay="0.289999992" gate_level_p="0.399999976" delay_input="0.189999998" delay_peakfreq="880" delay_drive="0.179999992" delay_peakres="2.44999981" delay_feedback="0.370000005" delay_freq="880" delay_input_p="0.23999998" delay_peakfreq_p="0.999999881" delay_drive_p="0.0899999738" delay_peakres_p="4" delay_feedback_p="0.24999997" delay_output_wet="2.02999997" delay_output_dry="0.25" filter_cutoff="840" filter_q="0.719999969" filter_mix="0.48999998" filter_cutoff_p="0.549999893" output_input_gain="0.779999971" output_reverb="0.409999996" patcher_input_1="000000100000100001000100000" patcher_input_2="000000010000000000100000000" patcher_input_4="001000000000000001010000000" patcher_input_10="000000000000000010000000000" patcher_input_11="000000000000000100000000000" patcher_input_12="000000000000000000001000000"/>
Valse mechanique:
<Aalto pluginVersion="65829" presetName="valse mechanique" scaleName="12-equal" scaleDir="" key_glide="0" seq_trig="1" seq_rate="0.0958554745" seq_rate_p="1.30999982" seq_steps="12" seq_range="48" seq_quantize="1" seq_pw="18" seq_value_delay="2.5" seq_pulse_delay="1.5" seq_value="0.00892853737" seq_value:1="0.991071463" seq_value:2="0.6875" seq_value:3="0.00892853737" seq_value:4="0.508928597" seq_value:5="0.00892853737" seq_value:6="0.00892853737" seq_value:7="0.991071463" seq_value:8="0.776785731" seq_value:9="0.00892853737" seq_value:10="0.508928597" seq_value:11="0.00892853737" seq_value:12="0.00892853737" seq_value:13="0.00892853737" seq_value:14="0.00892853737" seq_value:15="0.00892853737" seq_pulse="1" seq_pulse:3="1" seq_pulse:6="1" seq_pulse:9="1" seq_pulse:10="1" seq_pulse:13="1" lfo_freq="0.049999997" lfo_level="1" lfo_freq_p="4" env1_attack="0.0510000028" env1_decay="0.639999986" env1_sustain="0" env1_release="2.04999995" env1_level="0.179999992" env1_trig_select="2" env1_attack_p="0.199999973" env1_decay_p="0.579999983" env1_release_p="0.199999973" env2_repeat="0" env2_attack="0.00100000005" env2_xvel="1" env2_trig_select="2" osc_ratio="2.1420002" osc_offset="2.98023224e-06" osc_pitch="110" osc_waveshape="-0.899999976" osc_ratio_p="1.12999988" osc_offset_p="200" osc_index_p="10" osc_timbre_p="-2.23517418e-08" osc_pitch_lin_p="216" osc_mod_out="0.5" gate_mode="1" gate_decay="2" gate_level_p="0.99999994" delay_input="1" delay_drive="1" delay_feedback="0.289999992" delay_freq="3.02937484" delay_output_wet="0.109999999" output_reverb="0.229999989" output_reverb_p="0.329999983" patcher_input_8="000000000010100000000000000" patcher_input_9="000000000000010000000000000" patcher_input_10="000000001000000000000000000" patcher_input_11="000000000010000100000000000" patcher_input_12="000000000000000100000000000"/>
With the hardware being a pain to finish this time around, the planned software mapping features in the Soundplane app have not been done yet. Thanks for your patience and I'm glad you found a workaround in the meantime.