Master's Thesis

MIDI Protocol Analyzer

Final Thesis 2.68 MB Appendix 7.5 MB

Author of thesis: Bc. Vojtěch Tlamka

Acad. year: 2025/2026

Supervisor: doc. Ing. Jiří Schimmel, Ph.D.

Reviewer: Ing. Jiří Přinosil, Ph.D.

Abstract:

This master's thesis deals with the implementation of a software MIDI protocol analyzer for Windows. The application is built on the .NET platform, C# language, and WPF framework utilizing the MVVM architecture, and is completely independent of third-party libraries. It features custom methods for data display and asynchronous batch processing, ensuring smooth rendering even with large volumes of processed data. The resulting tool provides reliable real-time reading from multiple MIDI interfaces, advanced filtering, data translation from hexadecimal format into a user-friendly presentation, vector-based visualization of parameter values, and data routing between multiple applications using loopback-connected virtual MIDI interfaces. The application has been successfully tested and provides a fully-fledged diagnostic environment ready for practical deployment.

Keywords:

MIDI, analyzer, loopback, .NET, C#, WPF, MVVM, Windows MIDI Services

Date of defence

11.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta. Otázky: 1) Existují nějaká alternativní řešení k vámi navržené mu MIDI analyzátoru a v čem se váš přístup od nich liší?

Language of thesis

Czech

Faculty

Department

Study programme

Audio Engineering (MPC-AUD)

Specialization

Audio Production and Recording (AUDM-ZVUK)

Composition of Committee

Ing. Jaromír Mačák, Ph.D. (člen)
Doc.Ing.MgA. Ondřej Urban, Ph.D. (předseda)
doc. Ing. Jiří Schimmel, Ph.D. (místopředseda)
RNDr. Lubor Přikryl (člen)
Ing. Ondřej Mokrý, Ph.D. (člen)

Supervisor’s report
doc. Ing. Jiří Schimmel, Ph.D.

Cílem diplomové práce byla realizace softwarového analyzátoru protokolu MIDI, který by byl využit při vývoji zařízení s MIDI rozhraním v rámci bakalářských a diplomových prací a zároveň ve výuce pro demonstrování komunikace mezi zařízeními pomocí MIDI protokolu, a to včetně obousměrné komunikace mezi softwarovou digitální zvukovou stanicí (DAW) a MIDI ovladačem. To vyžaduje analýzu komunikace na více MIDI rozhraních současně a přehledné zobrazení příkazů a odpovědí a jejich časové návaznosti. Všechny požadavky zadání, včetně grafické reprezentace přenášených parametrů byly splněny.
Student pravidelně předkládal výsledky své práce ke kontrole a vždy zapracoval požadované změny. Prokázal schopnost využití moderních technologií, včetně zcela nové knihovny pro Windows pro komunikaci pomocí protokolu MIDI 1.0 a 2.0. Podobných nástrojů je k dispozici málo a potenciál vytvořeného software je široký. Doporučoval bych zveřejnění zdrojových kódů ve veřejném repozitáři.
Student předložil text práce včas ke kontrole a připomínkám a formální stránka odevzdaného textu je na velmi dobré úrovni. Původní verze ale obsahovala desítky chyb v terminologii nejen rozhraní MIDI, ale i v oblasti programování, včetně z oblasti reprezentace binárních čísel. Diplomovou práci by měl student zpracovat na dostatečné úrovni samostatně, bez rozsáhlých korekcí vedoucího práce. To je důvod, proč diplomovou práci nehodnotím nejvyšším možným počtem bodů. Points proposed by supervisor: 93

Grade proposed by supervisor: A

Reviewer’s report
Ing. Jiří Přinosil, Ph.D.

Diplomová práce se zabývá návrhem a implementací specializované desktopové aplikace pro operační systém Windows, určené k analýze MIDI komunikace v reálném čase. V teoretické části práce je popsán standard MIDI, synchronizační mechanismy, časování komunikace a způsob přenosu dat mezi zařízeními. V praktické části je pak popsán návrh a realizace vlastní aplikace, vyvinuté na platformě .Net v programovacím jazyku C#. Práce je psaná jasně a dostatečně srozumitelně s jasnou koncepcí vedoucí k požadovanému cíli. Tím je implementace vlastní aplikace, která funguje jako komplexní analyzátor MIDI zpráv s vícevláknovým zpracováním, filtrováním, podporou virtuálních rozhraní a grafickou vizualizací a dalšími funkcionalitami. Vlastní implementaci považuji za velmi zdařilou. Autor zde využil návrhový vzor MVVM, což má dopad na dobrou škálovatelnost a možné rozšíření do budoucna (např. v závěru zmiňovaná integrace protokolu MIDI 2.0). Zadání práce považuji za zcela splněné. Po formální stránce je práce rovněž na vysoké úrovni bez gramatických chyb či jiných formálních nedostatků.  Jedinou drobnost, kterou lze práci vytknout je chybějící srovnání navržené aplikace s některými již existujícími řešeními. Topics for thesis defence:
  1. Existují nějaká alternativní řešení k vámi navržené mu MIDI analyzátoru a v čem se váš přístup od nich liší?
Points proposed by reviewer: 96

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová