A web based ASCII art image converter and video player using Python, Pytorch and OpenCV. Includes tools for training data generation and network training.
Python
0
78 commits
updated Aug 26, 2025
A very fast and "accurate" ASCII art conversion library written in Python. The core application uses a purpose-designed PyTorch neural network, which can process images much faster than traditional solutions.
![]() | ![]() |
|---|---|
![]() | ![]() |
![]() | ![]() |
Click on any image to view full size
Training datasets and trained models were excluded from the repo due to file size, but all the pieces needed to generate training data and train a model with an arbitrary character set are included. You may need to tweak the network architecture in order to better fit your dataset.
This project is the spiritual successor to Oldskoolator, a desktop Javascript app that runs on the JVM.
Clone the repository:
git clone https://github.com/yourusername/ascii_movie_pytorch.git
cd ascii_movie_pytorch
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
Install the required dependencies:
pip install -r requirements.txt
Run the desktop player:
python desktop_player.py [video_file]
Start the web server:
cd web
python app.py
Then open your browser and navigate to http://localhost:8080
python ascii_converter.py --width --height [...]
python cpeg_converter.py
python data_analysis.py
python generate_training_data.py --shuffle --split-ratio --augment
python eval_model.py
python desktop_player.py [video / webcam]
python console_player.py [WIP]
bin/: Command-line tools and utilitiesdatasets/: Training datasetslib/: Core library codemodels/: Trained PyTorch modelstraining/: Training scripts and utilitiesweb/: Web application code
static/: Static files (CSS, JS, images)app.py: Main web applicationThis project is a passion project of mine and a permanent work in progress. If you intend to run it, keep in mind that there are quite likely many broken pieces. Should you run into issues trying to make any part of it work, feel free to reach out and I will do my best to point you in the right direction.
A web based ASCII art image converter and video player using Python, Pytorch and OpenCV. Includes tools for training data generation and network training.
Python
0
78 commits
updated Aug 26, 2025
A very fast and "accurate" ASCII art conversion library written in Python. The core application uses a purpose-designed PyTorch neural network, which can process images much faster than traditional solutions.
![]() | ![]() |
|---|---|
![]() | ![]() |
![]() | ![]() |
Click on any image to view full size
Training datasets and trained models were excluded from the repo due to file size, but all the pieces needed to generate training data and train a model with an arbitrary character set are included. You may need to tweak the network architecture in order to better fit your dataset.
This project is the spiritual successor to Oldskoolator, a desktop Javascript app that runs on the JVM.
Clone the repository:
git clone https://github.com/yourusername/ascii_movie_pytorch.git
cd ascii_movie_pytorch
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
Install the required dependencies:
pip install -r requirements.txt
Run the desktop player:
python desktop_player.py [video_file]
Start the web server:
cd web
python app.py
Then open your browser and navigate to http://localhost:8080
python ascii_converter.py --width --height [...]
python cpeg_converter.py
python data_analysis.py
python generate_training_data.py --shuffle --split-ratio --augment
python eval_model.py
python desktop_player.py [video / webcam]
python console_player.py [WIP]
bin/: Command-line tools and utilitiesdatasets/: Training datasetslib/: Core library codemodels/: Trained PyTorch modelstraining/: Training scripts and utilitiesweb/: Web application code
static/: Static files (CSS, JS, images)app.py: Main web applicationThis project is a passion project of mine and a permanent work in progress. If you intend to run it, keep in mind that there are quite likely many broken pieces. Should you run into issues trying to make any part of it work, feel free to reach out and I will do my best to point you in the right direction.