Bouncing ball lyric techniques


#1

I’ve done some of these before in After Effects. There are different styles. Thinking of doing one in C4d for the first time, and would like to hear from anyone who’s tried some different techniques or has any novel ideas on the subject.

The first kind I did (in After Effects) just had a bpm synced oscillation for the bounce along with deformation of the ball on each bounce, so I just needed to keyframe the horizontal motion to hit the right words.

I’m thinking this time, though, of hitting the word exactly when the word starts, so not on a regular beat. I’d prefer to again be able to just place keyframes on the words and do some sort of automated process to create the bounce between them. I could, of course, put keyframes at a higher Y value and mid x value between the words, but thinking maybe there’s a shortcut to be had.

I’ve also done things like had the ball flip when traveling back to the start of a new line, etc. That was all 2d, though, and interested where possible in making the most of the 3d space.

Any tips, tricks, shortcuts, scripts, etc that I should look at? I have signal, so that should help with some of the synch related tasks.


#2

You could try playing with the cappucino setup to record your mouse movements. Might breathe even more life into it since it will have a human element to the movement.


#3

Definitely hadn’t thought of that one. Not sure it’s the best fit for this time around (or my lackluster mousing skills), but logging it into long term memory as I could see the overall approach being useful at a later time.

Anyone doing this some other way?


#4

@kanicki
Signal could be helpful as you noted.

I would suggest you look at the Sound Effector…Perhaps that can be the basis of something you adapt.


#5

Yeah. Went bonkers with the one in AE. Tied all kinds of things to it and fed it 5 separate synched audio tracks so each controlled a different set of parameters.

Already doing some basic bump to the beat stuff here, but always on the lookout for a more creative use. Hadn’t thought of tying the bouncing ball to it, but sure, could be interesting.


#6

Forgot how cool signal is. Took just a few minutes to set up bouncing ball sync’d to bpm along with some basic deformation. Helps that bpm is divisible by frame count. It usually isn’t.

I don’t think it’s the right look for this vid, though. The lyrics are very syncopated and I’d like to see what it looks like hitting on each word rather than beat. I already have keyframes where each word hits, so ideally I’d like to just enter an x coordinate for each of those, and have it somehow bounce between them to a fixed height adjusting for the different lengths of time between keyframes.

Any tool, script, or other tip that would do something along those lines?


#7

Yes Chris did a nice job w/that plugin. I need to remember to use Signal more.

I hope you have access to Cineversity for my suggestion.

The best I’ve ever known in c4d at incorporating music is Mike Senften. He’s beyond cool and wicked smart. In recent years he’s become too big time to do tutorials.

But here are two related to music/audio:
https://www.cineversity.com/vidplaylist/nab_2010_rewind/nab_2010_rewind_4dthieves_-_mike_the_monkey_senften

https://www.cineversity.com/vidplaytut/siggraph_2010_rewind_4dthieves_-_mike_senften

These videos are old now and video quality is horrible. But to me they are timeless and some of his work still is in many ways beyond things you see today.


#8

Interesting vids.

I’ve tried a few different approaches with the ball now, but all are bpm driven, and it just doesn’t look right with the syncopated lyrics.

Anyone know of any script, tool, or technique that would allow me to set x coordinates at different points in timeline, and auto generate the bounce up to a fixed height and back down to the next x coordinate at the next keyframe? Still trying to work out if I actually need to generate all the midpoints (highest point between bounces.)

Or… is there a SEMI automatic way… like tell it to generate a keyframe at the midpoint (in time and space) between each of the existing ones… then grab all those midpoints, drag them up on the y axis, and smooth accordingly? (I’m thinking all bounce (hit the floor) points should be linear, and all the midpoints (height of bounce should be highly eased. That’s not quite correct as bounce isn’t instantaneous, but should be close enough.


#9

I guess you could record with any audio app (audacity is free) your own beat. Hit play on your music and record your own tap on the mic as you hear the music. The process will take exactly the time the track needs to reach the end.


#10

I haven’t done one of these in a while, but I’ve always found that if you really want to nail it, ie, maintaining the beat with the bouncing ball while also hitting every syllable as it is sung/ spoken, it’s nearly impossible to automate. As I recall, the last technique I used that worked well was in After Effects, where I first created a looping bouncing ball that synched to the rhythm of the song. I then animated the horizontal motion of this looping ball manually, and time remapped it so that the ball was at the bottom of its bounce on each syllable. It’s a fair amount of manual labor, but in the end it was dead on, and had the same feel as those old school sing along cartoons that some of us old timers grew up with. Obviously this was After Effects, but if I were trying it in C4D I’d see if I could replicate this approach somehow.

As an aside, I’ve always wondered how the HELL those guys doing the old sing along cartoons didn’t jump off a bridge trying to do this with traditional cell animation. That’s more patience that I will ever have.


#11

Yeah, that’s how I’ve done most of the ones in the past. (also AE)

It’s a lot of work, but this one may be even more work as the auto bounce isn’t cutting it, and I think I need to bounce per word (may be on or off beat) as opposed to per beat (rhythm sync).


#12

Not sure if this could help but you never know…
https://aturtur.com/soundflop-a-missing-piece-of-the-sound-effector/


#13

Whether it does or not for the bouncing ball… it’s something I’d been trying to figure out separately anyway. I was also confused as to why there didn’t appear to be a way to just index events over threshold as that would seem to be the cleanest way to have something shift every time kick hits, for instance.


#14

I remember some studio had made this video
https://www.youtube.com/watch?v=Xu-A0jqMPd8
using 3ds Max 1.0. They made a plugin that utilized MIDI.

I searched for C4D MIDI plugins and I found these:


https://nitro4d.com/product/animidi/
http://www.kvbarnum.com/control4d/
https://www.griptools.io/nodes.php

I think this is how you solve this kind of problem.


#15

Ever realize you’ve been doing everything the hard way?

I looked at animidi briefly while I was grabbing some freebies off dev’s site, and somehow didn’t get it.

So THAAAAAAAAT’s how all those crazy Rube Goldberg animatronic music vids are made.

Meanwhile, I’ve been exporting separate audio tracks for kick, snare, vocals, etc to get clean triggers which means I’ve been asking c4d to read a half dozen simultaneous audio tracks when most of it (except vocal) is just basic triggers. Ridiculously inefficient.

Will dig in more when I get a chance, but at first look, I"m seeing a lot of info using live MIDI… What I really need is to output a MIDI file from Logic that represents the entire song with kick, snare, etc spit out on separate predetermined channels, and to then be able to import that into a c4d template that splits it back out so kick does one thing, snare does another, etc.

Am I assuming correctly that I can use one or more of these plugs to not only read incoming live MIDI data, but to play back a pre-burned MIDI file so it automatically lines up perfectly with the song?

BTW… general question to the community at large: I never really noticed the like button on here before. Is that important in any way here like Reddit karma or something? Makes no difference to me personally, but might as well help folks out if it has some kind of impact. Obviously LOTS of super helpful posts in this forum.


#16

Watching all the AniMIDI tuts now. There’s no doubt in my mind I need to use one of these plugs.

Anyone used multiple ones that has informed opinion as to why one might be more useful than another?

I would need for it to be able to read imported MIDI files, and work in R20. I see, for instance, in notes for control 4D that it doesn’t work in R20 yet, and no mention of reading MIDI files as opposed to live controllers. Griptools looks possibly time consuming to set up and/or expensive depending on config.

Animidi looks like it would work just fine and be simple to work with, but no mention I can find if it works in R20, and nearly everything on it is quite old. Readying / watching as fast as I can, but any user feedback appreciated.


#17

Dev just got back to me and said AnaMIDI does work in R20.

I’ve never eported / imported MIDI data before, so reading up a bit now on the Logic end. Most info seems to be about single tracks, though, and trying to make sure everything I set up on the Logic side is what is needed on the AnaMIDI / C4d side.

Anyone done this before that knows if:

  1. All tracks can be combined into a single MIDI file that is split out by channel or otherwise able to be separately parsed in C4d so I have separate triggers and effectors per instrument.

  2. If so, to get the timing to exactly match song file, do I need to go through every track and join all regions and / or extend them so they exactly match song start / end time (would be a real workflow killer)

  3. Right now, all Logic VSTi’s are on separate tracks where each is justMIDI channel 1 on it’s own track… Would I need to go through each channel, set it to a different MIDI track and/ or anything else is prep work before burning the combined MIDI track so that it can be correctly parsed per track by AnaMIDI?

  4. Since I’ve never needed to import / export MIDI before, any other common pitfalls that I may not be thinking to ask, but which are likely to cause issues on either end?