Teaching Robots how to Drum

Experiments in making music by atrodo


Project maintained by atrodo Hosted on GitHub Pages — Theme by mattgraham

2019: Teaching Robots how to Drum

or Auld Bot Syne

30 Dec 2019 - atrodo - Song: Auld Lang Syne by Relient K

As 2019 closes, I wanted to take a moment and reflect on everything I’ve done this year with Teaching Robots. The first commit I made was in late 2018, so most of the development has been done this year. Looking back, I can see that I’ve done a lot of coding and discovery this year.

In the past year, I accomplished a lot of things:

  • Made around 100 commits
  • Made about 15 blog posts
  • Created a Neural Network from scratch
  • Learned x86 SIMD/intrinsics in C
  • Used SIMD to speed up my Neural Network code
  • Generated very rudimentary drum beats with Neural Networks
  • Implemented a genetic algorithm to create new Neural Network variants
  • Figured out how to write fitness functions to test music
  • Figured out how not to write fitness functions
  • Connected the Neural Network up to generate a sound file
  • Learned a lot about what Neural Networks can and cannot do
  • Created an IRC bot to aid in managing the various data types
  • Made a streaming process to reduce the feedback loop
  • Discovered how DFT and FFT work, in theory and in practice

Not the least of all of this was the four month stint working on FFT and Melody Extraction. A noticeable portion of those four months was just in the two posts.

Looking through that list, even with the time spent working just one one project, I feel good about what I’ve accomplished. I’ve done a lot this year, and I am hoping that soon I’ll be able to start creating something musical from all of this work and start refining everything I’ve created so far.