Photo montage with music

Hi!

I want to make a photo montage with some specific requirements. So far I’m unable to realize this is in Openshot or Kdenlive.

  1. Target length: approx 3-4 minutes, New image every 2-3 seconds.
  2. Due to external circumstances the video must be made fast (like 30 minutes max). I won’t have time to manually edit dozens of items.
  3. I want the transitions to happen with the beat of the song. (I don’t expect an automated solution to this. I want to set the duration of the images so the video and audio are in sync.)
    1. This seems surprisingly hard: the duration can only be set with 0.01s accuracy. Over the course of the song this introduces way too much desync between the images and audio by the end of the song. So fully uniform duration is a no-go.
    2. I might be able to work around this by selecting every n-th image, edit the duration with Ripple enabled. But is there a better way, like selecting all image clips and changing their total duration?
  4. I want some simple transition between images. The “Mix clips” tool seems decent, but the 1s transition time is way to long for images shown for 2-3 seconds. Is there a way to change the length on multiple of them at the same time?
    1. Manually editing them one-by-one is not an option due to time constraints.
  5. If this is impossible in Kdenlive can you point me to some tool, where I have a better shot?

I know my needs are very specific, but the situation calls for such a tool…

Hi, and welcome to the forum an community.

Any video/color/image clip and composition/transition in Kdenlive can be cut or have its duration changed at frame accuracy. The timecode is hh:mm:ss:ff (ff represents frame). So, depending on your project’s fps setting this is fractions of a second.

Yes. Select them in the timeline, right-click any of them, select Edit Duration, add the new duration and make sure Apply to all items is checked. You can also set the default duration of Mixes and Image clips in the Settings (note the timecode format above!).

EDIT: It helps to read the documentation

Thanks for the response. I admit, I didn’t read the full documentation, only some parts. However, I’m still confused after your answer. I’m using version 25.08.2.

What I did:

  1. Open an empty project, add the images by adding their folder. Each images appears in it’s onw 5 second clip.
  2. Drag them in the timeline, I get them one after the other.
  3. Select all images in timeline, hit ‘U’, get transition between clips.
  4. I cannot seem to be able to select multiple effects. Selecting one and right clicking only gives ‘delete selected item’ as an option.

I indeed found the option for mix length. Thanks. The documentation does not mention this setting where I’ve looked: Transitions and Compositions / Transitions / Mixes / Same-track Transitions. (Sorry, I can’t post the link)

However, there is still no solution for syncing up with the music beat. (Sure, I could set some absurdly high framerate to get the desired accuracy with uniform clip length, but I’d rather not go there. I mean, if I have a 4 minute song and I show images for 3 seconds each, I need 80 images. Using a framerate of 1000 is needed to stay below 100 ms of error by the end of the song. Statistically I might only need 400 FPS to stay below 100 ms error - still an absurd number.)

Right now, I’m leaning towards Blender to make my montage. I wrote a Python script to place the images based on the framerate and BPM of the song, prepare the transitions, etc. It probably has many drawbacks compared to Kdenlive, but I don’t need advanced video editing features.

This can be changed in the Settings:

Here it is set at 5 seconds. The Image Sequence in this example is set to 1 frame.

Mixes are handled differently and cannot be selected like other clips. You can click on them and the composition panel opens for you to change the Mix’s parameters.
You can change the default duration of Mixes in the Settings (see screenshot above: set to 1 second but you can change it to just the number of frames you need).

I highly doubt that viewers will actually notice a transition (Mixes are just transitions between two adjacent clips in the same track) shorter than 1/4th of a second. On a 30-fps project that would be less than 8 frames. But please go ahead and set the default duration to 00:00:00:08 for Mixes.

I also doubt that viewers will notice that the cuts will be a few milliseconds off. There have been numerous discussions here and in other forums where users wanted to adjust the position of audio clips more granular than one frame. I suggest you give it a try using the tips already given and have a test audience watch it and give feedback. There is this tendency of the creators to be more papal than the pope when it comes to cutting to beats …

Yes, I know I can change the duration of image clips.

I think we misunderstand each other. I’m not talking about the error of an individual transition compared to the beat. I’m talking about accumulated error by the end of the song. Based on my experience in OpenShot (where you can set the length of clips with 0,01s accuracy), no matter what I do, by the end of the song the beat and image transitions are way-way off.

Assume a song with 97 BPM, time signature 4/4, 250 s length and 30 as the framerate. I want to change images the the start of each measure. The song is 101.04 measures long (makes sense, as songs generally fade out at the end), thus I need 101 images. Each measure is 2.474s long, which should be 74.2268 frames, but duration in frames can only be an integer.

If I use 74 frames for the duration of the 101 images, the length will be 249.133 second, 867 ms (approx 1 beat) shorter than the music. The music will gradually lag behind the changes, and you will most definitely will notice that. (Actually, after the first 30 or so images you’ll loose the sense that the transitions and music were meant to be synced up at all). If I use 75 frames for the duration of individual images, they’ll take 252.5s to finish, which is even worse than the previous option.

So you either need to use absurdly high framerates to mitigate this accumulated error, or use non-uniform clip length. Eg: using a 74, 74, 74, 74, 75, 74, 74, 74, 74, 75 … duration pattern will cancel some of the error. I was looking for such an option in Kdenlive.

What could solve this issue: place images uniformly, create transitions, “group/join” images+transitions into one clip (I don’t know what this is called in Kdenlive) and edit the duration of the joint clip the match the duration of the music.

That would be Sequence