I've got the blues. I've been looking for the perfect guitar tone, but haven't found it. To amp up my mood, let's teach a computer to play the guitar through an amplifier.
Let's string together object-oriented principles to orchestrate a blues shuffle. We'll model our domain with the help of inheritance, composition, and dependency injection. This talk will strike a chord with you, whether you've strummed a guitar before or not.
- Identifying string gauge
- All tuning logic inside Guitar class
- Fancy
tune
method with metaprogramming - Extract related behavior into Tuner class
- Extract different tunings into separate classes
- Picking guitar relies on the GuitarString class
- Separate Note class
- Base Amplifier class
- Decompose tube amp stages into modules
- Decompose solid state amp stages into modules
- Hybrid amp class composes tube and solid state behavior, inherits from the base amplifier
- Create amplifier when creating a guitar
- Dependency inject amplifier into guitar
- Sonic Pi amplifier
- Play blues shuffle through Sonic Pi amplifier