Old 21st January 2002, 19:12   #1
Rovastar
Moderator
 
Join Date: Jun 2001
Location: London, England
Posts: 3,632
Send a message via AIM to Rovastar
Request

Hi there all. I have been looking at some more beat reactive stuff in MD.

If you look at some of my Encounters series that I have done over a certain time period (eg. if(above(sin(time/5),0),..,..) different effects happen.

This is fine but it is not beat reactive. Is there an easy way (or any way) of on a beat doing an effect for a set time period.

Getting the beat is easy above(bass_att,1.2) or something also getting the time period is easy above(sin(time),0) but can we combine the too.

I nearly get there with some complex equations but always fails. An I missing something obvious or cannot it not be done with MD.

If it cannot be done what 'feature request' will have to be asked. Something sensible that can be easliy implemented. Some sort of scripting within MD?!?

Cheers,

Rovastar

"Rules are for the guidance of wisemen and the obedience of fools"

Visuals - Morphyre www.Morphyre.com
Rovastar is offline   Reply With Quote
Old 22nd January 2002, 04:23   #2
Krash
Major Dude
 
Krash's Avatar
 
Join Date: Jun 2001
Location: Sydney, Australia
Posts: 977
so what we're after, is when we detect a beat, do a particular thing for say, half a second, or whatever?

beatdetected = if(above(bass_att,1.2),time,beatdetected);
zoom = if(below(time-beatdetected,5),effect1,effect2);

feel free to substitute whatever form of beat detection you wish.

- Krash
Krash is offline   Reply With Quote
Old 22nd January 2002, 21:51   #3
Rovastar
Moderator
 
Join Date: Jun 2001
Location: London, England
Posts: 3,632
Send a message via AIM to Rovastar
That might be it Krash I will have a look a little later and let you know.
Cheers

"Rules are for the guidance of wisemen and the obedience of fools"

Visuals - Morphyre www.Morphyre.com
Rovastar is offline   Reply With Quote
Old 23rd January 2002, 04:00   #4
Rovastar
Moderator
 
Join Date: Jun 2001
Location: London, England
Posts: 3,632
Send a message via AIM to Rovastar
That didn't work folks.

Not very clear about what I wanted.

Thanks for that but I am not sure if that really helps me.
Arrr reading back what I posted I wasn't clear.
I want say 1 sec for effect1 then on a beat change to effect2 for a least 1 sec then on the beat change back to effect 1 for at least 1 sec then on a beat,etc. Is that clear?!?!

eg zoom in for 1 sec and stay zoom in until bass_att > 1.2 then zoom out for 1 sec and stay zoomed out until bass_att>1.2 then back to zoom in for 1 sec, etc.

Sounds easy, eh?

Krash is help me at the moment but has anyone else got any ideas?

Rovastar

"Rules are for the guidance of wisemen and the obedience of fools"

Visuals - Morphyre www.Morphyre.com
Rovastar is offline   Reply With Quote
Old 23rd January 2002, 15:22   #5
StudioMusic
Major Dude
 
Join Date: Sep 2001
Location: Southern California
Posts: 852
Rova, it all makes sense to me, but I am afraid I can not help you at this time, give me another six month's to a year and then maybe. SM
StudioMusic is offline   Reply With Quote
Old 23rd January 2002, 23:11   #6
Rovastar
Moderator
 
Join Date: Jun 2001
Location: London, England
Posts: 3,632
Send a message via AIM to Rovastar
I expect the solution of you by Christmas then SM.

"Rules are for the guidance of wisemen and the obedience of fools"

Visuals - Morphyre www.Morphyre.com
Rovastar is offline   Reply With Quote
Old 24th January 2002, 02:40   #7
Zylot
Major Dude
 
Zylot's Avatar
 
Join Date: Jul 2001
Location: Pa, US(of)A
Posts: 804
Idea, since I don't have milkdrop handy right now I can't give you an exact solution.

Set a variable to keep track of what effect you want:

after using Krash's effect for beat detection have the effect variable become a random (or sequenced) number and keep it that way till the next time the beat changes.

-------------
What do you wish for?
--Instrumentality
Zylot is offline   Reply With Quote
Old 24th January 2002, 03:07   #8
Rovastar
Moderator
 
Join Date: Jun 2001
Location: London, England
Posts: 3,632
Send a message via AIM to Rovastar
Thanks Krash that it.


Krash told me:

ok_to_change = if(above(time,beat_time+1),1,0); <-- the +1 is the minimum time between swaps in seconds)
beat_time = if(above(bass_att,1.2),if(ok_to_change,time,beat_time),beat_time); <-- only detect a beat if ok_to_change is 1.
effect = if(equal(time,beat_time),abs(effect-1),effect); <-- swap effect between 0 and 1 when a beat is detected.
wave_x = effect; <-- just so you can see what's happening.


That appears to do exactly what I wanted it to do.

Now tommorrow I will write a preset based on it.

Rovastar

"Rules are for the guidance of wisemen and the obedience of fools"

Visuals - Morphyre www.Morphyre.com
Rovastar is offline   Reply With Quote
Old 24th January 2002, 15:31   #9
Krash
Major Dude
 
Krash's Avatar
 
Join Date: Jun 2001
Location: Sydney, Australia
Posts: 977
Excellent. I'm looking forward to it =]
Krash is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Visualizations > MilkDrop > MilkDrop Presets

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump