<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=87.178.117.199</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=87.178.117.199"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/87.178.117.199"/>
	<updated>2026-04-10T14:41:56Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=90151</id>
		<title>MIDI</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=90151"/>
		<updated>2015-11-01T21:09:45Z</updated>

		<summary type="html">&lt;p&gt;87.178.117.199: /* Probleme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MIDI (&#039;&#039;&#039;M&#039;&#039;&#039;usical &#039;&#039;&#039;I&#039;&#039;&#039;nstruments &#039;&#039;&#039;D&#039;&#039;&#039;igital &#039;&#039;&#039;I&#039;&#039;&#039;nterface) ist ein Protokoll zum Übertragen von Steuerbefehlen zwischen elektronischen Musikinstrumenten wie Keyboards, Synthesizern, Samplern etc.&lt;br /&gt;
Die Daten werden [[seriell]] mit 31250 [[Baud]] über eine Stromschleife mit 5&amp;amp;nbsp;mA übertragen.&lt;br /&gt;
Zur Vermeidung von Masseschleifen ist die Empfängerseite durch einen Hochgeschwindigkeits-[[Optokoppler]] (z.B. H11L1, 6N138) galvanisch vom Sender getrennt.&lt;br /&gt;
Das Protokoll kann von allen gängigen [[UART]]s generiert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware-Spezifikation ist, anders als die MIDI-Spezifikation als Ganzes, frei verfügbar&amp;lt;ref name=&amp;quot;ElSpec&amp;quot;&amp;gt;[http://www.midi.org/techspecs/ca33.pdf MIDI 1.0 Electrical Specification] (PDF)&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
MIDI benutzt fünfpolige DIN-Stecker, bei denen allerdings nur drei Pins belegt&lt;br /&gt;
sind.&lt;br /&gt;
Pins 4 und 5 übertragen das Signal, als Hin- und Rückleitung der Stromschleife;&lt;br /&gt;
Pin 2 dient nur zur Abschirmung des Kabels.&lt;br /&gt;
&lt;br /&gt;
Im Ruhezustand ist Pin 5 beim Sender offen, was als logisch &amp;quot;1&amp;quot; gilt; zur&lt;br /&gt;
Erzeugung einer logischen &amp;quot;0&amp;quot; muss er Pin 5 auf Masse schalten:&lt;br /&gt;
&lt;br /&gt;
[[Bild:MIDI-Sender.svg]]&lt;br /&gt;
&lt;br /&gt;
Die Widerstände begrenzen den Strom, sowohl für den normalen Betrieb, als auch&lt;br /&gt;
im Falle eines Kurzschlusses (in diesem Fall muss R2 gut 100 mA vertragen).&lt;br /&gt;
&lt;br /&gt;
Wenn nur eine 5V-Spannungsversorgung zur Verfügung steht, müssen R1 und R2 durch&lt;br /&gt;
jeweils 220 Ω ersetzt werden.&lt;br /&gt;
Wenn der TXD-Pin des Mikrocontrollers nicht als Open-Drain konfiguriert werden&lt;br /&gt;
kann, müssen die I/O-Spannung des Mikrocontrollers und die Versorgungsspannung&lt;br /&gt;
an R2 übereinstimmen.&lt;br /&gt;
Wenn der TXD-Pin die gut 5 mA Strom nicht verträgt, muss das Signal durch einen&lt;br /&gt;
Puffer (z.B. SN74LVC1G07) zwischen TXD und R1 verstärkt werden.&lt;br /&gt;
&lt;br /&gt;
Der Empfänger muss den Strom, der zwischen Pins 4 und 5 fließt, auswerten.&lt;br /&gt;
Zur Vermeidung eine Masseschleife darf Pin 2 nicht direkt mit der Masse des&lt;br /&gt;
Empfängers verbunden werden:&lt;br /&gt;
&lt;br /&gt;
[[Bild:MIDI-Empfänger.svg]]&lt;br /&gt;
&lt;br /&gt;
VCC ist 3,3 V oder 5 V.&lt;br /&gt;
R1 dient zur Strombegrenzung.&lt;br /&gt;
D1 schützt die LED des Optokopplers vor einer zu hohen Rückwärtsspannung.&lt;br /&gt;
&lt;br /&gt;
Andere häufig verwendete Optokoppler sind 6N137 oder 6N138, die allerdings eine&lt;br /&gt;
Versorgungsspannung von 5 V voraussetzen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:MIDI-Empfänger-6N137.svg]] [[Bild:MIDI-Empfänger-6N138.svg]] &lt;br /&gt;
&lt;br /&gt;
Zur Verbesserung der EMI/EMC-Eigenschaften kann es notwendig sein, zusätzliche&lt;br /&gt;
Kondensatoren und Filter einzusetzen.&amp;lt;ref name=&amp;quot;ElSpec&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme==&lt;br /&gt;
MIDI wurde ursprünglich im Jahre 1982 von der Firma Roland eingeführt und ist aus heutiger Sicht veraltet. Das damals definierte Protokoll wurde für Einzelstimmengeräte erdacht und gestattet lediglich 7-Bit-Controllerwerte, wodurch Lautstärke und Stimmformung nur sehr grob eingestellt- und nicht ohne hörbare Stufen verändert (&amp;quot;gefaded&amp;quot;) werden können.&lt;br /&gt;
&lt;br /&gt;
Um dem abzuhelfen, wurden inzwischen für die meisten Controller Erweiterungen auf 14 Bits&lt;br /&gt;
eingeführt.&amp;lt;ref&amp;gt;[http://www.midi.org/techspecs/midimessages.php#3 Control Change Messages]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://www.midi.org/techspecs/ca31.pdf High Resolution Velocity Prefix] (PDF)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Was die Übertragungsgeschwindigkeit anbetrifft, sind die ca. 30 kHz der physikalischen Schnittstelle aber nach wie vor nicht geeignet, um viele Kanäle zu bedienen und mehrere gleichzeitige&lt;br /&gt;
Ereignisse, wie einen beidhändigen Akkordanschlag angemessen zu beschreiben:&lt;br /&gt;
Ein MIDI-Ergeinis benötigt mindestens 2 Bytes (bei kombinierten&lt;br /&gt;
Controllerwerten 6) wodurch 8 Finger auch ohne irgendwelche zusätzlichen&lt;br /&gt;
Controllerwerte bereits 16 MIDI Bytes erzeugen, was zu einer ungewollten Latenz&lt;br /&gt;
von 8ms für den letzen Wert gegenüber dem ersten führt. Durch die verschieden&lt;br /&gt;
langen Nachrichten kann es daher zu unmusikalischem,&lt;br /&gt;
unvorhersehbaren [[Jitter]] kommen. Komplexere Lautstärkemdulationen mit quasianalogen&lt;br /&gt;
MIDI-Gebern, wie bei der MIDI-Gitarre und MIDI-Flöte (&amp;quot;breath controller&amp;quot;) sind&lt;br /&gt;
damit im Zusammenhang mit realer MIDI-Hardware nur sehr eingeschränkt verwendbar.&lt;br /&gt;
&lt;br /&gt;
Auch das USB-Protokoll, welches immer häufiger zur Anwendung kommt, bietet zwar eine mehr als ausreichende Bandbreite, jedoch wird dies von nur wenigen Klangerzeugern unterstützt. Lediglich Softwaresampler und andere PC-basierte Systeme wie SW-Synthesizer sind damit zu steuern. Hierbei wirkt sich aber die PC-typische Latenz des Betriebssystems sehr negativ aus. Ein tatsächlicher Echtzeitbetrieb ist mit einem derzeit auf dem Markt verfügbaren Gerät möglich.&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
Statt des klassischen MIDI-Transports über serielle Verbindungen, sind heute höhere Bandbreiten möglich, z.B. durch MIDI über USB oder Ethernet.&lt;br /&gt;
&lt;br /&gt;
Bei Geräten, die normalerweise nicht live eingesetzt werden, sondern an einen PC angeschlossen werden, hat sich MIDI über die USB-Schnittstelle durchgesetzt.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über USB ===&lt;br /&gt;
USB erlaubt höhere Bandbreiten, bei SuperSpeed bis zu 5 GBit/s.&lt;br /&gt;
Die meisten derzeitigen MIDI-Geräte arbeiten aber noch mit Full Speed (12&lt;br /&gt;
MBit/s) oder High Speed (480 MBit/s).&lt;br /&gt;
In der Praxis ist die Geschwindigkeit durch den Mikrocontroller und seine&lt;br /&gt;
Software begrenzt; üblich sind ca. 100 kBit/s.&lt;br /&gt;
&lt;br /&gt;
Das USB-MIDI-Protokoll&amp;lt;ref&amp;gt;[http://www.usb.org/developers/docs/devclass_docs/midi10.pdf USB MIDI Devices 1.0] (PDF)&amp;lt;/ref&amp;gt;&lt;br /&gt;
ist mit dem &#039;normalen&#039; USB-Serial-Protokoll (CDC) nicht kompatibel; deshalb&lt;br /&gt;
ist es nicht möglich, USB-seriell-Konverter-Chips unverändert und ohne&lt;br /&gt;
zusätzliche Treiber für MIDI zu verwenden.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über FireWire ===&lt;br /&gt;
Von Yamaha und anderen Herstellern wurde 1999 das sogenannte Music-LAN definiert, welches auf FireWire basiert und vergleichsweise hohe Bandbreiten zugelassen hätte.&lt;br /&gt;
Einige Teile des Protokolls wurden veröffenlicht und standardisiert&amp;lt;ref&amp;gt;[https://webstore.iec.ch/publication/6069 Consumer audio/video equipment - Digital interface - Part 6: Audio and music data transmission protocol]&amp;lt;/ref&amp;gt;, vollständige Interoperabilität ist damit aber nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Da keine Möglichkeit zum Aushandeln einer höheren Geschwindigkeit definiert ist, ist die Bandbreite auf die normalen 3125 Bytes/s begrenzt&amp;lt;ref&amp;gt;[http://www.midi.org/techspecs/rp27v10spec(1394).pdf MIDI Media Adaptation Layer for IEEE-1394] (PDF)&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über Ethernet/WLAN: RTP-MIDI ===&lt;br /&gt;
Das Real-time Transport Protocol, das auf normalen UDP-Paketen basiert,&lt;br /&gt;
hat auch die Möglichkeit, MIDI zu übertragen&amp;lt;ref&amp;gt;[http://www.midi.org/aboutmidi/rtpmidi.php About RTP-MIDI]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://tools.ietf.org/html/rfc6295 RFC 6295: RTP Payload Format for MIDI]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== MIDI über Ethernet: AVB ===&lt;br /&gt;
IEEE-1722 (Audio/Video Bridging) definiert ein Protokoll zur Übertragung&lt;br /&gt;
von Multimedia-Information. Dabei ist es notwendig, dass alle beteiligten&lt;br /&gt;
Netzwerk-Karten und Switches/Router AVB in Hardware unterstützen.&lt;br /&gt;
&lt;br /&gt;
AVB verwendet die gleichen Datenformate wie FireWire und hat die gleichen&lt;br /&gt;
Einschränkungen.&lt;br /&gt;
&lt;br /&gt;
=== proprietäre Schnittstellen ===&lt;br /&gt;
Andere Transportmethoden wie Parallelport (EPP) oder S/PDIF wurden&lt;br /&gt;
vorgeschlagen, haben sich aufgrund fehlender Kompatibilität aber nicht&lt;br /&gt;
durchgesetzt.&lt;br /&gt;
&lt;br /&gt;
=== MIDI HD ===&lt;br /&gt;
Seit 2005 berät sich das MIDI-Komitee über einen offiziellen Nachfolger der MIDI-Spezifikation&amp;lt;ref&amp;gt;[http://www.midi.org/aboutus/news/hd.php MIDI Manufacturers Investigate HD Protocol]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
=== Artikel auf Mikrocontroller  ===&lt;br /&gt;
* [[Midi Rekorder mit MMC/SD-Karte]]&lt;br /&gt;
&lt;br /&gt;
=== Beiträge auf Mikrocontroller ===&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/48542 &amp;quot;Mr. MIDI&amp;quot; Player]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/102924 Schaltplan MIDI Controller]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/34376 Audio Projekt mit Spartan]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/223125 Midi Protokoll]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/240302 USB zu MIDI]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/191137 Effektgerät für Gitarre]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/140347 Midi mit Arduino]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/248226 DIY USB-MIDI interface]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/280923 ZEL MIDI Compiler]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/281154 Drum Computer]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/154781 USB MIDI IF]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/14798 MIDI mit AVR]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/326905 MIDI over WIFI]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320743 MIDI Platinenselbstbau]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/295657 Eigenbau MIDI Controller]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/323354 MIDI mit BASCOM und AVR]&lt;br /&gt;
&lt;br /&gt;
== externe Links ins Web ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Musical_Instrument_Digital_Interface MIDI in der Wikipedia]&lt;br /&gt;
* [http://www.midibox.org MIDI DIY Hardware mit Forum über MIDI mit vielen Projekten] &lt;br /&gt;
* [http://michd.me/blog/yearproject-fpga-midi-synth FPGA Midi Project Nexys]&lt;br /&gt;
* [http://papilio.gadgetfactory.net/index.php?n=Papilio.MIDIAudioWing steckbarer Midi und Audio Adapter]&lt;br /&gt;
* [http://synthesia.sourceforge.net/hardware.html Open Source Audio Hardware]&lt;br /&gt;
* [http://www.96khz.org/htm/midiviaspdif.htm 96kHz Audio DSP - high speed MIDI over S/PDIF]&lt;br /&gt;
* [http://www.edn.com/electronics-products/other/4312744/FPGA-evaluation-boards-come-with-design-software FPGa Evalboard mit Audio MIDI IO]&lt;br /&gt;
* [http://blog.makezine.com/2010/08/11/milkymist-interactive-vj-station/ Audio MIDI DSP Plattform]&lt;br /&gt;
* [http://www.indiamart.com/prayog-labs-limited/products.html Triple MIDI IF Adapter]&lt;br /&gt;
* [http://www.linux-community.de/Internal/Nachrichten/Video-Jockey-System-mit-offener-Hard-und-Software AV Controller System]&lt;br /&gt;
* [https://www.sparkfun.com/products/9595 MIDI shield Adapter]&lt;br /&gt;
* [http://www.ucapps.de/ uCApps.de - viele DIY MIDI Projekte]&lt;br /&gt;
* [http://truechiptilldeath.com/blog/2009/04/16/fpga-arcade-board/ FPGA Arcade Board]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Audio]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>87.178.117.199</name></author>
	</entry>
</feed>