Hi, I'm Markus. Since my childhood, I've been obsessed with two things: Music and technology. So what better way to showcase both than doing it on this webpage.
In the projects section you'll find a selection of the stuff I have been and the projects I'm working on right now.
Like this page the projects section and the music section is still under construction but will be filled with more details soon.
Projects
C-MIDI - a MIDI parser written in C
As I'm already familiar with the C programming language, I thought: Why not starting a simple project in C to test my skills? I'm using MIDI gear pretty much daily for example my trusty old e-piano or the fancy Ableton Push. Additionally with MIDI 2.0 probably coming soon to most consumer hardware, I was motivated to get a deep understanding of MIDI.
So what does my MIDI parser do - and what even is MIDI?
MIDI (/ˈmɪdi/; an acronym for Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface and electrical connectors that connect a wide variety of electronic musical instruments, computers and related audio devices for playing, editing, and recording music, as Wikipedia explains.
In contrast to - let's say you connect an audio-interface to your computer and record your voice - with MIDI, no sound is being transferred from one device to the other. Just control messages, like "I pressed a specific note on the keyboard". These files can be sent as streams from one device to another and also replayed from MIDI files (.mid).
If you want to know, how these messages look like and what they mean, you'll have to open the .mid file in a hex-editor and translate message for message with the file specification in hand.
This is bold and this is strong. This is italic and this is emphasized.
This is superscript text and this is subscript text.
This is underlined and this is code: for (;;) { ... }. Finally, this is a link.
Heading Level 2
Heading Level 3
Heading Level 4
Heading Level 5
Heading Level 6
Blockquote
Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.
Preformatted
i = 0;
while (!deck.isInOrder()) {
print 'Iteration ' + i;
deck.shuffle();
i++;
}
print 'It took ' + i + ' iterations to sort the deck.';