
Text Variational Autoencoder
I trained a variational autoencoder to encode names of animal species on a smooth latent space as a step in an ongoing project to use stable diffusion on text. The model allows somewhat smooth interpolation between unrelated species names, and it expresses intriguing word arithmetic. I used an LSTM for input and output.
Chaotic System Predictability Analysis
I created a method to find the “predictability” of a state in a chaotic system. By measuring when two paths in the underlying attractor that start from similar states diverge, I created a measure of how predictable the system is from a certain state. I then trained an ML model on these measures, allowing it to predict the predictability of any state in the system. It is demonstrated on the right on the Lorenz Attractor.


Music Expander
This program algorithmically adds hundreds of notes to an instrumental piece while retaining the original tune, somewhat enhancing it. It is inspired by pieces like Rush E, which are extremely complicated yet follow a simple theme. It takes in a midi file and returns a midi file with the extra notes added.
Chaotic Waterwheel Simulation
This program uses physics mechanics concepts like torque and rotational inertia to simulate a chaotic waterwheel. A chaotic waterwheel is a wheel mounted on a horizontal axle with buckets evenly spaced on its rim. Water flows into the buckets at the top, after which the buckets slowly leak the water out. Given the right parameters the motion of the wheel is chaotic and unpredictable. It will spin in one direction for some amount of time, before switching directions. This program simulates this motion and graphs the Lorenz Attractor that underlies its equations.
