Midi Programming

A.Y. 2022/2023
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
The course aims to discuss the different aspects of the MIDI protocol, and, in particular:
- the fundamentals of MIDI communication and hardware chains;
- the messages provided by the MIDI 1.0 and 2.0 specifications;
- General MIDI (GM) and other protocol extensions;
- the Standard MIDI File (SMF) format;
- the Web MIDI API as the programming interface for MIDI.
Expected learning outcomes
The student must be able to:
- master the basics of MIDI communication, in particular the exchange of MIDI messages between devices;
- read, understand, and write MIDI information encoded within a Standard MIDI file;
- design and implement browser apps that work on MIDI inputs or are capable of producing MIDI outputs.
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Responsible
Lesson period
First semester
Course syllabus
MIDI protocol fundamentals
Families of MIDI messages
General MIDI and other extensions
Standard MIDI Files
MIDI 2.0
Web MIDI API programming
Prerequisites for admission
The course starts with the fundamentals of the MIDI protocol.
Basic knowledge of music theory is recommended.
The second part of the course requires familiarity with the main Web languages and formats: HTML, CSS, and JavaScript.
These prerequisites are already satisfied for students coming from the Music Informatics degree.
Teaching methods
Lessons are given in presence, in classrooms equipped with personal computers. During the first part of the course, two laboratory meetings are scheduled for hands-on practicing with MIDI devices and their connection. In the second part of the course, focusing on programming, frontal explanations, and individual exercises guided by the professor are alternated.
Teaching Resources
Materials include:
- the dedicated Web page on Ariel, with the presentations and code examples shown in class;
- teacher's notes, also available as an open-access volume;
- the MIDI reference guide;
- additional materials accessible at the MIDI.org website (https://www.midi.org/);
- the Web MIDI API reference guide (https://webaudio.github.io/web-midi-api/).
Assessment methods and Criteria
Learning results are assessed through a final exam. Grades are measured in thirtieths (0-30 scale), where the minimum grade is 18/30 and the maximum grade is 30/30.
The test consists of a written part concerning theory made of multiple-choice questions and a part focusing on web programming with exercises to be performed on the computer.
Students are provided with a web simulator for the final test.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor(s)
Reception:
Tuesday, 10.30 - 12.30 or by appointment
Laboratory of Music Informatics (LIM), Department of Computer Science, 4th floor