“Slippery Focus Wobble” is a new camera script for Canon cameras with CHDK firmware.
This new script eases some of the jarring motion of my previous focus wobble script. It slides from one randomly selected focal point to the next in user defined increments.
I’m getting ready to shoot the “Combat” music video soon … and this script will hopefully get some good use.
Below is a comparison of the Focus Wobble script vs. the new Slippery Focus Wobble script.
Original Recipe Focus Wobble
Double Click to Play:
New Slippery Focus Wobble
Double Click to Play:
My batteries died while shooting these so one is a few frames shy of the other …
It was a cloudy day here in ol’ PDX, although it was nice and warm. I decided to fire up my still camera and shoot some of the nice big clouds puffing across the sky.
Here is a little time lapse movie I made with a fast interval timer script and my Canon A640. Each different shot is 40 seconds of real time.
Soundtrack created with some help from SKdrummer and SK-crooner.
~3.8mb
Double click to play:
It also rained quite a bit tonight. I took this picture with a flash after white balancing on a can of Pabst … rain drops in mid-air.
The user inputs the amount of time in minute and seconds they want to capture. Then they put in the length of the final shot to be created and its frame rate. Presto chango! The camera starts to film the scene at the approriate time interval.
You can tell the camera you want to compress one hour into a ten second film that you will stitch together at 24 frames a second … and so on. You CAN’T have the camera shoot less than every 2 or 3 seconds. It will get really funky.
@title Time Bandit
@param b Time to capture (min)
@default b 0
@param c Time to capture (sec)
@default c 0
@param e Time output (min)
@default e 0
@param f Time output (sec)
@default f 0
@param g frame rate
@default g 24
c=c*1000
b=b*60000
e=e*60000
f=f*1000
t=b+c
o=e+f
o=o/1000
o=o*g
print “# of frames “,o
t=t/o
w=(t/1000)*o
for s = 1 to o
print “shot # “,s,” of “,o
print “Waiting about “,(t/1000),” sec”
print “About ” , w/60; “min”, ” left”
shoot
sleep (t-3000)
w=(t/1000)*(o-s-1)
next s
Problems:
1)uBasic can’t do decimal numbers. 5/2=2. Not good. When estimating the time left to display to the user, it can be really off because of this. (That’s why the script says “About “) The time units calculated are good - it just doesn’t give and accurate report to you - the human.
2)I can’t seem to get it to understand hours. The number in milliseconds may be too large for it to understand.
In the video below, I set the script to turn one hour into ten seconds. The movie below actually caries over for a few minutes. This has been corrected (to a certain degree) in the script above. I recommend shooting with a fixed focus, so that the time it takes to focus is not added into the mix - lengthing your shooting period.
I have improved the Focus Wobble script for my Canon A640. Thanks to PhyrePhox over on the CHDK forum, I can actually pull random numbers based on the system clock (at least I think that’s where they are from..).
Here is the new and improved script:
@title Focus Wobble
@param a Focus wobble +/- (mm)
@default a 50
@param b # of frames
@default b 48
a=a*2
get_focus f
print “Current focus “,f,”mm”
sleep 2000
g=f
for s = 1 to b
random z
x=z%(a)
g=f-(a/2)+x
if g<0 then let g=0
set_focus g
print "Shot ",s," focus ",g,"mm"
shoot
next s
I tested it out today. The wobble was set at +/- 50mm which is pretty drastic at such close range. I might also modify it to hold in a certain random zone for a few frames so it is less jarring. Maybe I’ll have it slide around a certain value for a while.
Or maybe I’ll just keep it as is!
I’ve also started working a script I’m calling “Time Bandit” that allows you to shoot time lapse based on how long the event is, how long your final movie will be, and your frame rate.
I shot some time lapse from the back seat of the car while Liz and I were driving through the Columbia Gorge.
I was at f 8.0 and shooting about three frames per second. The simulated speed is about 4,800 mph.
I used my zoom jump script and had it bump up to the next zoom every 3 or four seconds (72 or 96 frames).
The camera gobbled up two sets of rechargeable batteries in the process.
I have an idea for a new camera script that does some computations for you, to take out some of the guesswork of timing the interval between shots to achieve a certain frame rate. More on that later!
I wrote a timelapse random focus wobble script today with some help from someone over on the CHDK forum. I was able to create a pseudo-random number sequence using a linear feedback shift register.
You can see a patern develope in the randomness in the way the shots pulse. The script needs more work.
This effect will be used in portions of the video for the song “Combat”.
My code looks like this so far:
@title Macro Focus Wobble
@param b # of pics
@param f divisor
get_focus a
c = 1
for g=0 to b
z=a
gosub “lfsr8″
j=c/f
z=z-256/f+j
if z<0 then let z=c
set_focus z
print "focus= ", z,"mm"
print "pic # ",g
shoot
next g
end
:lfsr8
if (c & 1) = 1 then
c = (c/2) ^ 142
else
c = c / 2
endif
return
The divisor sets how much the random sequence effects the random change in focus.
~2mb
Double click to play:
I also got a special package in the mail today that I’m really excited about!!!