Forums > Jitter

Drawing in 3D in real time from sound?

October 12, 2013 | 5:38 pm

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

http://yofiel.com



dtr
October 13, 2013 | 6:17 am

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 ;)


October 14, 2013 | 2:25 am

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.


October 14, 2013 | 8:12 am

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


dtr
October 14, 2013 | 8:17 am

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


October 14, 2013 | 9:34 am

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.


October 14, 2013 | 9:51 am

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.


October 15, 2013 | 10:40 am

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

Viewing 8 posts - 1 through 8 (of 8 total)