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.
  • Part 2 of the course will use Python and PyTorch.

Assignments

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 four quizzes, covering Markov Chains, Genetic Algorithms, RNN/LSTMs, and Transformers.

Coding Assignments

  • There will be four coding assignments—one for each technique introduced in the course.
  • Coding assignments will be done in groups of two people.
  • These assignments will require students to implement variations or extensions of the techniques they have learned to address a specific musical challenge (e.g., melody generation).

Paper Implementation

  • This will involve implementing a generative music research paper from scratch, applying the concepts and skills gained throughout the course.
  • Paper implementation will be done in groups of two people.

Deliverables

  • Repository with implementation in course Github Classroom.

Final Project

Students can choose to create a Final Project for either Part 1 or Part 2 of the course. The Final Project for Part 1 will focus on symbolic generative music, while the Final Project for Part 2 will focus on audio-based generative music. The final project can be done alone, or in a group of up to three people.

Deadlines

  • The pre-class quizzes would be available as follows:
    • Markov Chains quiz: January 12th noon - January 13th noon
    • Genetic Algorithms quiz: January 12th noon - January 13th noon
    • RNN/LSTM quiz: January 13th noon - January 14th noon
    • Transformer quiz: January 14th noon - January 15th noon
  • The four code assignments are due by January 25th at midnight.
  • The paper implementation is due by January 26th at midnight.
  • The final project is due by March 24th at midnight.

Evaluation

Evaluation for the Computational Music Creativity course will be as follows:

  • Part 1 (Valerio): 30% of the overall score.
  • Part 2 (Lonce): 30% of the overall score.
  • Final Project: 40% of the overall score.

Part 1 Evaluation

  • Pre-class Quizzes (20% of Part 1 score):
    Four quizzes, each contributing equally.
  • Coding Assignments and Paper Implementation (80% of Part 1 score):
    These will be graded on a “pass” or “fail” basis, with each assignment contributing equally to this portion.

Final Project Evaluation (Part 1)

If a student chooses to complete the Final Project associated with Part 1 (accounting for 40% of the overall course score), their work 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 (e.g., clean code)
  3. Degree of innovation in the system
  4. Clarity of the presentation
  5. Quality of the creative output

Final Project Evaluation (Part 2)

  1. Clarity and organization of the presentation
  2. Choice of relevant literature
  3. Explanations of issues you are addressing
  4. Code you developed to explore and demonstrate
  5. Evidence of effort, and learning through the project

Office Hours

Students can book 20-minute slots (individually or in groups) with Dr. Valerio Velardo via this Calendly page, during the following times:

  • January 17th, 18:30–20:30
  • January 22nd, 18:30–20:30
  • February 13th, 18:30–20:30
  • March 6th, 18:30–20:30

Students can reserve time with Anmol through MTG Slack, during the following times:

  • January 6-7th, 16:00–18:00
  • January 10th, 16:00–18:00
  • January 24th, 12:00–14:00

Students can book 20-minute slots (individually or in groups) with Lonce via a DM on course Slack or email.

Communication

  • For general questions, please use the dedicated Slack channel on the MTG workspace: #smc24-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, Anmol Mishra and Lonce Wyse in the MTG Slack (@Valerio Velardo, @Anmol Mishra, @lonce wyse).