ForumsSoftware ← Arp mode chokes/jitters Aalto in MPE mode?

hi randy. i was wondering if you could check this out for me. when aftertouch is assigned to volume rather than the envelope and an arppegiator is running there seems to be some problems with the notes coming out in sync or the sound cuts off abruptly unable to retrigger sound. the arp runs fine with the envelope assigned to volume. is this a bug or maybe is there something i'm not understanding with the synth or mpe mode itself? the patch is fine without the arp running and the arp works for patches with envelope assigned to volume. the arp is activated on the linnstrument itself and Aalto only has aftertouch assigned to volume, the envelope is not used in the patch.

i'm running windows 10,Aalto 1.7, 32 bit running in savihost 1.42, using aalto and linnstrument in mpe mode. arppegiator on in the following patch:

{
"delay_input": 0.280000,
"protocol": 0,
"data_rate": 250,
"seq_trig": 0,
"key_voices": 4,
"key_mod": 2,
"key_bend": 12,
"key_unison": 0,
"key_glide": 0,
"seq_wave": 0,
"seq_local": 1,
"seq_host": 0,
"seq_loop": 1,
"seq_rate": 0.250000,
"seq_ratio": 1,
"seq_rate_p": 0,
"seq_steps": 16,
"seq_steps_p": 0,
"seq_offset": 0,
"seq_offset_p": 0,
"seq_range": 12,
"seq_quantize": 0,
"seq_glide": 0,
"seq_pw": 50,
"seq_value_delay": 0,
"seq_pulse_delay": 0,
"seq_value0": 0,
"seq_value1": 0,
"seq_value2": 0,
"seq_value3": 0,
"seq_value4": 0,
"seq_value5": 0,
"seq_value6": 0,
"seq_value7": 0,
"seq_value8": 0,
"seq_value9": 0,
"seq_value10": 0,
"seq_value11": 0,
"seq_value12": 0,
"seq_value13": 0,
"seq_value14": 0,
"seq_value15": 0,
"seq_pulse0": 0,
"seq_pulse1": 0,
"seq_pulse2": 0,
"seq_pulse3": 0,
"seq_pulse4": 0,
"seq_pulse5": 0,
"seq_pulse6": 0,
"seq_pulse7": 0,
"seq_pulse8": 0,
"seq_pulse9": 0,
"seq_pulse10": 0,
"seq_pulse11": 0,
"seq_pulse12": 0,
"seq_pulse13": 0,
"seq_pulse14": 0,
"seq_pulse15": 0,
"lfo_freq": 1,
"lfo_noise": 0,
"lfo_level": 0,
"lfo_level_p": 0,
"lfo_freq_p": 0,
"env1_attack": 0.001000,
"env1_decay": 0.010000,
"env1_sustain": 0,
"env1_release": 0.010000,
"env1_level": 0,
"env1_xvel": 0,
"env1_trig_select": 1,
"env1_attack_p": -0.180000,
"env1_decay_p": 0,
"env1_release_p": 0,
"env2_repeat": 0.429688,
"env2_delay": 0,
"env2_attack": 0.001000,
"env2_sustain": 0,
"env2_release": 0.010000,
"env2_xvel": 0,
"env2_trig_select": 1,
"env2_xenv1": 1,
"env2_delay_p": 0,
"env2_attack_p": 0,
"env2_repeat_p": 1,
"osc_noise": 0,
"osc_ratio": 0,
"osc_offset": -0.799997,
"osc_index": 0,
"osc_timbre": 0.130000,
"osc_pitch": 220,
"osc_waveshape": -0.060000,
"osc_noise_p": 0,
"osc_ratio_p": -8.940697e-008,
"osc_offset_p": 116,
"osc_index_p": 0,
"osc_timbre_p": 0.320000,
"osc_pitch_exp_p": 1,
"osc_pitch_lin_p": 4,
"osc_waveshape_p": 0.600000,
"osc_carrier_out": 0.500000,
"osc_mod_out": 0.600000,
"gate_level": 0,
"gate_mode": 0,
"gate_decay": 0.480000,
"gate_level_p": 0.980000,
"delay_peakfreq": 398,
"delay_drive": 0.200000,
"delay_peakres": -0.200000,
"delay_feedback": 0.190000,
"delay_freq": 3520,
"delay_input_p": 1,
"delay_peakfreq_p": 4,
"delay_drive_p": 0,
"delay_peakres_p": 0,
"delay_feedback_p": 0.560000,
"delay_freq_p": 0.960000,
"delay_output_wet": 2,
"delay_output_dry": 1,
"filter_cutoff": 238,
"filter_q": 0,
"filter_mix": -1,
"filter_cutoff_p": 3.360000,
"filter_q_p": 0.160000,
"filter_mix_p": 0,
"output_input_gain": 1,
"output_reverb": 0.050000,
"output_pan": 0,
"output_reverb_p": 0,
"output_pan_p": 0,
"patcher_matrix": {
"type": "signal",
"width": 14,
"height": 31,
"depth": 1,
"data": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
},
"key_scale": "12-equal",
"preset": "Aalto solos/sine z",
"patch_anim": 1,
"patch_num": 1,
"port_offset": 0,
"reserved1": 0,
"reserved2": 0,
"reserved3": 0,
"reserved4": 0,
"window_bounds": {
"type": "signal",
"width": 4,
"height": 1,
"depth": 1,
"data": [0, 0, 732, 500]
},
"maker_name": "Madrona Labs",
"app_name": "Aalto",
"app_version": 67328
}

I gather you are using the arpeggiator on board the Linnstrument. I can't test that here but I have some suggestions.

The arpeggiator is sending MIDI notes, these are triggering envelopes and flowing through the patcher in Aalto. The Linnstrument is also sending aftertouch messages, that get sent through the patcher. In general you can only use one of these ways of triggering notes. If you turn an Aalto voice on with aftertouch, and then turn it off with a note-off message, you will get an unexpected end to the note.

Maybe Linnstrument has a way of using pressure to control the note-on veolcity of the arpeggiator? This way you would be just using MIDI notes and everything would be consistent.