The other day I was inspired by the concrete imagery of the poem Howl and the power of stable diffusion and automation to produce some interesting interpretations of the poem in video form.
In retrospect I shouldn't have started with a 20 minute poem.
Nevertheless, I've assembled the tools I gather together to make these videos in this repo.
Ailluminated is a Python-based video creation tool that combines images, audio, and subtitles into captivating videos with smooth crossfade transitions. It is designed to be versatile and user-friendly, suitable for various applications such as artistic videos, educational content, or memory preservation.
- Timestamp-based image and subtitle integration
- Crossfade transitions between images
- Customizable frame rate and output format
- Clone the repository:
git clone https://github.com/muddylemon/ailluminated.git
- Change to the
ailluminated
directory:
cd ailluminated
- Install the required Python libraries:
pip install -r requirements.txt
-
Prepare your images, audio, and a text file with timestamps and corresponding subtitles. Place the images in a folder and ensure they are named sequentially (e.g.,
img01.jpg
,img02.jpg
). -
Use the
convert_srt.py
script to convert an SRT subtitle file into a timestamp-based text file:
python convert_srt.py <input_srt_file> <output_timestamps_file>
Example:
python convert_srt.py inputs/my-video.srt inputs/my-video.txt
- Run the
illustrate.py
script to create your video:
python illustrate.py --images <path_to_images_folder> --audio <path_to_audio_file> --lines <path_to_text_file_with_timestamps> [--fps <frame_rate>]
Example:
python illustrate.py --images images_folder --audio audio.mp3 --lines timestamps.txt --fps 24
- The output video will be saved in the
videos
folder with the same name as the images folder.
We welcome contributions to improve Ailluminated! If you'd like to contribute, please follow these steps:
- Fork the repository
- Create a new branch with your changes
- Submit a pull request
We will review your changes and merge them if they are suitable.
This project is licensed under the MIT License. See the LICENSE file for more details.