Skip to content

Latest commit

 

History

History
128 lines (96 loc) · 7.02 KB

kata-05.md

File metadata and controls

128 lines (96 loc) · 7.02 KB

Kata 5 - Music sequencing

The purpose of this kata is to get familiar with the idea of music sequencing and its impact on music production.

Learning aims

The minimal target of this kata is to understand the basic ideas behind sequencing:

  • Setting up a minimal sequencer to allow definition of simple songs manually
  • Understanding different forms of sequencing

Task

Complete the following:

  1. Set up a window with a simple piano roll user interface that contains rows of toggleable buttons. Each row represents a sequence of steps and each column represents a note within the step.
  2. Write a sequencer that plays the notes that are currently activated in the piano roll. When a button is enabled, a note should be played. When disabled, nothing should happen. In the first phase, it is enough to play monophonically, supporting only one note per column.
  3. Optional - Make the sequencer polyphonic, support playing multiple notes per column.
  4. Optional - Allow adjusting tempo.
  5. Optional - Allow setting up multiple tracks. For example, you could associate a sequencer window to a specific instrument and allow creation of multiple sequencer windows to model the feature.
  6. Optional - Implement a drum machine. This is similar to the first task but instead of notes, each row should trigger different drum instruments and play samples.
  7. Optional - Match the four oscillators of the original 8-bit Nintendo and allow composing using them
  8. Optional - Allow playback of notes and play some legendary tune (Mario, Zelda, ...) through your system. To do this, you might need to implement some form of parser depending on the notation (pun intended).

Reference

Parcel

Web Audio

Libraries

Theory

Programs

Game audio libraries

Synthesizers

Documentaries

Songs

Artists

Educators

Videos