[sharing is surfing] waveform~ for Mira (kind of)

Mathieu Chamagne's icon

Hi there

for those of us who don't have the chance to surf real waves in the ocean this summer, here is a small waveform~ to surf with your fingertips on your iPad screen.
Waiting for a 'real' waveform~ support in Mira, here is an abstraction that display a buffer~ content (waveform) in a multislider.
Just like in waveform~, you can select display start and length.

Max Patch
Copy patch and select New From Clipboard in Max.

up to you to to find something fun to do when multitouching a waveform :-)

happy surfing

Mathieu

Rodrigo's icon

That looks pretty sweet.

I don't know enough jitter to pull that off, but I think it would better looking if it was only half the waveform, fully shown or even better, half the waveform, fully shown, with an inverted multislider underneath it. So it would look like a 'real' waveform (even though it'd only be the top half of it).

Sam Tarakajian's icon

This is really really awesome. I've made a multislider-as-waveform~ abstraction before, but it didn't include any kind of downsampling. As you can imagine, hilariously ill-defined drawing was the result. Would you mind if I included this in the example patches for mira (all due credit assigned, of course)?

Mathieu Chamagne's icon

thanks !

yes Rodrigo, it would probably look better with only half of the waveform (displaying absolute value of peak amplitude of each segment) ; but when displaying very short waveform (for ex : tri.aif) this would would probably look wrong :-s

Sam : please feel free to use this patch wherever you want ; it's my pleasure to contribute to Mira's advancement !
(this code comes straight from defunct MMF-fantastick (RIP) ; it's cool to see some part of it continue existing thru Mira :-)

Mathieu Chamagne's icon

@Sam : does it mean your not planning to add support for waveform~ in near future ?...

Sam Tarakajian's icon

Not sure. It's complicated by the fact that waveform~ is a very old and somewhat frowsy object, so it's not totally clear how it should talk to Mira. All I know is that short term this is the best workaround I've seen.

Rodrigo's icon

It'd be amazing if there was a waveform(sans tilde) object that was a purely display object (in Max). I don't think I've seen a patch that uses waveform to select/edit a waveform in many many years. It's always just a vizualizer and dropfile identifier.

Wetterberg's icon

Same for the sonogram/spectrogram modes of spectroscope~.

Emmanuel Jourdan's icon

I just posted a new version of ejies which has a ej.buffer2l which get the samples out of buffer, with an example of use for Mira.

Wetterberg's icon

wow, that's really cool :) Emmanuel being epic again.

Mathieu Chamagne's icon

wow +1 !
very nice, thanks Emmanuel :-)

observer's icon

Hi guys
For Emmanuel:
I tried ejies ej.buffer2l in maxforlive but i can't make it work! Maybe it doesn't work in M4L environment?
For Mathieu: How i can display different channels with you mira.waveform?

Thanks anyway for sharing this really good patches!

Mathieu Chamagne's icon

hi
here is another version of this patch with a channel selector :

Max Patch
Copy patch and select New From Clipboard in Max.

observer's icon

Thanks a lot! I found that the ej.buffer2l works in M4L but it seems that it works just when i replace the buffer content with the replace message, i tried live drop and drop file but they doesn't work.... i don't know why!

Jose Navarro's icon

Hey, WOW!, thanks. I was looking for exactly this stuff :-D. Works perfect!