randy's Recent Posts

mavericks 10.9.5
64 bits

Hmm, strange, no reason that shouldn't work. I'm guessing you have some AU update problem.

If the plugin is not showing up, you can look to verify that it's in the AU Library folder: /Library/Audio/Plug-Ins/Components. If it is there, you could try removing it using the Finder, then running the installer again. You can also try this voodoo to remove your Audio Units cache: http://support.apple.com/kb/ts1086

Hi. I just install the update and does not work me in Logic x or DP9

In what OS and host versions? 32 or 64 bit?

If you have patches made in Aalto 1.6 or before that you are using with the Soundplane, a little manual tweaking will be needed. These same instructions will be needed to go from Kaivo 1.2 to Kaivo 1.3 when that is released.

The patcher inputs from the KEY module were rearranged and a velocity output added, which has a great benefit: you can now use any Aalto patch with the Soundplane, and make new patches using the aftertouch / z output that are both MIDI and Soundplane compatible.

Here are the outputs from the KEY module using different protocols:

protocol    out1    out2    out3    out4    out5    out6    out7
            --------------------------------------------------------

MIDI        pitch   vel     vox     after   modcc   modcc+1 modcc+2

MPE         pitch   vel     vox     after   modcc   cc73    cc74

OSC         pitch   vel     vox     z       dy      x       y

OSC (old)   pitch   z       vox     dx      dy      x       y

Since aftertouch from MIDI is a lot like z from the Soundplane, patches designed for the Soundplane can now be used expressively with MIDI kayboards and vice versa.

To convert an old OSC patch, open it in Aalto 1.7, and then just grab all the patches coming from patcher input "vel" and move them to "z."

Patches don't store the input protocol they use---that information is sent by a DAW outside of the patch so that your protocol choice won't keep switching when you change patches. Unfortunately that makes it impossible to convert patches automatically for these OSC changes. I apologize for any inconvenience.

Ooh, if it overwrites a version without asking that's a nasty bug. I'll investigate ASAP. Thanks for the feedback.

64-bit windows is good to go, now. I'll be sending out the news in the morning.

Yes, yes it is. After uploading I found a problem with the 64-bit Windows build that I'm still working on. Feel free to have a go at the 32-bit Windows or Mac versions.

Hopefully I'll sort this out within a few hours... but that's what I said last night.

Hi Tibor,

Aalto and Kaivo will read any tunings in Scala format in the Scales directory. This always includes a .scl (scale) file, and can optionally include a .kbm (key mapping) file. If there is no .kbm file, as with most (all?) of Aalto's scales, the default mapping A=440 will be set. To override this default, include a .kbm file with the same name as the .scl file. Here is an example:

! keyboard mapping my12-equal.kbm:
! 
! Size of map (greater than or equal to the number of notes in the scale 
! to be mapped). The pattern repeats every so many keys: 
12 
! First MIDI note number to retune: 
0 
! Last MIDI note number to retune: 
127 
! Middle note where scale degree 0 is mapped to: 
60 
! Reference note for which frequency is given: 
69 
! Frequency to tune the above note to (floating point e.g. 440.0): 
440.0 
! Scale degree to consider as formal octave (determines difference in pitch 
! between adjacent mapping patterns): 
12 
! Mapping. 
! The numbers represent scale degrees mapped to keys. The first degree is for 
! the given middle note, the next for subsequent higher keys. 
! For an unmapped key, put in an "x". At the end, unmapped keys may be left out. 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 

For more information on Scala, see: http://www.huygens-fokker.org/scala/

I work to make things solid but I've come to accept that AUs will always be a little fiddly, sometimes. Thanks for the update.

I'm just saying if you have a computer and a rack module you want to connect to at the same time, you can use the computer as a passthru. Say out a little DC-coupled interface or something. This seems like an OK solution.

That said, if there are easy ways to allow for future expansion that don't significantly delay the release of the Soundplane, we will probably take them.

Good news, this is done and will be shipped as soon as I can tidy up the releases. You will need a new Aalto and Soundplane app.

Reasonable idea, talking to both modular and computer. The thing is, the Soundplane just puts out raw data, and doing the touch detection from that data takes a significant amount of CPU. So the upgrade would be a whole new processor board.

Since the computer is in your hypothetical setup already, allowing it to pass the touch data to the module somehow strikes me as a possible solution. I guess it's still not likely to happen given the time involved.

54: from second run, not first. OK that's good information about timing. The spacing material is the same in both cases.

If you have time to mess with spacing, send me an email and I can send you some spacer material. It's sounding more and more like maybe a new touch detector is going to be the best fix for you, however. Luckily you can try and even build dev versions, so it shouldn't be too long until you have something to test.

The situation with the ghost notes and the existing tracker is a little complicated. Your idea is reasonable but doesn't take into account that touches can start out in one place and get moved frame by frame in an attempt to converge on the best solution. So even setting a high inhibit threshold, a touch can start out two keys away from the existing touches and then get sucked in, so to speak. The new tracker uses a different approach and will not have this problem.

this also confuses me a bit, really the difference between the first step (with palm) and second.. are they calibrating different things? It would I think be useful to know a little more about this.

The first pass gathers the normalize map. This tells the software how much each taxel (sensor junction) moves when the same amount of pressure is applied. Typically there are small variations over the middle of the surface, and big consistent changes around the edges, due to the way the instrument is held together. The normalization corrects for both of these.

An ideal way to get the normalize map would be to have a weight of around 100-200g with a flat bottom. Moving this weight around would put a consistent force everywhere on the surface. In practice, moving a palm around with a consistent pressure has given good results, and most people have hands permanently attached, so I have been recommending this instead of something more complicated. But if you are getting inconsistent normalizations, maybe try some kind of moveable weight setup.

The second pass generates a template touch. This is used to discriminate touches from ghost touches and other noise by recording the shape of data a single finger makes. it's important to move reasonable slow here! I would allow at least 10 seconds to traverse a row in one direction.

In the second pass, consistency of pressure is not required. I recommend a medium to firm pressure. If the pressure is too light then the resulting template will be quite large, and will not have a well defined effect.

I looked at the disassembly video again, and I seem to have totally hidden the spacers, because I wasn't thinking about showing them. So your confusion is natural—sorry about that. If you look on the underside of the aluminum back you will see five wooden bars glued on. These hold the sensor layers in place and allow room for the ribbon cables.

The thicker the bars are, the more they put the sensor layers including the foam rubber "waffle" into compression. Ideally, when the instrument is at rest, everything fits tightly together but the foam is only compressed a very small amount: 0.5 mm or so.

On Monday I can get back to the shop and take some pictures of the bars if that would be helpful. Or, I can simply make a sketch of what should be going on. It's really simple.

Now with two reports (above) of changes maybe due to heat, of course it has me thinking that there is something I can do better. I tested the response of the foam over many months before shipping an instrument, but not at temps of 30C. Possibly the foam rubber will permanently deform enough under these conditions that it will be noticeable.

However, a sample size of two instruments is not a lot! So I have to proceed carefully and avoid jumping to conclusions about what might be happening. One thing I can do here is try some experiments with the rubber under compression at higher temperatures.

Every kind of compressible stuff loses some of its ability to return to its original dimensions over time. The foam rubber was chosen after testing around ten different materials and reading specs for many more. It worked well in testing but everything degrades over time and it is certain that heat accelerates this process. Luckily, there are two fixes we can do: add spacing material, or replace the foam layer entirely. I would like to get more data and try a fix with spacing but can also send you a new foam layer if that turns out to be a fix.

Mark, you have a Soundplane you bought second hand, is that correct? Can you remind me of the serial number?

I know I sent one instrument to a hot climate—I can ask the customer how it's going or maybe @rastkopravi will see this and give us some info.

Please understand that I stand behind the instruments and it bothers me a lot when any of them are not working well. Certainly my goal is to make them play consistently and accurately. I agree these are important qualities for any instrument. When I say "accept the ghost touches for now" I'm not trying to say there is no problem, but rather trying to give you another option until the time I can do work on the issue.

The new tracker is a big priority. Luckily for me, you are in a great position to test any changes and seem to have some time to do so—I'm thankful for your involvement and look forward to getting you some options to try ASAP.

The response looks pretty good overall, I wouldn't say that any major stretching has gone on. On the right side, I would say there is some spreading of the touch that exceeds what it would have left the shop with.

If you want to intervene mechanically, adding a bit of material to the rightmost spacer bar will hold the sensor more tightly together, and should reduce the spreading. What I use is a wood veneer with an adhesive back, because I have lots of this material. Anything incompressible will work equally well. thin cardboard with double-stick tape or removable spray mount to hold it in place, for example. Or, I can send you some veneer.

I would start with around 0.5mm more material over the entire bar. Then if the feel is better overall but too tight at the top and bottom, you could remove some of the material at the top and bottom. Or if it improves things but not enough, you can add more.

You can either calibrate after each change, or you can clear the calibration with "use defaults" in the app and use that as a baseline for noticing changes. In any case, proceed methodically and record the response before and after. You could use a weight of some kind on the surface as a calibration standard.

But first,

why don't you try some variations in how you are normalizing it. I do find it a bit weird that in your normalize picture there are some areas of almost zero value in the middle. This may result from pressing down harder in the middle when you normalize. Try "use defaults" and see, is the center more accurate without normalization? If so, either use the defaults or try normalizing again being sure to press very evenly. You can use an phone or a CD case for this!

When you are looking at the accuracy of touch position, look at only one touch at a time. This will give you repeatable results. Any inaccuracy in chords that is not present for single touches, is the fault of the touch tracker software not the normalization or hardware.

Also,

You could just wait and accept the ghost notes into your life until the next software update. I am sure that they will be improved by the next touch tracker. Meanwhile the thing with ghost notes is that they are tiny, so when using direct envelope control via z they may not even be heard.

I'm eager to work on the new touch tracker, but meanwhile I also need to release another plugin. So I hope some of these tips give you something to chew on, and I'll thank you in advance for your patience.

I don't know about any issues with warm temperatures. However, I guess it's possible that the combination of constant high temperatures and daily playing has caused the rubber surface of your instrument to stretch out a bit. Your report that things are going slowly more out of whack is also consistent with surface stretching.

The good news is, there is likely an easy mechanical fix for this you can do. Rest assured that we'll get your instrument working one way or another. If we can't figure out hardware or software modifications that you can do there that make it work for you, I'll take it back for repair.

First, I would like to ask for some of your time to understand what is going on, and see if my idea about stretching is right. Do you have a utility you can make movies with? Screenflow has a free trial and works well for me here.

If you can make a movie of the response from a single finger as it moves around the surface, I will be able to see if the surface is doing what it should be mechanically. To do this, you want to turn "voices" to 0. This will cause the display to show the raw, unfiltered data. Set the view mode to "calibrated" and run a finger left to right in five passes, one over the center of each row.

I made this kind of movie, just doing one pass at top and one at bottom, and it looks like this: http://madronalabs.com/media/temp/touches0.mp4

I would describe my Soundplane as working well, but you can see from this movie that the single touch spreads out more in the upper right of the Soundplane than other places. The software is able to correct for this, but if it were much more spreading, there would need to be a hardware correction to fix it.

Being a curious guy, maybe you have opened up your Soundplane already? If so, you will have noticed that there is some thin veneer applied to the basswood spacers that you see when you take the back off. These spacers hold the sensor boards against the surface when the back is attached. The veneer is applied by me when making each instrument, and sometimes I have to go through a few iterations of tweaking the veneer to get the spacing just right because each surface is a bit different.

Long story short, you can likely add some veneer strips to compensate for the stretching and fix the instrument yourself. First, let's see if the stretching is the problem.

Zones are currently implemented using the JSON files. You can see the examples like "30sliders.json" in the distribution that show how to make all kinds of different setups within one OSC port. But splitting touches to different OSC ports is not working.

I'm very very close to sending out an update that should have this feature working in it. There will be an example in it to try.

Here are recent videos of some inspiring Soundplane performances. Hearing and seeing what you are doing gets me fired up to work on more instruments. Thanks to all the players / composers.


Lee Gauthier


Mark Harris


Gaël Navard

Nice! I'm glad you find that Aalto pairs well with acoustic instruments, I think so too. Thanks for sharing.

Using aliases to folders should work. If it doesn't, checking permission is the only thing I could think of, also. I'm going to investigate this along with some other Kaivo issues very soon.

You may have noticed that Kaivo is slow to open–this is because it loads all the samples into RAM when it is loaded. In general it is just not set up well to use a lot of samples right now. I would recommend copying the ones you want to use into your main samples directory, and maybe getting rid of some of the factory ones you don't use, to speed up load times. I'll improve this for the next update.

What I like better than the idea of bipolar / unipolar switches, is the addition of some way to offset / scale the data more easily after it comes from the source.

I think a signal coming from a source such as "vox" should reflect what the actual data is---in this case a voice number from 0-3. With sequencer output I can see more of a case for adding an output option since it's not representing anything in particular.

There's no way to change the location of the Madrona Labs folder, but using aliases in the patches / samples folders should work. If you tell me what OS you are using, I can try to reproduce the problem.

Some signals are unipolar and others bipolar. I tried to go for the most common uses of the signals in deciding which to make them. I think this could be explained better in the manual.

Hopefully the pan modulation you describe is not too tedious to set up with the aid of the animated dials. looking at the four signal values all at once in the dial, you should be able to dial in the amount of modulation you want quite quickly.

The lack of fine tuning of small amounts of modulation is a problem sometimes. I would like to add a numerical mode for precise control when it's needed.

Welcome aboard, and thanks for the feedback and ideas. I'm always trying to find ways to do things better. I've thought that some time down the road it would be cool to be able to interpolate between presets, so maybe the "advanced preset browser" can be the same UI that allows that.

There is one big Kaivo optimization I plan to do, which will put each voice on a separate core of your computer. This should make a lot of difference on your quad core CPU. It's not a simple change and I have some other things to finish first, but it's definitely on my roadmap, so please hang in there.

Kaivo should also benefit a little from the next update where it gets the features I've been adding to Aalto. This won't be as dramatic though.

Wow, looks like my post got mangled somehow.

I was trying to say, if you use shorter files, you should be able to make a 2D wavetable with accurate pitch. With anything shorter than a second I was not able to hear pitch errors, so a stack of 4x128 waveforms should be in tune just fine and offer lots of wavetable goodness.

Hi @rydan,

Sorry I dropped the ball on this. It looks like I missed your first message here entirely and I didn't have this issue on my list of Kaivo bugs. There's only one of me and I'm definitely capable of slipping up sometimes, so it doesn't hurt to remind me if you're waiting on an answer. I

With the help of your video I was able to reproduce what you are hearing. I should be able to fix this for the next update. Meanwhile if you use shorter files (

Hi Adrian,

Kaivo will at least get a minor update soon with the many Aalto features that were new in Aalto 1.6. Beyond that I'm not sure what else I can add to Kaivo before my next plugin comes out. I will do the patch / sample installer thing at some time for sure, it's a feature I want very much.

Hi, and welcome.

VST plugins are put in a standard location on your computer so all the different DAWs know where to find them. on Mac OS X that is in (your computer) / (your hard drive) / Library / Audio / Plug-Ins / VST. The installer will put it right there.

To see your Library folder on Mac OS you can hold down the Option key while selecting the “Go” menu from the Finder. Sorry this is a bit complicated, it’s Apple’s decision to make ~/Library hard to access.

There are also some Ableton settings that need to be correct in order to use external VSTs or Audio Units. Here are the relevant docs from Ableton:
Ableton / VST docs

Thanks for the report. Of course Kaivo should sound the same when rendered. So I'll treat this as a bug and investigate.

The audio engine renders the same samples in either case, and I never have heard any difference in testing. My first guess is this is a problem with MIDI notes or controllers not being played back correctly.

You could try different buffer settings in Live to see if there is any difference.