I've just posted a public beta of Vutu for MacOS. Vutu is the sound analysis program for the upcoming Sumu synthesizer.
A Vutu quickstart video is also online now. I haven't had a chance to write any better documentation yet, and I"m not sure I will before I get the Sumu beta out. However, Vutu in its current form is pretty simple anyway, and most of what you need to know you can find out by fooling around with the dials and listening and looking.
Vutu analyzes sounds using Loris, developed by Kelly Fitz and Lippold Haken at the CERL Sound Group. A detailed intro to Loris is available on Hakenaudio.com: Current Research in Real-time Sound Morphing More publications are also linked from the CERL Sound Group Loris page. Loris is distributed under the GNU General Public License (GPL) and thus, Vutu is also. Vutu's source is available on Github.
Vutu is built on a cross-platform GUI framework I developed called mlvg. Compiling it for Windows and Linux should therefore be a reasonably easy task, but I know there will be a bunch of details to iron out, so I'm not taking that on until after I can make a Sumu beta.
That was a lot of info and links. Why would you want to play with Vutu right now? Some reasons might be:
- You want to get started making your own sound bank for Sumu.
- You have to try out the newest audio software, whatever it is, and this was just released today.
- You enjoy looking at bandwidth-enhanced partials and hearing odd noises.
Each voice of Sumu will be able to play back 64 bandwidth-enhanced partials simultaneously. A bandwidth-enhanced partial is basically a single sine wave, modulated with noise. So at any given instant of time, in addition to frequency, amplitude and phase, it also has a bandwidth, or noisiness. Making sounds out of such partials is a very powerful technique, and I think it's pretty easy to grasp. What's been difficult about additive synthesis is the large amount of control data that's needed. How do you generate it all? My answer in Sumu is to use the familiar patchable interface, but extended so that each patch cord carries separate signals for each partial. This allows sound design in a playful, exploratory way that should be familiar to any modular user. Honestly I think it will be fun as hell.
Thanks to Kelly Fitz and Lippold Haken for creating and sharing Loris. Thanks also to Greg Wuller for helping me get going with the Loris source code, and for utu, which became Vutu. Utu is a Finnish word for "mist" or "fog", like Sumu. Vutu is short for visual utu.
A Metal-capable Mac running MacOS 10.14 (Mojave) or greater.
Vutu is native for Intel and Apple Silicon.
Since it's an analyzer and not a real-time program (except for playing the results), CPU doesn't really matter.
I'm on Windows so I can't try it yet. Is FLAC import supported? If not, would you consider adding it?
Yes, I could add that at some point.
Amazing work !!
Is there a way to signup for the SUMU beta whenever it arrives ?
I've been looking for another additive synth for ages and I'm hyped. seeing your work on Vutu is super nice
Absolutely fantastic.! It works perfectly well. Thanks for sharing. How it will be the the real-time use of this in Sumu? How many Voices?
There's no need to sign up for the beta, I'll announce when it's available via the website.
Sumu voices: I'm not totally sure!
Unbelievably exciting! Thanks so much, Randy! And thanks to Kelly Fitz and Lippold Haken as well. This is a really wonderful development. Can't wait for Sumu, but am at the same happy to wait as long as it takes!
is the link to the .dmg down? i can't download vutu from the link you posted @randy.
Works for me. Did you save the link or something? It will change whenever the version changes.
it seems that chrome blocks the download, at least that's what my browser is telling me. with "save as" and a click on exemption it worked however! cheers
Glad that works. Everyone wants to protect you from evil people like me who might try to give you a computer program.
Hi Randy. Working great and sounding great.
I do get a crash every time when attempting to import a previously created JSON of partials. (v0.9.4)
Out of interest is Sumu going to work with both noise bandwidth and phase or this for completeness when using other additive targets?
Interesting to see that time data points are specific to a single partial rather than time slices across all partials. I'm trying to cajole the data to work with sinusoids~ in Max but it has to be resampled to work in slices.
Excited to hear how Sumu sounds.
Huh, I changed the extension to .utu and on my machine it doesn't even let you load the .json anymore, so I didnt' find this issue. I'll try to load a .json and fix. Meanwhile if you change your .json to a .utu hopefully it will work?
The noise component is very important to Sumu.
Each time point is corrected for a each partial, starting from the center of the FFT frame then moving forward or backward. So mapping to ~sinusoids might not br worth it. Maybe there's a Loris resynthesis object for Max out there somewhere?
Yes, it's cool!!! Helicopter distant sound great!!!
Super fun!! maybe make a small shared space for partials??
Thanks so much!!!!!
Looking forward to Sumu beta.
Will it be able to run on mac OS 10.13?
It should run on 10.10 and up. But I can't say with certainty until the beta is out.
Thank you Randy.
i have a question about the balance between noise - and harmonic partials in vutu. currently it's not possible to change that balance/relationship. is there a possibility to have this as a control in the resynthesis in a future update? it would be great to only hear the harmonic or the noise partials :)
If you look at the Sumu preview, you can see that and a lot of other manipulations are possible. I guess this is obvious so maybe my idea of the workflow is not obvious:
Vutu: make faithful reproductions of the sound as partials
Sumu: mess those partials up
of course! thanks randy, so excited about sumu:)
Is there a way to export the harmonic data as a standard .txt file for use in Reaktor?
I'd like to analyze the sound and then export a .txt file where it was just plain amplitude data and nothing else, like the first 64 values are the first frame of harmonic data, and the second 64 numbers are the second frame of harmonic data, so I could process sounds for use with the sine bank module in Reaktor.
I Realize that this is open source, but I don't know how to write code.
I'd like to make a version of this that exported .txt file that are compatible with use in Reaktor's sine bank module.
As it is now it outputs .json files with a ton more data for use with the upcoming sumu synth.
I'd love to have a version of this that could output plain .txt file where the first frame is 64/128/256/512 harmonics.
How hard would it be to alter this software to say, note C1 @ 44.1khz (or any other note) and have it slice to single cycle waveform sizes and output a 64/128/256/512 harmonic value map of each wave cycle to quickly create harmonic wavetable data that is compatible with reaktor?
Ideally it would output all this data as a single file.
How hard is it to alter or update something like this?
I've never written code before so I have no idea how to do this, but I would love to have this power applied to my personal projects.
Thanks for open sourcing this so that I've got a chance to pull this off.
It shouldn't be hard. I would try to interest someone else who is a Reaktor user and can write the software. I don't have time to work on it but I'm happy to answer questions.