randy's Recent Posts

also, feeding multiple voices into the Seq Rate when host-sync'd should sync the dif voices to multiple timing divisions.

doesn't this work? Can you send me a patch where you tried this?

You may have noticed there are three possible sources of oscillations for modulation: the sequencer, the LFO and the ENV2 in repeat mode. These offer a lot of possibilities! So there will be only the one LFO proper, but if you want 3 LFOs for some reason, you have them. This basic design won't change.

I might add more flexibility to the LFO in v.2. It's not as easy as it seems, because other shapes besides sine potentially cause lots of aliasing in the things they modulate.

Are there any parameters that can be changed?

Nope, it is what it is. Kind of like the reverb in an old semi-modular synth like the arp 2600... If you want a full-featured reverb I like the ones from ValhallaDSP!

Hi Thetechnobear, thanks for the comments.

I have been wrestling with the sample Import window for a little while now. In some form it will definitely make it into the 1.1 release. This first version will just let you quickly copy other kinds of sound files to WAV format where they belong and clip them to 8 seconds. In future versions I'd love to add the capability to combine tracks from multiple files.

I hear you about getting sounds in quickly. You can drag and drop into the import window, which should help.

thx!

Yup. Thanks for the report.

I am happy to offer an educational discount. Email me for details.

Thanks for the details.

Last time I checked, there was no way around this issue in Logic. The problem is that Logic's automation does not respond properly to logarithmic ranges in Audio Unit parameters. It does OK with its internal synth plugins, but not Audio Units. Go figure.

A good workaround exists: just send a MIDI control to Aalto and route that controller to one of the "mod" sources in the key module. (use mod cc# to select the base channel for the three outputs.) Then you can patch that control to the frequency or wherever you like. It should be sample-accurate (even when MIDI automation is not) and smoothed as a plus.

Thanks for the ideas. I'll think about how Aalto would work with a monome. I really should get one. A patching controller with an attenuverter dial controller on each output would be great!

No discount for Aalto users? :)

nope.

... and they were delicious!

just kidding, the Scales moved along with the presets directories from /Library (system library) to ~/Library (user library.) You can get here from the Finder "Go" menu by holding down the option key. Then from there it's /Audio/Presets/Madrona Labs.

Thx for the feedback.

Hmm, maybe thinking about the arc or other particular controllers will be a useful way of getting at this problem.

Yes, I see the issue. Let's say that the position of each voice is a fractional number from 0.0 to 15.9999... The initial position on trigger is set to 15.9999 so that when you start the sequencer, it plays the first trigger the first time through. A trigger only works when it goes from low to hi, so the voice has to actually /cross/ 0.

So, fixing a problem with triggers and timing created the more obscure problem you see here. I'm sure there is a way to get both kinds of desirable behavior to happen with some work. I'll look at this when I give the sequencer some attention soon.

Oh jeez the bug spreadsheet is way out of date, it didn't really make it into my workflow, thanks for reminding me about it.

Nice patch BTW!

I hear you. I am working on updates for both Aalto and Kaivo to ship ASAP. This is an important issue.

I haven't heard of this problem before. I will investigate for the upcoming updates.

This will definitely be host-related so tell me what host and what version of it you are using!

I've thought a lot about a fully modular product to do in the future. It would be nice to have some low-level capability in it for people with your desires to get down and dirty. I'll add that to the long list...

Advice to a new DSP programmer is a subject I could go on about for a long time! Here are a few ideas:

  • get a programming environment that allows fast iterations.

The design -> write -> compile -> test cycle is something you will go through thousands and thousands of times, so if you have to do something else for a minute while you compile, it's a real drag. I use C++ for speed of the finished product, but I think that some more interactive ways of playing with low-level sound are out there and I would recommend them more highly as learning tools.

  • find a project you want to do and move toward it incrementally.

Having a goal is important for learning even if you don't get there. There are infinite possibilities, so it's real easy to get lost just playing around. But be sure to start with small steps toward the goal so you don't get discouraged!

  • learn some of the underlying math pretty well.

Check out some intro. to DSP programming books. I don't have a specific one I can recommend. But lots cover the basics well. You should be able to push meaningful symbols around on paper that describe the frequency domain, and transformations like the FFT, and the bilinear transform. This stuff is not as hard as it might seem, if you step away from the computer and give yourself plenty of time. And once you do know it, it opens so many doors in your head, to think realistically about what will be possible to do in the digital domain.

The audio interface prototype I built was great for experimenting, but I wouldn't want it for an instrument. Too noisy, unwieldy.

I'll recommend that you start with building a one or two pressure-point device, which is something you could read with an Arduino. This will give you experience in building and what materials to use. And time to think and research more about your instrument.

An Arduino doesn't have the computing power needed to do something like you eventually want, or a Soundplane.

Since you are going more for string emulation, you may be willing to sacrifice the true general multitouch capability of the Soundplane for a one-note-per string solution. This might be easier.

I have not tried Eigenharp so I'll defer to others here! It looks like a very well thought-out instrument.

It's true Kaivo is using only one core. I expect to get a huge speed boost when I can do the work to allocate one voice per core. However, it's a non-trivial task and I wanted to get Kaivo out ASAP.

Please hang in there and look forward to speed improvements, as well as more body and resonator types down the road.

Thanks for the feedback, I'll kick this around for v.2 ideas.

It's not really a problem but it does look a little funny, I'll correct it if I get a chance.

Yes, I released it at one point but didn't keep it up to date. It's coming back soon as part of a new open software project.

Hey, thanks for the feedback.

You can already achieve this in Kaivo, by using the noise module to create a random value for each trigger, then sending that value to the sequencer step offset.

I can see it would be cool to do this without using up the noise module, and also to allow it in Aalto. I have some sequencer enhancements planned for v.2 that should cover this and more.

i'll try to get all these done by next week.

Thanks very much for the clear description. One person was reporting this but I could never reproduce it. Now I have a better chance.

Will investigate, thanks.

OK.

I think a synth and an effect are different things, design-wise. So I'll make this possible in the future, but in a different product.