hardware and software for electronic music 

randy's Recent Posts

Fri, Feb 13, 2015, 14:32

Call for input: Soundplane to CV module

This year it seems desirable and possible for Madrona Labs to make a Soundplane to CV device. This would be primarily a Eurorack module, but the circuit could also be built into its own enclosure for use with vintage synths etc.

Normally I do most of my design work in private, and only announce a product when it's pretty much done. But we (Brian and I) are going to change it up this time. Because neither of us is that deeply into the Eurorack world, it makes sense to solicit input early on in the process this time. This is going to be a utility device (though hopefully an elegant one) — so before we get too far along, let's make sure it will be useful to you!

The basic idea

USB jack for powering the Soundplane. Module puts out CV / gates / mod outputs for individual touches. Like the Soundplane app, a zone map decides how the Soundplane surface is divided up into notes and what those notes are. You can switch between zone maps, and the name of the current one should be displayed somehow. Aside from this, visual feedback will be at least an LED per Z value. To keep costs low, probably nothing too graphical or fancy.

We're looking for input on things like:

How many voices?

Each voice of touch output will probably have 4 outputs for pitch, x, y and z. Setting up many voices on a modular is not the way most people use them, so I'm guessing that two voices of output will take care of 90% of what people want. We would probably add an expander module for more voices.

Any interesting modes?

A switch that changes z (pressure) into a strict on/off gate might be useful. Any other things like this?

Layout?

individual voice groups vertical or horizontal? voice outputs at bottom or top? I'm thinking top, because a USB jack on the bottom will go to the Soundplane.

Power?

The module will need roughly 250mA at 5v to power the Soundplane. Brian will correct me if I'm wrong. Then there's whatever computing and display the module needs to do, and the outputs. Do we need our own power supply, or a list of compatible Euro power supplies that we can point people to? Any choices in connectivity to make here?

Finally, we're still looking for a great name…

Tue, Sep 19, 2017, 09:26

I can also look at making the behavior more predictable when changing the number of voices. That is not something I ever thought about using as a kind of performance control, so I didn't test it in that use. But it seems useful, so I'll put it on the list.

The beta that's currently out for Mac should have a fix for the sequencer retrig issue.

Mon, Sep 18, 2017, 11:09

I think I did by email.

Mon, Sep 18, 2017, 11:09

Any modern Mac should work. Personally I buy refurbished ones from Apple's online store usually.

Mon, Sep 18, 2017, 11:08

You could use the "vox" output of the key module to send a different x offset of the granulator position to each voice. This should be more predictable than trying to change the number of voices on the fly.

Mon, Sep 18, 2017, 10:53

I'm working on software currently alongside plugin work. The Soundplane touch detector has to be rewritten in order to work on our embedded boards.

Wed, Aug 09, 2017, 11:16

Kaivo 1.3.3 beta available

I've fixed a few issues and uploaded a new beta version for intrepid Kaivo users: Kaivo1.3.3b1.

This beta is for Mac OS only. I plan to ship the final Mac version as well as the Windows version next week. I'll also update the other plugins with the relevant fixes then.

changes:

  • bugfix: the sequencer was not retriggering from reset input
  • bugfix: .kbm mappings were not always using all notes
  • bugfix: .kbm mappings were not setting reference note properly
  • fixed a rare condition where the metal string resonator could lock up

If you noticed any changes in how your patches behaved after installing Kaivo 1.3.1, hopefully the sequencer fix will get them back in shape.

Mon, Sep 11, 2017, 13:47

I searched the forum and found a potential solution: try turning on "Force MPE" in Bitwig.

Mon, Sep 11, 2017, 11:06

I know people are using Aalto in MPE mode with Linnstrument. I'm not sure if this works in Bitwig, but it should. It should work in demo mode also. Did you change the protocol to MIDI MPE in the settings (gear) menu? Aside from that, there is nothing else to do in Aalto.

Possibly, check your DAW channel settings in Bitwig.

Mon, Sep 11, 2017, 11:04

I'm finishing up this bugfix release currently. Please stay tuned!

Thu, Jan 03, 2013, 12:40

Better workflow for Aalto

I was making a little music with Aalto over the holidays. I was trying to set up a flow where I could just tweak the knobs while recording audio out of Aalto, and record a lot of tracks that I would just mix together to get the finished piece. But, as you may have found, this is easier said than done! I have ideas on how to make things better.

Tweaking while recording


One problem is that the main DAWs don't let you record audio while tweaking knobs of a synth or effect. Logic has a real time bounce, for example, but locks out control changes while it's going on. Live won't record audio out of a synth unless you are in render mode.


One workaround is to use Numerology from Five12. It's great for on-the-fly sequencing and tweaking, and will let you record audio while you do this. It's a little less than ideal in that the audio is all sent to automatically-named files that you have to sort out later. But in even allowing recording while tweaking it offers a cool feature that the big DAWs don't. The drawback for me is that it's not the environment I want to mix in.


I checked out Reaper and did not get far enough to decide whether this would be a good solution for live recording. I could deal with learning to mix in it if it offered this capability. Anyone tried this in Reaper?


Finally, one solution might be a simple record button in Aalto. But I try to avoid adding things that the DAW should be doing well. Anyone up for writing a DAW this year with Live’s ease-of-use and timing, Logic’s MIDI implementation and Reaper’s efficiency?

Resetting


Another problem with the flow as it stands is resetting Aalto back to a patch at the start of a loop or arrangement. I'd like to set up one patch, do a take of knob-tweaking, and then automatically have Aalto recall a previous patch or saved state back at the beginning to set up the same jumping-off point for exploration. This is a little difficult now.


One way to do it, currently, is using MIDI program automation. Aalto 1.3 added the ability (underdocumented, currently) to switch programs via MIDI program change messages. See here for details. So, you can make a patch, save it to the "MIDI Programs" directory, and record a program change message in your DAW of choice. This is fairly easy in Logic, and in Live looks clunky but possible. There's an extra step of saving a patch, though, every time you want to define a new starting point. Not ideal. Maybe I don't care about the patch in general but just as an element in one song.


Resetting the patch is also needed to make the flow sort-of-good in programs like Live and Logic that don't allow control changes. An offline bounce (much faster than real time) after each tweaking pass may not be a bad price to pay for recording in my environment of choice, and so I can simply record the parameter change data---but the reset is also essential here.


There are a few ideas I have for a solution. One is to add a menu choice "broadcast all parameters." This would do what it says, allowing parameter automation systems to capture the entire state of the plugin. I think that with more than 100 parameters, though, this might overwhelm the capabilities of the DAW, and would certainly make a mess of the param menus.


A refinement of that idea is to have two menu options, one to say "start keeping track of what parameters I changed," and another to reset only those changed parameters. This would definitely work, the only drawback is a little added complexity. You would still need to be careful to save your song with all the params at their initial states!


I'm happy that Aalto 1.3.1 is very solid after the 1.3 shakeup, and I'm looking forward to working on some of these workflow details now. I welcome your suggestions!

Wed, Aug 30, 2017, 10:27

You bring up an area where Virta can really be improved. I appreciate the feedback. With the current system you "can do anything" by choosing or making the right Scala files... but it's not easy to just pick, say, G dorian as you say.

I'm currently working on the code that reads Scala files to fix some bugs and make it more flexible. Then building on that foundation I can add some built-in mappings that will make it easier to select a given scale or mode without making a new file.

Wed, Aug 30, 2017, 10:20

the bend dial in the KEY module controls how much MIDI pitch bend will affect the pitch. Then, you can see the changing pitch signal in any dials you have it routed to, probably the complex oscillator pitch, for example.

Thanks for the nice feedback!

Mon, Aug 28, 2017, 08:44

Thanks for the add'l info. I still have it on my list to check out Virta at 96k more deeply.

Mon, Aug 28, 2017, 08:43

Hi Richard, Aalto will play at A=440Hz by default. There's no master tune setting either (for now), so it's safe to say the issue is not within Aalto. I'd look to your DAW settings or MIDI controller or... ?

Tue, Aug 22, 2017, 11:20

No technical reasons, I just have a long list of things to do. I'll probably add this to the Aalto 2 release and update the other plugins thereafter.

Thu, Aug 10, 2017, 13:09

Summer sale 2017

Dear music makers,

In appreciation for your support, we are having a summer sale this year. Use the code MRJACKPOTS on any of the product pages to get 25% off any Madrona Labs plugin. From now through August 20.

photo: @photoboothkt

Sun, Aug 20, 2017, 10:28

Much more likely to happen in Virta! I want Aalto's reverb to be a super-simple, one-knob device in the spirit of the Arp 2600.

Sun, Aug 20, 2017, 10:24

Whoops, I meant to expire it tomorrow—fixed!

Thu, Dec 02, 2010, 09:35

STICKY: Aalto Patch Thread!

I'm going to make this thread sticky. It should be a good place to find and share Aalto patches. I'll try to post one every day or two for a while.

It would be cool if we could embed Soundcloud links here, but setting that up will take some time.

Fri, Aug 18, 2017, 12:22

from Pancycle Music:
http://www.pancyclemusic.com/aalto-my-latest-software-synth-addiction/

{
"delay_input":0.670000,
"demo":0,
"licensor":"",
"seq_trig":0,
"key_voices":2,
"key_mod":1,
"key_bend":7,
"key_unison":1,
"key_glide":0.010000,
"seq_wave":0,
"seq_local":1,
"seq_host":0,
"seq_loop":1,
"seq_rate":0.444000,
"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.770000,
"seq_pw":50,
"seq_value_delay":3.500000,
"seq_pulse_delay":0,
"seq_value0":0.500000,
"seq_value1":0.308658,
"seq_value2":0.146447,
"seq_value3":0.038060,
"seq_value4":4.996004e-16,
"seq_value5":0.038060,
"seq_value6":0.146447,
"seq_value7":0.308658,
"seq_value8":0.500000,
"seq_value9":0.691342,
"seq_value10":0.853553,
"seq_value11":0.961940,
"seq_value12":1,
"seq_value13":0.961940,
"seq_value14":0.853553,
"seq_value15":0.691342,
"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":0.420000,
"lfo_noise":0,
"lfo_level":0.710000,
"lfo_level_p":0,
"lfo_freq_p":-2.400000,
"env1_attack":0.180000,
"env1_decay":1,
"env1_sustain":0.170000,
"env1_release":1.260000,
"env1_level":1,
"env1_xvel":1,
"env1_trig_select":1,
"env1_attack_p":-1,
"env1_decay_p":0,
"env1_release_p":0,
"env2_repeat":0.429688,
"env2_delay":0,
"env2_attack":0.190000,
"env2_sustain":0,
"env2_release":0.290000,
"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":2,
"osc_offset":0.000003,
"osc_index":3.910000,
"osc_timbre":0,
"osc_pitch":110,
"osc_waveshape":0,
"osc_noise_p":0,
"osc_ratio_p":0,
"osc_offset_p":16,
"osc_index_p":-5,
"osc_timbre_p":0,
"osc_pitch_exp_p":1,
"osc_pitch_lin_p":4,
"osc_waveshape_p":0,
"osc_carrier_out":0.460000,
"osc_mod_out":0.460000,
"gate_level":0,
"gate_mode":1,
"gate_decay":1,
"gate_level_p":1,
"delay_peakfreq":1000,
"delay_drive":0.620000,
"delay_peakres":0,
"delay_feedback":0.340000,
"delay_freq":13.750000,
"delay_input_p":0.500000,
"delay_peakfreq_p":1,
"delay_drive_p":0,
"delay_peakres_p":0,
"delay_feedback_p":0,
"delay_freq_p":2.360000,
"delay_output_wet":1.520000,
"delay_output_dry":1,
"filter_cutoff":366,
"filter_q":0,
"filter_mix":-0.372491,
"filter_cutoff_p":-3.320000,
"filter_q_p":0,
"filter_mix_p":0,
"output_input_gain":1,
"output_reverb":0.200000,
"output_pan":0,
"output_reverb_p":0.200000,
"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, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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, 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, 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, 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, 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]
},
"key_scale":"12-equal",
"preset":"Pancycle/Keys/Saint Patrice",
"maker_name":"Madrona Labs",
"app_name":"Aalto",
"app_version":67586
}
Thu, Aug 17, 2017, 10:05

I just looked that up, interesting module. The closest thing I have made to a spectral freeze function is actually in Virta. Although it doesn't have a freeze feature now, I could add one pretty easily.

Kaivo would be a bit harder because there is nothing like a spectral processor in it. The resonators and body are all physics-based and it's hard to imagine how to freeze them in a useful way.

Thu, Aug 17, 2017, 09:59

Thanks for the feedback. This spring I sent out a Kaivo update that added about a 25% performance improvement. There will be more to come.

Thu, Aug 17, 2017, 09:55

These ROLI docs are great, I had not seen them. Thanks for sharing.

Thu, Aug 17, 2017, 09:54

Thanks for the info.

Thu, Aug 17, 2017, 09:53

No worries!

Tue, Aug 15, 2017, 11:51

Thanks for the suggestion. Aalto 2 won't be very different from the current version. The patches will be compatible and I'll figure out how to add any new features without shaking things up too much. Don's designs will remain a constant source of inspiration, so you might see some things you recognize as "Easel-like" in upcoming plugins.

Mon, Aug 14, 2017, 08:42

Yes, there will be a paid upgrade to version 2.

Sun, Aug 13, 2017, 16:48

It is limited to 1.0 currently. I believe I was not doing this before. It seemed to make sense to limit it to the [0. - 1.] range. But if this is not enough practically for some desirable patches--- are you saying you have the attenuverter turned to maximum modulation?---then I could take away the limiting or make it an option.

Sun, Aug 13, 2017, 16:41

according to all this...is Aalto (1) now abandonware? ;)

Aalto 2 would be the first major version update of the same software instrument. This is the opposite of abandoning it. Don't worry.