Tools and Programming Languages

Part 1 of the course will use Python. All coding assignments should be coded in Python 3.10. The deep learning implementation will be done in TensorFlow/Keras or PyTorch.

Tasks

Pre-class quizzes

Students will be required to submit a quiz on the current technology before each class. The quizzes will test their understanding of the concepts discussed in the assigned pre-class videos. There will be two quizzes, covering Genetic Algorithms and Transformers.

Coding Assignments

There will be two coding assignments—one for each technique introduced in the course. Coding assignments will be done in groups of three or four people.

Final Project

The Final Project for Part 1 will focus on symbolic generative music.

The task will be to design and implement a symbolic generative music system. This project should demonstrate the adaptation and/or combination of one or more techniques covered during the course.

The Final Project will be done in groups of three or four people – the same who worked on the coding assignments together.

Deliverables

The deliverable for the code assignments and Final Project is a repository with the implementation code in the course GitHub Classroom.

Deadlines

The pre-class quizzes would be open as follows:

  • Genetic Algorithms quiz: January 12th noon - January 13th noon
  • Transformer quiz: January 25th noon - January 26th noon
  • The two code assignments are due by February 15th at midnight
  • The final project is due by February 16th at midnight

Evaluation

Evaluation for the Generative Algorithms for Sound and Music course will be as follows:

  • Part 1 (Symbolic): 50% of the overall score
  • Part 2 (Audio): 50% of the overall score

Part 1 Evaluation

  • Pre-class Quizzes: 10% of Part 1 score (two quizzes, each contributing equally).
  • Coding Assignments: 40% of Part 1 score
  • Final Project: 50% of Part 1 score

Coding Assignments + Final Project Evaluation (Part 1)

Final Project and Coding Assignments will be graded on a scale of 1 to 10 based on the following criteria:

  1. Soundness of the implementation
  2. Cleanliness of the implementation (i.e., clean code)
  3. Clarity of the presentation
  4. Quality of the creative output

Office Hours

Students can book 15-minute slots (individually or in groups) with Valerio Velardo via this Calendly page, from 18:30–19:30 every Wednesday from January 14th until February 18th

Students can reserve time with Fernando and Andreas (TAs) through MTG Slack.

Communication

For general questions, please use the dedicated Slack channel on the MTG workspace: #smc25-musicgen. This channel will serve as a hub for asynchronous communication and updates for all students, so make sure to check it regularly.

For individual questions, doubts, or ideas, feel free to send a direct message to Valerio Velardo, Fernando, and Andreas in the MTG Slack (@Valerio Velardo, @AndreasP, @Fernando).