HN user

big_t

2 karma

thomas.matlak@gmail.com github.com/ThomasMatlak

Posts0
Comments4
View on HN
No posts found.
  Location: Ohio, USA
  Remote: yes
  Willing to relocate: no
  Technologies: Java, Scala, Python, PostgreSQL, Neo4j, AWS, Snowflake, Spark, Pulumi, Docker/Kubernetes, Elasticsearch, Redis
  Résumé/CV: https://www.dropbox.com/scl/fi/b9xdy2wx2315hgany7mcb/ThomasMatlak.pdf?rlkey=d6e11pweopk52glg3p65exeyl&st=235hon4q&dl=0
  Email: see profile or résumé
I have been working mostly in JVM-land doing backend development. Writing APIs, data ETL jobs, and managing cloud infrastructure (AWS). Happy to jump into any part of the stack (as long as it's not exclusively frontend) and pick up any programming language on the job.

In the answer to "Wait, what's a rest?", I'm intrigued by the definition of "...any time step where you don’t play any new notes." (emphasis mine)

Why not have each time step contain all pitches that should sound during that time step (so starting a new quarter note and continuing a half note would both appear in the same time step)? Then at the end of generating the music, perform some post-processing to get the note lengths. Would the approach in the interview having any significant advantages to this approach? (I suppose you do lose the ability to rearticulate a pitch with my idea)

I actually just recently took a shot at something very similar to this for my undergrad thesis! [0]

I used genetic algorithms to generate 4 measure melodies, using a long short-term memory (LSTM) neural network to determine the fitness of melodies. I trained the LSTM on snippets of music by J.S. Bach. It was able to distinguish between random noise notes and actual music quite well, and to a somewhat lesser degree between Bach and other composers.

The melodies it produced were...mixed in quality. I really liked some of them, but quite often it would get stuck at some local maxima of the fitness and couldn't mutate its way to something better.

[0] https://github.com/ThomasMatlak/is-software/tree/master/gene...