Drawing in 3D in real time from sound?

Oct 12, 2013 at 5:38pm

Drawing in 3D in real time from sound?

Is anyone else drawing in 3D from soundwaves? I posted a few videos here:

http://yofiel.com

#267880
Oct 13, 2013 at 6:17am

I’m doing some basic forms of that. jit.catch and jit.gl.graph stuff. Also using oscillators to drive 3D particle animations. Spiralab looks cool. Would love to play with it. Are you sharing it?

(Btw, the video quality in your player is awful, doesn’t do it much justice ;)

#267915
Oct 14, 2013 at 2:25am

Nice work, Ernest.
I did a 3D image/sound patch a while ago, but I’m not drawing from soundwaves, I’m generating both (audio, image) from a central matrix (http://vimeo.com/29404191).

On a side note, I have to agree that the video quality really isn’t the best.
To make it better maybe you could lower the resolution. Depending on your capture method, the frame rate would probably improve and since your intended low compression data rate doesn’t let the high resolution be seen anyway, you wouldn’t lose any perceived quality.

#267975
Oct 14, 2013 at 8:12am

Thanks for the suggestion. With regards to quality, this was captured from a rendering of many fast-moving single-pixel-width lines at 1920×1080 resolution, and the videos were made to share on Facebook. The poster image was captured from video, so it is also fuzzy, but I will capture some still images over the next month showing the actual quality.

I would be interested in with some other folks, yes. The entire design is very large, and I’m not sure what snippets to share. It includes its own FM synthesizer in Gen, and my next task it so make a custom poly voice allocator. I plan sustained tones with many small notes, and the existing poly allocator truncates the sustained tone because it assigns poly resources round-robin style. I started a custom poly voice allocator with LRU assignment, and it is more difficult than I expected. Here are some screen shots.

Attachments:
  1. mainscreen
  2. alloc
#268017
Oct 14, 2013 at 8:17am

the standard poly~ doesn’t cut it? voices can include jitter objects

#268020
Oct 14, 2013 at 9:34am

Yes, I implemented the jitter in poly~. Say there are three instances in the poly. when receiving notes, the poly object seems to assign the incoming notes in cyclic, or round-robin, order…to instance #:: 1, 2, 3, 1, 2, 3, etc.

Imagine the first note is still sustained when the fourth arrives, but the second and third notes have already been released. The way things are, the fourth note gets assigned to instance 1 and cuts off the sustained note. So a least-recent-note algorithm would instead assign it to the oldest note which has already been turned off. What surprises me is, MAX has been around for– what–30 years now? And still there is no patch I know of which doesn’t assign new notes to poly instances in a cyclic style. Trying to make it in Max, I found it more difficult than I expected, so I am thinking of splitting it out into a separate project. And simply using cyclic voice assignment for separate monophonic sequencers for each rendered instance, at least for now, unless anyone has a better suggestion.

#268026
Oct 14, 2013 at 9:51am

Oh. I did actually get it to work, but then, I tried to modify it so when changing to a new sound, the old notes would continue to play the old sound, and it went wrong somewhere.

#268027
Oct 15, 2013 at 10:40am

Well I updated to Max 6.13, and I am getting new error messages which helped me get it working again. Here is a screenshot, as you can see, the lines are very fine.

Attachments:
  1. demo3
#268140

You must be logged in to reply to this topic.