Skip to content

shouryank/StoryTube

Repository files navigation

StoryTube

Python License: MIT PRs Welcome

Transform your short stories into animated videos.

StoryTube is an innovative tool that takes a short story as input and generates an animated video, bringing narratives to life through automation.

✨ Features

  • Natural Language Processing: Utilizes NLP techniques for coreference resolution and clause extraction.
  • Dialogue Generation: Automatically generates dialogues from narratives.
  • Animation Rendering: Creates animations based on the processed story content.
  • Audio Integration: Incorporates generated dialogues into the animation as audio.

📁 Project Structure

StoryTube/
├── animation/           # Animation scripts and assets
├── assets/              # Static assets like images and audio
├── clausIE/             # Clause extraction module
├── coref_resolution/    # Coreference resolution module
├── dialogue/            # Dialogue generation scripts
├── extras/              # Additional utilities and scripts
├── utils/               # Helper functions and utilities
├── constants.py         # Constant values used across modules
├── main.py              # Entry point of the application
├── requirements.txt     # Python dependencies
└── test_pipeline.py     # Test scripts for the pipeline

🚀 Getting Started

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)

Installation

  1. Clone the Repository

    git clone https://github.com/shouryank/StoryTube.git
    cd StoryTube
  2. Create a Virtual Environment (Optional but Recommended)

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install Dependencies

    pip install -r requirements.txt

📝 Usage

  1. Prepare Your Story

    Create a text file containing your short story.

  2. Run the Application

    python main.py --input path_to_your_story.txt

    Replace path_to_your_story.txt with the actual path to your story file.

  3. Output

    The generated animated video will be saved in the output/ directory.

🧪 Testing

To run the test pipeline:

python test_pipeline.py

This will execute a series of tests to ensure each module functions correctly.

🤝 Contributing

Contributions are welcome! Please fork the repository and submit a pull request. For major changes, open an issue first to discuss what you would like to change.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

StoryTube uses NLP and AllenNLP to turn written stories into animated scenes. It extracts actions and dialogue from text, then maps them to character behaviors for interactive animation rendered in a Tkinter GUI. The result is a dynamic, engaging storytelling experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors