The New Clockophone Project.


(Clockmender) #1

Now that I have my MIDI Bake Node working pretty reliably and tested on some multi-channel MIDI files (see my entry in the Animations Section here) I have decided to give it a proper workout by taking on a complex modelling project all to be driven by Animation Nodes and my MIDI Bake Node: :eyebrowlift:


Here is where I have got to so far. The term “Clockophone” derives from two words; “clock” and “phone” the first implies a “clockwork” mechanism and the second is from the Greek “phonos” or sound. So it is a device that makes sound and is driven by a clockwork mechanism. Clockophones first appeared in the early 19th century, the model I am hoping to reproduce was made in 1856 and continued to be developed up to 1939, when a little skirmish in Europe halted development and led to the piece being lost in a bombing raid.

In the early days they were “programmed” by hand and a fan-fold card of played notes (achieved by punching holes in the card) activated the instruments within the device. The clockwork mechanism was there to provide for the timing and was driven by a large weight. It had a variable length pendulum that “kept the beat” (much like a metronome) and hand cranked bellows (operated by one’s servants) to provide air for the organ pipes and other wind instruments. Mechanical power for the percussion, etc. was also provided by one’s servants turning capstans - much like they used on old sailing ships to raise the anchor.

These devices were developed over time to take account of new technologies - such as a steam engine to provide power instead of servants - more politically correct I think - and during the early 20th century, valve electronics to augment/replace some of the instruments, lamps to replace the candles and electric motors to replace the steam engine, which had to be kept well away from the room where the instrument was housed due to the noise - this was also true for the servants, but for different reasons.

Clockophones were very expensive and ornate pieces, this one, the “Invicta” was heavily gilded, with about 27.5Kg of gold leaf used in total. Below is a detail of the clock face - this counted the bars of music played and is derived from the Beats Per Minute and the Timing Signature of the piece, so the larger hand counts bars and the smaller one counts hundreds of bars. The cherubs on top (there are 13 of them, so the machine was clearly not designed by a God-fearing person) play trumpets and raise them when each one plays a note:


This image also shows the pendulum with the weight about half way up - the nearer the top the faster it goes.

In this modern world, we now have the Clockophone controlled by modern computers and in the top image you see “Honey” at the keyboard and she has a MacBook and two screens. She is currently programming one of the channels and will remain in this position until I get a lot more made. Honey has appeared in a previous work of mine where she proved to be very capable, if a little feisty and at times, very rude! I am hoping she behaves a little better this time. :eek:

So here we have it started, I will be choosing a suitable piece of music shortly for the animation, which will determine how many channels I must animate. This particular Clockophone had a great variety of instruments and displays available, including a small train that went around its front stage (not made yet) that carried some percussion pieces. General construction was a wooden frame, extensive carving and ornate plasterwork, with some cast brackets, adornments, etc. I hope to be able to reproduce these all in fine detail as befits the original instrument.

Cheers, Clock. :stuck_out_tongue:


(Clockmender) #2

Some Progress:


Organ pipes added and train track - many of the materials are just place holders for now. I have also got the clock face working - this counts the bars based upon the Time Signature and Beats Per Minute derived from the MIDI file by my MIDI Bake node. I also have the pendulum swinging and the weight moving, again derived from the Beats Per Minute and Offset values from my MIDI Bake node. Offset is the start frame for the music based animation, I have the option to move this up the timeline so the music doesn’t start on frame 1.

Here is the Node Tree to do all that:


Some of the expressions got a little long… :spin:

Cheers, Clock. :slight_smile:

PS. If anyone else has some pictures or drawings of this model, please let me know. :yes:


(Speed7) #3

Hey Clock

Long time no speak, trust you are well, looking good, will follow with interest and decorum. :evilgrin:

Best Regards

Shaun


(Clockmender) #4

Hi Shaun, where have you been all this time, I thought you had fallen of the planet!

I am well, but have been very busy making MIDI sync nodes for Animation Nodes so I can animate to music once more without having to have Blender 2.49 on my Mac to get the animations done. The old script was a little clunky, but my new one seems to work well - I have a few examples in a thread in the Animations section here.

Anyway I am visiting your country in January - departing Southampton early Jan to arrive in Capetown later that month on the Queen Mary 2 with stops in Tenerife, Madeira and Namibia.

What are you up to Blender wise these days?

Take care, Clock.

PS. You and decorum in the same sentence doesn’t seem to fit too well… :evilgrin:


(Speed7) #5

Hey Clock

Spent the best of the 1st part of the year struggling with health issues, seem to be over it now.

You are going to love Cape Town, everyone who goes there cannot believe the place. Maybe you will not want to leave!
Namibia is also a stunning place, I spent nearly a year and a half there when i was in the military. Pity you will have missed
''The October Fest". If you do not know about it, there are more than a handful of Germans in Windhoek, The Fest is normally
in the 1st week of October. More beer that one man can drink in a lifetime. Bratwurst and Sauerkraut aplenty as well, if you are
so inclined.

Tried my hand at a bit of modelling a little while ago. https://blenderartists.org/forum/showthread.php?440001-X-Wing

Busy with a Star Destroyer at the moment, but not enough done to start a thread.

Ah Well, Ahem, Honey is one of my favourite little @%&^(&(#&. Nice young lady.

Regards

Shaun


(Clockmender) #6

I like the X Fighter, look forward to seeing the next project. Glad you are feeling better! But that will not last if I tell Honey what you said - she may be cute and have a nice ass :eyebrowlift: but she also has a fiery temper, fortunately I have not connected her Mac to the internet, so she cannot read what we write - yet! :evilgrin:

So, here is some progress, I have added and rigged the clock mechanism - this provides all the timings for the device:


I have still to add the master shaft down to the sequencer module, two bevel gear trains and some other bits, then I must add the sides for the clock and some mounting brackets, etc.

Here is the node tree to do this, fed from the MIDI Bake Node: :spin:


The cord runs off the grooved drum in time with the speed of the clock, which is governed by the BPM derived from the MIDI file. I have yet to choose some music, I am guessing it must be a classical piece, but some “thrash-metal” might also appeal to my somewhat off-the-wall sense of humour :stuck_out_tongue:

And here is an overview of progress to date:


I am really happy with AN to animate the clock mechanism, much easier than my former method using drivers and far easier to alter if I add new bits. :yes:

Cheers, Clock. :wink:

EDIT:

I am sad to see nobody spotted the error in my first node tree image…


(ajcdfin) #7

That is because you are the Master and we are just the students !!
A very ambitious project indeed, as always looking forward to this. BTW where has your website gone ?

Cheers, Andy


(Carel de Winter) #8

Looks great, and is totally nuts!


(robbur) #9

It must have taken some serious study to get that deep into rigging automated animations. I have done a couple of simple mechanical rigs but couldn’t begin to comprehend the complexity of something like this. You should write a book on how you build all these complex controls for mechanical rigs.

I am eagerly awaiting the first animation.


(Clockmender) #10

Thank you all for the kind comment chaps!

@ ajcdfin:

Now you have embarrassed me :o I don’t classify myself as a “Master”, but I enjoy these mechanical models!

On the website front, TalkTalkBusiness (my former ISP) wrecked the website by deleting all the pages and when I contacted them just said “bad luck, we don’t support this anyway” - odd and one of the reasons why I changed ISP’s. I have not had time to rebuild it yet…

The error was that the “Separate Euler” node in the middle was working in Radians not degrees, I forgot to check the “Use Degrees” box.

@Carel De Winter:

I am not sure whether the projects is “nuts” or whether I am, maybe both. :spin:

@robbur:

I tend to take a piecemeal approach to these AN rigs, just do one bit at a time and then the node tree just builds up. I also tend to label the nodes so I know what they do, it makes life easier later on as the complexity grows. I intend to document the process on my website, once I find a good host and have some time to do it properly. I really like Animation Nodes - it provides good framework and is easier to do as a procedural process rather than using drivers/constraints and keyframes. :slight_smile:

Here is an update:


I have added the drive shaft to the sequencer, some more AN nodes to control it and the grand piano. It seems there are several piano/organ WIPs at the moment, I wonder if others are going to get their projects to play music, if so I will make my MIDI nodes available to use. They are in Alpha testing just now, I want to make sure I cannot break the code before I release it officially. Testing is going well, the latest video on my YouTube channel was all done with my MIDI Bake node and a few other little node trees… I have the system driving location, rotation and scale factors along with both single and multiple shapekeys - oh yes and material changes as well. :slight_smile:

The piano won’t have an internal frame and strings, I don’t think that would add to the project, but it will have a “card reader” that is supposed to represent how the original machine was animated - this will feature a moving image taken from Reason Sequencer window and some drive motors, etc. The project is really about MIDI Sync animation not “can I model an accurate grand piano”.

Next thing to add is the double bass - with a curious device to hold the notes on the strings - a mimic of a hand if you like and a device to pluck the strings. I know how I want to do this, just have to build it!

After that I will make a short video to show the piano and double bass being played. I think I will use the piano and bass tracks from my rendition of Scott Joplin’s Maple Leaf Rag as the MIDI source. It will be interesting to see how many people claim the Copyright this time - it was 15 for my own version of The First Time Ever I Saw Your Face on my last video, with Sony being successful on YouTube and saying they will “monetize” the video, whatever that means, it is not an English word… I guess they mean they will add shitty adverts to it.:mad:

Thanks for all the interest in this! :yes:

Cheers, Clock.

EDIT:

I am also going to animate Honey so she plays her “input” keyboard as a test, this is quite complex as I have to move her hands and fingers in time with the notes played, but one of her fingers will play multiple notes, so I have to come up with a schema to do that, not easy me thinks!


(Speed7) #11

I am actually not surprised at all that I missed it, :eek: struggle to make a glossy shader, let alone the stuff that you are busy with here, well above my pay grade. Higher grade stuff. :yes:

I am actually just here to see the vid where Honey shakes her arse. I mean plays the keyboard.

On a more serious note, what you are doing here is really nice. Super also that you will share with the community.

PS: You asked if anyone had some pics of the Clockophone (so you know the friend in need, I went dutifully searching the web and came up with zilch). So…need to ask, are you taking the Michael out of us? :evilgrin:

Regards

Shaun


(Clockmender) #12

Extract the Michael - who Moi? that would be most out of character now wouldn’t it… :stuck_out_tongue:

So now I have my Double Bass - I haven’t got around to the wood grain yet:


The little red light, no - it does not signify a brothel :eek: - pulses with the beat from the MIDI file, I haven’t decided where to put it yet, so I just stuck it in the lower gearbox, here are the node bits that does the pulsing using the Frame No and the BPM from my MIDI Bake Node:


And I have animated the piano keys to Make Leaf Rag, here are the node bits for that:


It uses my standard Loop to rotate the keys as seen in previous posts on my thread in the Animations Section. The various output sockets go off to other bits to drive various things, including the beat light, pendulum and clock mechanism.

Cheers, Clock. :eyebrowlift:


(Clockmender) #13

More Progress:

Whilst I sat at home today wondering what to do - there was a really low cloud-base, so I couldn’t go flying :no: I did some more modelling and programming:


I have added the “player” for the Double Bass, some history; in 1848 William Arthur Norris Kinematics Ltd. developed a device to play the 'Cello called a 'Cellomatic - why is there a ’ in front of it, well the proper name is a Violin-Cello - that’s why. :yes: This device would hold down the strings using rubber ended fingers and play the bow across the correct string, a most ingenious device indeed and revolutionary for its time. The device could be scaled up to accommodate a double bass as was installed on the original “Invicta”.

In order to reproduce this I had to make a fairly complicated armature to depress the fingers on the correct notes as output from my MIDI Bake node and also move the bow onto the correct string for the note played. This involved also writing 30 lines of Python script to get the correct string from the notes played and also to swing the bow from side to side. I learnt some more Python, some more bpy.data. blah blah blah stuff and my neighbours learnt some more Anglo-Saxon swear words. :eyebrowlift:

Whilst experimenting I found a really annoying bug/feature in Blender, if you make an object, then rotate it about it’s X axis and don’t apply the rotation, then try to rotate it about it’s own local Z axis (key R ZZ, etc) it changes all three rotation boxes - f***ing annoying as you cannot then animate it using AN Transform Output node, grrrr :mad: Oh well, used an armature instead, easy to drive from AN.

Here’s a rather grainy screen image of the neck:


Next, I will transfer the project to my server and render a Piano and Double Bass exert from Maple Leaf Rag.

Cheers, Clock. :slight_smile:


(Speed7) #14

Clock you are man of many talents. I am left somewhat bemused by much of what you are writing here, Python, nodes and the like, but it is certainly looking good. :yes:

I do have some thoughts however on where to put the red flashing light. :evilgrin:

Regards

Shaun


(ajcdfin) #15

Whilst experimenting I found a really annoying bug/feature in Blender, if you make an object, then rotate it about it’s X axis and don’t apply the rotation, then try to rotate it about it’s own local Z axis (key R ZZ, etc) it changes all three rotation boxes - f***ing annoying as you cannot then animate it using AN Transform Output node, grrrr :mad: Oh well, used an armature instead, easy to drive from AN.

Hey, If I remember correctly that has always been the case, and i’m talking back in 2.4x, but I know nothing about AN. Some of the more knowledgeable people here could set the record straight… I am with Speed7, You have takin this to a new level in my opinion. Wishing you all the best


(Clockmender) #16

Thanks for saying so my friend, that is most kind.

AN only has a Transform Output node that works in Global axes, it would be really nice if it could be persuaded to work in Local axes, maybe I should have a word with Jacques (writer of AN).

I also got to thinking that MIDI and AN could be used to animate non-musical animations, so you would sit at your keyboard and press various notes, like for a digger, c3 could be “bucket up”, d3 could be “bucket down”, e3 could be “bucket forwards”, f3 could be “bucket backwards”, etc. then over a period of time you press each key for so long, then use the MIDI Sync node to animate in Blender, no more tedious time-based keyframing! On one test I baked curves from one MIDI file with 5,000 odd note events over 57 separate notes, it took my node under 2 seconds to animate everything. Just a thought…

Cheers, Clock.

PS. @Speed7 - I am not even going to ask where you think the red light should go, because I fear the answer might involve rectal surgery, or something similar…


(Clockmender) #17

I forgot to say last time…

Top Tip No 5:


How to feed your animation node tree with the Frames Per Second as stored in your blend file. :slight_smile:

Cheers, Clock.


(Clockmender) #18

Here’s one for my good friend Shaun: :stuck_out_tongue:


Oh BTW, the node above with the FPS in it is an “Expression” Node. :eyebrowlift:

Cheers, Clock. :slight_smile:


(Speed7) #19

Thanks Clock

I really like those two monitors she has there, nice big screens, 38C?

Regards

Shaun


(Clockmender) #20

That’s for me to know and you to guess at… :D:D

Next video currently cooking - it will show between 1500 and 2000 frames of Maple Leaf Rag piano and bass. It is currently taking about 2 min 20 secs per frame on my server.

Cheers, Clock. :eyebrowlift: