randy's Recent Posts

The +1 and +2 outputs add two more MIDI controllers. They send MIDI CC values m+1 and m+2 into the patcher, where m is the MIDI controller number selected via the "mod" dial.

:-)

I definitely have some plans, but it's a bit soon to talk about them. I would love to see more ideas from different people, of how this ought to work!

Do you have Aalto 1.3.2? This should be fixed in the latest version.

There's a lot going on here at the Labs. While finishing up production on the second run of Soundplanes, I've been able to rewrite the client code that does touch tracking. Here's the result in a very quick and rough demo video. I'm playing a string sound with Aalto over OSC, and simultaneously, a piano with Logic over MIDI.


The new code stores a snapshot of finger pressure at each point on the Soundplane surface. It uses this information to determine what is and what isn't a touch with much better confidence than before. It also normalizes the force over the surface for smoother playing.


Here is a ten minute video walkthrough of the new features, showing how to do the calibration. It picks up a little after I manage to throw away the preferences, but is still probably of interest only to Soundplane owners.

I just uploaded the new client software v0.99. Touch sensitivity over MIDI is finally, very good. I'm working on the additions to the manual to explain the new calibration. Before that I will post a quick walkthrough video. Before that I'll write this:

To get started with v0.99:

First, click "select carriers" on the Expert page to make sure you have the best, least noisy possible carrier set.

Then, click "calibrate tracker" on the expert page and follow the instructions in the status box to the right. Make sure your Soundplane is on a firm, level surface. The object of calibration is to capture the force response across the Soundplane, and capture the shape of a finger touch at each point.

When done calibrating, your Soundplane will return to normal operation. The calibration will be saved with the file "SoundplaneAppState.txt" in Application Support. You should not need to do this "deep" calibration more than one a month or so.

Your Soundplane is now much more sensitive, and also more tolerant to moving around while being played.

There are other new features, which may be self-explanatory. I'm working on the manual to explain them, but if you have any questions in the meantime, I'm here.

Hi, I need more information to help you! First, Mac or Windows?

On Mac, the plugins are always in the same place. On Windows, you have to make sure the install location is correct. You can search on your hard drive for "Aalto" after you install, then make sure the Ableton File / plugin prefs are pointed to that location.

A happy sight: new Soundplane surfaces hot off the laser cutter, ready for sanding and assembly.




These new inlays are mother-of-pearl—photos do not do them justice.




I have never run into this problem. I'll try to reproduce it with a Max patch sending really short MIDI notes.

I think that would work. As always, my advice would be to try a 1x1 junction with the hardware you are thinking of using, and work up from there.

There are many interfaces you could use with the project. It's really open-ended . So yes it's up to you to come up up with as many outputs as you need. You could make a 6x8 surface and use two outputs for sound if you wanted.

The RME I was using had 8x8 plus a headphone out, I think.

There is no filtering on the aftertouch signal. I guess it would be a good thing overall to add it. I'll look at the code and see if there's any reason I can't.

If you use the aftertouch signal with some of the other inputs that have vactrol emulations on them, you will get smoothing there. These are timbre, the gate level and the OSC mod index.

p.s. I'm a newcomer to Aalto. Based on a number of recommendations, audio samples, and fiddling with the demo, I was charmed into adding it to my virtual studio.

Thanks and welcome!

I love the flow of patching in Aalto as I'm jamming, but if I wanted to make adjustments after the fact, I think working with the the connections would be the same issue that faces a hardware modular, the spaghetti monster! :)

You may know this, but the patcher makes it easy to move a single patch cord even if there is a mess of spaghetti going on. If you click repeatedly at one point, you will cycle through selecting all of the patch cords that run through that point. When you see the handles of the one you want, you can drag them to move only that cord.

Sounds like a bug. Thanks for the report---I will look into this.

I would definitely look at Robert Henke’s Granulator patch. It's available for free on his website.

The mesh~ object does waveguide mesh synthesis, so you may not care about that? The process object is there to do scaling and calibration. It doesn't do anything too tricky, just some scaling and filtering. It is an external instead of a Max patch just because it's cleaner and easier to change that way.

What you're doing with the code sounds a bit frustrating with not much tangible results. Why not forget about the Max objects for now and just use patching within Max to make a 1x1 matrix. Then you'll have some experience and something fun to play with. When you get bored of that you can make a 1x8 matrix or something, which could be a really useful tool and also wouldn't need any custom objects.

Within a couple of weeks I'm publishing the source code for the current Soundplane software. This should be much more pleasant to work with. Maybe you could get more people interested in helping with a version of the new Soundplane software that works with your audio interface build.

How do you search this forum!

you can use Google like this: site:madronalabs.com mysearch

Can the default location for the presets be changed?

No.

The wire attachment method is not important, it just has to conduct electricity. Solder it or anything. You will want a multimeter to test the connections.

I am sorry I don't have many more details documented. It's a very open-ended project and there are a lot of decisions you can make yourself. To do this project some experience with circuit building is probably good, so if you can, maybe try to find a friend with that knowledge, or teach yourself from a kit from adafruit or similar.

I recommend to everyone to start with a simple one-point sensor and build up from there.

As you've noticed Aalto can generate signals a lot hotter than 0dB. These are not problematic in themselves. The oscillator generates signals up to 0dB. Then the filter is capable of adding a lot of gain through resonance. In a hardware synthesizer, this extra gain would typically be clipped in the output stage. In Aalto I left it unclipped with the reasoning that you might want to clip it in your own way to add your own choice of color.

If you want the attenuation with no kind of coloring, you can use the input knob to Aalto’s OUTPUT module and turn it down until your signal is within the range you want. This knob is just a multiply, so there isn't really a special range where Aalto’s output is best. I think the choice is more about what you are feeding it into.

I think the range of -18 you are using is a good choice that will make the most of a lot of software processing including the mix bus.

Hi Chris,

Sorry I didn't notice your post until now.

I don't see either of these filtes on my disk and I believe they were renamed, or dead ends. I would try removing the #includes and if the code compiles without them, you are good. If not, let me know what functions seem to be missing and I will get you those!

The relationships between .c(pp) and .h files should be given in the files themselves, in other words what is including what. So order should not matter and if you put them all into a project they should compile.

Sorry for the state of the code! It's fairly old and I guess no one has tried this before. It's good you are on VC++2010 Express because that's what I use for Windows too. When you make your way through this I will definitely post a cleaner version with what you've learned.

Soundplanes 31-60 are now spoken for! If you were waiting to order one, please keep in touch because we plan to make more instruments soon.






Here's a view of the prototype instrument from the second run with an empty cup of coffee---the typical view of my desk. As you can see we got an especially nice batch of veneer this time that is deeply variegated. While we wait on the final surface parts from our fabricators I am working on the Soundplane client code to improve the touch detection. More details soon.

Just use the full version. If you turn the number of voices to 1 you will have exctly the same thing as the Solo version.

Tried it! Nice range of timbres and skronk there.

Sorry, docs are a little behind right now. Here's the list of bullet points, which you probably saw. Very soon I'll work to get the docs updated properly. In the meantime, please post in the forums if you have questions.

1.3.2 changes

  • added new patch save features: quick save as version, save (over existing), revert to saved
  • added revert to saved via MIDI (program change 128)
  • fixed sync problems in sequencer
  • fixed signal viewer cold startup in UI
  • restored bipolar dials in UI

1.3.1 changes

  • fixed automation sticking bugs
  • fixed host sync ratios in Logic
  • new software PLL for tighter host sync
  • fixed "rectified voice" bug in wave folder
  • fixed integer dials behavior
  • fixed possible OSC-related crash in Live
  • fixed patch display on close and reopen
  • brought back preset converter on Mac
  • fixed sequencer offset when stopped
  • fixed sequencer UI range issue

1.3.0 changes

  • redesigned, rewritten, vector-based, smoothly resizeable UI
  • DSP optimizations
  • fixed key stealing in Ableton Live
  • fixed Fxpansion RTAS wrapper compatibility
  • improved dial / mouse wheel ballistics
  • fixed Logic noise burst bug of doom
  • sync by ratios to host sequencer
  • Soundplane/t3d support over with auto-detect MIDI/OSC switch
  • added MIDI program change automation
  • store window location / num / anim prefs with saved data, not patch
  • fix startup / shutdown issues affecting Max/MSP, Reaper
  • KEY: added two MIDI modulation outputs
  • KEY: rearranged knobs for Soundplane/t3d switch
  • SEQ: added random sequence button
  • SEQ: added steps signal input
  • SEQ: allow fine delay time changes in steps of 0.1
  • ENV: increased attack, decay ranges
  • ENV2: added delay, attack signal inputs
  • LFO: add level signal input
  • OSCILLATOR: fix linear pitch input range
  • patcher: fixed sticky signal displays
  • patcher: display bipolar signals as absolute

Aalto 1.3.2 demo and release versions for Mac and Windows are here on the site.


1.3.2 changes:


added new patch save features:

  • quick save as version
  • save (over existing)
  • revert to saved
    added revert to saved via MIDI (program change 128)
    fixed sync problems in sequencer
    fixed signal viewer cold startup in UI
    restored bipolar dials in UI

    The revert to saved via MIDI came out of the workflow discussion we were just having here on the forums, and works especially well within Ableton Live. What you can do with it in Live is set up your clip to set program change 128 upon clip start. Then, Aalto will reset to the previously saved values every time the clip starts. This makes it much easier to tweak the patch while recording a bunch of takes.

    The manual has not yet caught up to the new features----I will do that soon.

    I am sending out a bugfix version for the Beat Special Edition in the next day or so. I will post in the forums when I find out how this is being distributed.

MIDI CC 1->127 should cover the whole range of the parameter. Is that not happening? You could also try the AU, which should deal directly with floating point values from Logic.

Hi Kenshi, yes it's almost time. Eight voices of Aalto is quite heavy still, so I want to do some optimizations first.

I love the patch revision but had something happen

Well this is by design. The worst thing that can happen is to save over an old version by accident. So my first job was to prevent that.

Going to the "end of the line" might be a good solution. Or maybe going in a different direction, like "2b", "2c", ... even.

In general I could think about these things for days to try and get them perfect-- rather I try to throw the features out there when they are immediately useful and gather feedback about were to go next.

Sorry about yr drive!

Wow, thanks for sharing! I can't wait to see what you come up with.