Skip to content

A terminal-based ASCII art visualizer for images and videos with customizable rendering effects.

License

Notifications You must be signed in to change notification settings

resnant/idle-noise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Idle-Noise

"No matter where you are, everyone is always connected."
from "Serial Experiments Lain (1998)"

Idle-Noise is a terminal-based image/video visualizer. It transforms reality into low-res digital static, capturing the moody, lethargic aesthetic of 90s cyber-noir. Whether it's a flickering girl in a dark room or the rhythmic hum of a power line, this engine translates video streams into a haunting loop of ASCII shadows. Perfect for exhibitions, background noise, or simply staring into the void of your command line.


📼 Demos

Sample videos are located in the source_img_videos/ directory. Demo

Features

  • Converts images (PNG, JPG, etc.) and videos (MP4) to ASCII art.
  • Renders the ASCII art in the terminal with infinite looping for videos.
  • Adjustable character set, color (green or amber), and output width.
  • FPS control for video playback.
  • Optional raster scan rendering effect synchronized with FPS.

Requirements

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/idle-noise.git
    cd idle-noise
  2. Install dependencies using pixi:

    pixi install

    This command reads the pixi.toml file and sets up the environment with opencv and numpy.

Usage

To visualize an image or video, use the src/main.py script.

pixi run python src/main.py [PATH_TO_YOUR_IMAGE_OR_VIDEO] [OPTIONS]

Example (Video):

pixi run python src/main.py path/to/your/video.mp4 --fps 15 --color amber

Example (Video with Raster Scan):

pixi run python src/main.py path/to/your/video.mp4 --raster-scan --fps 10

Options:

  • -w, --width <number>: Set the width of the output in characters. Defaults to the terminal width.
  • -c, --color <color>: Set the text color. Available options are green (default) and amber.
  • --fps <number>: Set the frames per second for video playback. Defaults to 15.
  • --raster-scan: Enable the raster scan rendering effect, which draws the animation line by line. This may cause flickering.
  • --resize-mode <mode>: Choose the resize mode. fit (default) preserves aspect ratio within terminal bounds. crop fits content to the terminal's width and crops any vertical overflow.

About

A terminal-based ASCII art visualizer for images and videos with customizable rendering effects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages