Transflow

Set of tools for transferring optical flow from one media to another.
This tool extracts optical flow as a dense velocity field from a video input (file or stream) and applies it to an image, a video file or stream, for creative purposes. Multiple techniques can be used, various parameters can be tuned to precisely craft visual effects directly from raw raster data.
2024-Now
https://chalier.fr/transflow/
Graphics Mosh
fftools

Graphical Toolbelt.
Set of tools for applying advanced effects to images and videos, based on FFmpeg and custom Python scripts. Those effects include: blending video frames, seam carving, resizing, stacking, extracting individual shots, etc.
2023-Now
https://github.com/ychalier/fftools
Graphics Mosh
Audacity Mosh

Frame by frame datamoshing with Audacity.
Audacity is a well-known free software for manipulating audio data. A common trick for datamoshing videos is to import them into Audacity as raw data and apply audio filters. This Python script automates the processing.
2025
https://github.com/ychalier/datamoshing/tree/main/audacity-scripting
Graphics Mosh
Frame Dropper

Basic video datamoshing script.
Removes every reference frames from a video, except the first one. Works for videos encoded with the Xvid encoder. There is also another version for H264 (older) that does not work very reliably.
2025
https://github.com/ychalier/datamoshing/tree/main/drop-xvid-iframes
Graphics Mosh
Halftone QR Code

Creative use of QR codes within halftone images.
Fork of a Python implementation of a method published by UCL for generating halftone images that are QR codes, with the addition of multiple creative processes, such as embedding the QR code within a larger image or generating QR code videos.
2025
https://github.com/ychalier/halftone-qrcode
Graphics
imgit
Tool to synchronize local folders with Imgur albums.
Imgur is an image sharing website that can be used for static hosting of images and short videos. This tools automates the synchronization process between a local folder and an online Imgur album with a syntax similar to git.
2025
https://github.com/ychalier/imgit
Tool
randomart

Generation of random abstract images and videos.
Random Art is prototypical software capable of generating random artworks from a grammar of mathematical functions. This JavaScript implementation generates random WebGL shaders through this technique to generate random images and videos. Has an audio reactive feature.
2024
https://chalier.fr/generative-art/randomart/
Graphics Sound
Waveform Sketch
Generate audio waveforms with specific shapes.
Online tool that transforms an existing waveform to give it a target visual shape while maintaining its overall sound.
2024
https://chalier.fr/waveform-sketch/
Graphics Sound
Homewatch
A media server, lightweight and self-hosted.
A Python WSGI app for remotely controlling a media server. The idea is to have media files stored on a computer or a remote server, and use a remote device (namely, a phone) to browse the library and play some files. The main use case is for watching movies without leaving the bed or the sofa.
2024
https://github.com/ychalier/homewatch
Tool
Lagrange
Lagrange Polynomial Editor.
Online utility to compute the formula of a Lagrange polynomial by drawing and moving around its seed points. This formula can then be used in easing functions, as control of time dependent parameters in other projects, etc.
2024
https://chalier.fr/lagrange/
Math
Beatviewer

Beat Tracking and Visualization.
BeatViewer is a Python program that analyzes an audio stream, extracts onsets, tempo and beats, and creates visuals from them in real time. Feature extraction relies on state-of-the-art beat tracking algorithms. Visuals are rendered via Pygame or external programs such as OBS Studio or any WebSocket client.
2023
https://chalier.fr/beatviewer
Graphics Sound
Noise Palette

Generate, tune and combine Perlin noise.
An online tool to generate Perlin noise images with various parameters, combining and colorizing them. This can be used to generate textures, maps, or any abstract pattern.
2023
https://chalier.fr/noise-palette/
Graphics
Halftone Palette

Halftone Sandbox.
An online tool for generating and customizing halftone images. Supports various dot shapes and filters.
2023
https://chalier.fr/halftone-palette/
Graphics
Generative Art

Simple algorithms generating aesthetically pleasing stuff.
Set of JavaScript webpages generating various graphical effects, such as Belousov-Zhabotinsky Cellular Automaton, Bernoulli Percolation, Chaikin Curves, Molnart or Space Inversion.
2022
https://chalier.fr/generative-art/
Graphics Math
Vampire Survivors Combo Builder

Optimal combo generation for game Vampire Survivors using integer linear programming.
Vampire Survivors is an action roguelike game where the player has to survive against waves of approaching enemies. The player acquires weapons and items while levelling up (this is called creating a build). Items can impact a weapon in two ways: (i) by increasing a stat the weapon relies on (a combo), (ii) by changing it into a stronger weapon (an evolution). Weapons and items are limited in number: 6 weapons and 6 items (plus bonus items directly gathered on the map). This enforces the player to make choices: given the current build, which weapon or item to get next? This generator produces optimal builds, regarding two criteria: combos and evolutions. Any other criterion (DPS, rarity, character, …) is ignored.
2022
https://chalier.fr/vampire-survivors-combo-builder/
Game
Cuiz
Online trivia game for learning Geoguessr basics.
Online quiz application for learning the flags, capitals, locations and languages of countries referenced by Google StreetView and thus appearing in the Geoguessr game (in French).
2021
https://chalier.fr/cuiz/
Game
Midi-Vco

Arduino firmware for controlling an analog synthesizer.
The Arduino board handles the MIDI messages and controls multiple oscillators (CV/gate signals). It bundles multiple features, such as pitch bend, glide, sequencer, arpeggiator, automatic tuning, etc.
2021
https://github.com/ychalier/midi-vco
Sound
Pseudo
Pseudonym generator with anagrams.
Generates permutations of lists of letters that sound like real proper nouns. The pronounceability is learned on a corpus of text as a graph of consecutive n-grams. The generation explores this graph (actually, a tree) to enumerate top-n pronounceable anagrams of a given set of characters.
2020
https://chalier.fr/pseudo/
Text
Orgapy
A personal notebook webapp.
A Django web application that stores notes written in Markdown, tabular data and geographic data. It also helps keeping track of projects, tasks and events. This is the main extension of my brain for reducing my mental load.
2020-Now
https://github.com/ychalier/orgapy
Tool
Hoplite

An attempt at making a basic AI for the Hoplite Android game.
Hoplite is a popular turn-based strategy Android game developed by Magma Fortress, originally created in 2013. This Python module provides an interface for automatically playing the game on an Android simulator or even live on a device. Screen is captured and analyzed for the program to get a logical representation of the game. Then, like most chess engines, possible moves are explored and evaluated by pondering some relevant features. The best one is picked, and played.
2020
https://github.com/ychalier/hoplite
Game
The Music Archivist
A Python module for validating and formatting audio tags.
The Music Archivist is an automated tool for analyzing a set of audio tracks and checking whether their tags follow some logical rules such as "Each track must have a title" or "All tracks must have the same album name". The main purpose is to maintain the integrity and the uniformization of a large music library, by formatting new entries and checking on old ones. A configuration file is used to state the targeted tags standard. Formatting also allows for basic tag values cleaning operations, such as removing trailing spaces, unifying featurings declarations, resizing the covers to a fixed size and encoding them into a specific format. Audio files are finally renamed into a slug string formatted using validated audio tags.
2020
https://github.com/ychalier/musar
Tool
DICE
Reasoning framework for deriving refined and expressive commonsense knowledge from existing CSK collections.
The core mechanics of this framework are developed in an article published in AKBC 2020, Joint-Reasoning for Multi-Faceted Commonsense Knowledge.
2019
https://github.com/ychalier/dice
Text