- I finished scripting the pseudo-random number generation algorithm with Matlab and System Verilog file generation. The configurable n bit LFSR is able to generate a pseudo-random sequence of length 2^n – 1. It generates a 1-bit number for each clock cycle. With this functionality, the arpeggiator can support random rhythm generation, where each step has a 50% chance of being either a note or a rest.
- I had a primitive polyphony control design. I will record the current status of each of the four audio processing pipelines – is it in use and by which note. On the key-down event, I will send the note to a free pipeline and mark it in use. If none is free, discard the note. On the key-up event, I will signal the ADSR envelope that the note is released and mark the pipeline as free. Since there are only four pipelines, the scheduling can be as easy as looping until the first free.
- I studied our MIDI keyboard Launchkey Mini user guide and led the discussion on detailing which effect parameter is user-controlled and by which control on the keyboard. The result is shown in our presentation slide.
The simulation and synthesis environment setup is taking a lot longer than I thought. On the other hand, due to the large project specification change, my timeline has changed a lot and I am able to reschedule my later tasks to account for the difficulty of the environment setup.
Next week I will finish the environment setup and start on a more detailed design for polyphony control.