Write me a letter...

I wanted my audiovisualizer to write me a letter. Words vary in rotation, spacing, length, number of samples shown, color, line thickness, sentences vary in number of words, writing varies in how long it takes and what is written. If there is a long enough pause, punctuation will be added. I encountered many, many difficulties while coding for this project. The nature of the visualizer required well thought out code structure, because of this I ended up rewriting the visualizer 2 times before reaching this final version, the first time shittily, the second time using events (also shittily). The current version of the code is very simple and readable, and while a lot of randomness remains, many parameters have been mapped to be reactive to the music (using RMS and maximum amplitude). Right now, sentences are described by the number of words they have, the spacing for each word and the width of each word. These values must be stored so once a sentence is written, the pencil can be returned to the left side of the screen. The first problem I ever encountered was successfully creating words and positioning them with the position values of the pencil. Discovering local vs. global positions for GGens solved this immediately. I figured out that i had to map the y-values for the spectrum each frame and the x-values whenever i wanted the pencil's width to change. Figuring out the logic for when to write and when not to write was particularly difficult, when to generate new sentence paremeters, etc. I am super proud of myself! I think this is actually a rather complex idea that I delivered on, there are a lot of things and design choices I had to consider that I didn't describe above, and i genuinely believe that my structure and approach towards the question of "how can i make a visualizer write me a letter?" is up there in terms of correctness.

Milestone