<?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.122.163</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.122.163"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/87.178.122.163"/>
	<updated>2026-04-10T14:54:36Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MP3&amp;diff=94622</id>
		<title>MP3</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MP3&amp;diff=94622"/>
		<updated>2016-12-18T03:09:20Z</updated>

		<summary type="html">&lt;p&gt;87.178.122.163: berichtigt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Als MP3 bezeichnet man ein Datenformat nach ISO/IEC-Standard für komprimierte [[digital]]e Audiodaten. Mit [http://www.cselt.it/mpeg/ MPEG] Audio Layer-3 (MP3) ist es möglich, die Größe von Musikdateien je nach gewünschter Datenrate auf ca. 10% der ansonsten notwendigen Bruttodatenmenge zu reduzieren, ohne das Hörerlebnis für den durchschnittlichen Nutzer merklich zu trüben.&lt;br /&gt;
&lt;br /&gt;
Das Verfahren wurde vom Fraunhoferinstitut entwickelt und patentiert. Das Patent in der ursprünglichen Version ist abgelaufen.&lt;br /&gt;
&lt;br /&gt;
== MP3/AAC-Decoder in Software ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MP3&#039;&#039;&#039; lässt sich schon auf kleinen ARM-Controllern in Software dekodieren. Das [https://helixcommunity.org/projects/datatype/ Helix Datatype-Projekt] stellt einen MP3-Decoder mit optimierten ARM-Assemblerroutinen als Open Source zur Verfügung. Ein [[AT91SAM|AT91SAM7]] (ARM7TDMI) mit 55 MHz ist damit ungefähr zur Hälfte ausgelastet, der RAM-Bedarf liegt bei ca. 30-40 kB. Bei Helix findet man auch einen &#039;&#039;&#039;AAC&#039;&#039;&#039; (&amp;quot;MP4&amp;quot;)-Decoder, der ähnlich viel RAM und nur wenig mehr Rechenleistung benötigt. Ein MP3/AAC-Player-Projekt basierend auf diesen Decodern wird auf der Seite [[ARM MP3/AAC Player]] vorgestellt.&lt;br /&gt;
&lt;br /&gt;
Ein weiterer ARM-optimierter Decoder ist [http://www.underbit.com/products/mad/ MAD], der auch MPEG Layer 1 und 2 decodieren kann, jedoch etwas höhere Ansprüche an Rechenleistung und RAM stellt.&lt;br /&gt;
&lt;br /&gt;
== OGG Vorbis-Decoder in Software ==&lt;br /&gt;
&lt;br /&gt;
Für OGG Vorbis existiert mit [http://xiph.org/vorbis/ Tremor] ein u.a. für ARM optimierter Decoder, der ohne Floating Point auskommt. Das Problem dieses Decoders ist, dass er intensiv Gebrauch von dynamischer Speicherverwaltung (malloc, calloc) macht. Dadurch ist der Speicherbedarf schlecht abschätzbar und es treten Speicherlecks und Fragmentierung auf. Der Rechenaufwand ist höher, als beim Helix-Decoder.&lt;br /&gt;
&lt;br /&gt;
Die Version im offiziellen Repository wird nicht mehr gepflegt, als Startpunkt für eigene Entwicklungen sollte man besser den Tremor-Sourcecode aus dem Rockbox-SVN (svn://svn.rockbox.org/rockbox/trunk) nehmen.&lt;br /&gt;
&lt;br /&gt;
== Hardware-Decoder-ICs zum Anschluß an Mikrocontroller ==&lt;br /&gt;
=== Vergleich ===&lt;br /&gt;
Der VS1005 wird voraussichtlich Ogg en- und decoden können. Außerdem wird ein FM Tuner integriert sein.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Chip&lt;br /&gt;
|| VS1001k &lt;br /&gt;
|| [[Vs1002 | VS1002d]]&lt;br /&gt;
|| VS1011b&lt;br /&gt;
|| VS1003&lt;br /&gt;
|| VS1053b&lt;br /&gt;
|| MAS 3507D &lt;br /&gt;
|| MAS 3587F &lt;br /&gt;
|| STA013&lt;br /&gt;
|| STA015&lt;br /&gt;
|| STA016&lt;br /&gt;
|-&lt;br /&gt;
!Hersteller &lt;br /&gt;
|| [http://www.vlsi.fi VLSI] &lt;br /&gt;
|| [http://www.vlsi.fi VLSI] &lt;br /&gt;
|| [http://www.vlsi.fi VLSI] &lt;br /&gt;
|| [http://www.vlsi.fi VLSI] &lt;br /&gt;
|| [http://www.vlsi.fi VLSI] &lt;br /&gt;
|| [http://www.micronas.com Micronas] &lt;br /&gt;
|| [http://www.micronas.com Micronas] &lt;br /&gt;
|| [http://www.st.com ST Microelectronics]&lt;br /&gt;
|| [http://www.st.com ST Microelectronics]&lt;br /&gt;
|| [http://www.st.com ST Microelectronics]&lt;br /&gt;
|-&lt;br /&gt;
!Datasheet/Links&lt;br /&gt;
|| [http://www.vlsi.fi/datasheets/vs1001.pdf]&lt;br /&gt;
|| [http://www.vlsi.fi/datasheets/vs1002.pdf]&lt;br /&gt;
|| [http://www.vlsi.fi/datasheets/vs1011.pdf]&lt;br /&gt;
|| [http://www.vlsi.fi/datasheets/vs1003.pdf]&lt;br /&gt;
|| [http://www.vlsi.fi/datasheets/vs1053.pdf]&lt;br /&gt;
|| ?&lt;br /&gt;
||[http://www.micronas.com/products/documentation/consumer/mas3587f/downloads/mas3587f_2pd.pdf] [http://www.micronas.com/products/documentation/multimedia/mas3587f/index.php]&lt;br /&gt;
|| [http://www.st.com/stonline/books/pdf/docs/6399.pdf]   [http://www.st.com/stonline/prodpres/dedicate/mp3/sta013.htm] [http://www.pjrc.com/tech/mp3/sta013.html]&lt;br /&gt;
|| [http://www.st.com/stonline/books/pdf/docs/7042.pdf]&lt;br /&gt;
|| [http://www.st.com/stonline/books/pdf/docs/7816.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|Output&lt;br /&gt;
|| mit Stereo Earphone driver&lt;br /&gt;
|| mit Stereo Earphone driver&lt;br /&gt;
|| mit Stereo Earphone driver&lt;br /&gt;
|| mit Stereo Earphone driver&lt;br /&gt;
|| mit Stereo Earphone driver&lt;br /&gt;
|| [[I2S]]&lt;br /&gt;
|| mit Stereo Headphone Amplifier, S/PDIF-OUT&lt;br /&gt;
|| z.&amp;amp;nbsp;B. CS4334&lt;br /&gt;
|| z.&amp;amp;nbsp;B. CS4340&lt;br /&gt;
|| ?&lt;br /&gt;
|-&lt;br /&gt;
|Input&lt;br /&gt;
|| SDI&lt;br /&gt;
|| Mic in (mono)&lt;br /&gt;
|| ?&lt;br /&gt;
|| Mic in, Line in (mono)&lt;br /&gt;
|| Mic in, Line in (stereo)&lt;br /&gt;
|| [[SPI]]&lt;br /&gt;
|| 2x [[S/PDIF]]-IN, [[I2S]], SDI, Line-IN, Mic-IN&lt;br /&gt;
|| ? &lt;br /&gt;
|| ?&lt;br /&gt;
|| ?&lt;br /&gt;
|-&lt;br /&gt;
|Käuflich&lt;br /&gt;
|| [http://www.reichelt.de] VS 1001K-S 13,85&amp;amp;#8364;&lt;br /&gt;
|| [http://shop.embedded-projects.net] MP3 Player Projekt (MOD-MP3)  29,90&amp;amp;#8364;&lt;br /&gt;
|| [http://www.reichelt.de] VS 1011E-S 13,05&amp;amp;#8364;&lt;br /&gt;
|| [http://www.segor.de] VS 1003B-L 19,30&amp;amp;#8364;&lt;br /&gt;
|| [http://www.egnite.de] VS 1053B 17,85&amp;amp;#8364;&lt;br /&gt;
|| 2006 Abgekündigt&lt;br /&gt;
|| [http://www.segor.de] MAS 3587 F-QI 24,80&amp;amp;#8364;&lt;br /&gt;
|| [http://www.segor.de] STA 013 25,00&amp;amp;#8364;&lt;br /&gt;
|| ?&lt;br /&gt;
|| ?&lt;br /&gt;
|-&lt;br /&gt;
|Bus&lt;br /&gt;
|| [[SPI]]&lt;br /&gt;
|| [[SPI]] [[UART]]&lt;br /&gt;
|| [[SPI]]&lt;br /&gt;
|| [[SPI]] [[UART]]&lt;br /&gt;
|| [[SPI]] [[UART]]&lt;br /&gt;
|| [[I2C]]&lt;br /&gt;
|| [[I2C]] [[PIO]]&lt;br /&gt;
|| [[I2C]]&lt;br /&gt;
|| [[I2C]] [[SPI]] [[PIO]]&lt;br /&gt;
|| [[I2C]]&lt;br /&gt;
|-&lt;br /&gt;
|Allgemeines&lt;br /&gt;
|| MP3&lt;br /&gt;
|| MP3&lt;br /&gt;
|| MP3&lt;br /&gt;
|| MP3, WMA, MIDI&lt;br /&gt;
|| MP3, WMA, MIDI, OGG Vorbis, LC-AAC, HE-AAC&lt;br /&gt;
|| MP3 decodieren - DSP lässt sich aber durch SW-upload auch umprogrammieren&lt;br /&gt;
|| MP3 de- und encoden&lt;br /&gt;
|| MP3&lt;br /&gt;
|| MP3 de- und encoden&lt;br /&gt;
|| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VS1001 ===&lt;br /&gt;
&lt;br /&gt;
Hersteller: [http://www.vlsi.fi VLSI]&lt;br /&gt;
&lt;br /&gt;
Der VS1001 ist ein Hardware-MP3-Decoder mit einem seriellen [[SPI]]-Interface und einem eingebauten [[DA-Wandler]]. Die vielen VS10xx Varianten sind von der Ansteuerung her recht ähnlich. Siehe auch die Erklärung zur Ansteuerung eines [[Vs1002]].&lt;br /&gt;
&lt;br /&gt;
Update 2015: aktuell ist der VS1063, der z.B. bei Sparkfun erhältlich ist. Dort gibt es auch ein Breakout-Board dazu.&lt;br /&gt;
&lt;br /&gt;
=== STA015 ===&lt;br /&gt;
&lt;br /&gt;
Hersteller: [http://www.st.com ST Microelectronics]&lt;br /&gt;
&lt;br /&gt;
Dieser IC vereint die Möglichkeit, MP3-Datenströme bis 320kBit zu dekodieren und digitale unkomprimierte Datenströme in das ADPCM Format zu verwandeln.&lt;br /&gt;
Beim Decodieren erlaubt der STA015 den direkten Anschluss eines DAC durch ein serielles PCM-Interface. Die zu dekodierenden Daten erhält er via [[SPI]] und die Steuersignale via [[I2C]].&lt;br /&gt;
Falls er Daten komprimiert, stellt er diese an einem parallelen 8 Bit Port bereit.&lt;br /&gt;
Dieser IC ist beispielsweise auf MP3-Playern verbaut, die an Siemens-Handys angeschlossen werden. Dort befindet sich auch ein CS4340 ([[DAC]]).&lt;br /&gt;
Siehe [[Siemens MP3 Player]].&lt;br /&gt;
&lt;br /&gt;
=== MAS3587F ===&lt;br /&gt;
&lt;br /&gt;
Die MP3 Decoder Chips von Micronas sind 2006 komplett abgekündigt worden.&lt;br /&gt;
&lt;br /&gt;
Hersteller: [http://www.micronas.com Micronas]&lt;br /&gt;
&lt;br /&gt;
Distributor: z.&amp;amp;nbsp;B. [http://www.rutronik.de Rutronik]&lt;br /&gt;
&lt;br /&gt;
Erhältlich im PLQFP64, PMQFP64 und PQFN64 [[IC-Gehäuseformen|Gehäuse]].&lt;br /&gt;
&lt;br /&gt;
==== Features ====&lt;br /&gt;
* [[MP3|MPEG 1/2 layer 3]] Encoder mit bis zu 192kbit/s&lt;br /&gt;
* MPEG 1/2 layer 2 and layer 3 Decoder&lt;br /&gt;
* Auslesen des ID3 Tags&lt;br /&gt;
&lt;br /&gt;
==== Schnittstellen ====&lt;br /&gt;
* 2 serielle (I2S und andere Formate)&lt;br /&gt;
* 1 parallele&lt;br /&gt;
* [[I²C]] zur Steuerung&lt;br /&gt;
* S/PDIF Ein- und Ausgang&lt;br /&gt;
&lt;br /&gt;
==== sonstige Funktionen ====&lt;br /&gt;
* zwei DC/DC Konverter&lt;br /&gt;
* Batterie Monitor&lt;br /&gt;
* Mikrofonverstärker&lt;br /&gt;
* Stereo [[AD-Wandler]]&lt;br /&gt;
* Stereo [[DA-Wandler]]&lt;br /&gt;
* 16&amp;amp;Omega; Kopfhörer Verstärker&lt;br /&gt;
&lt;br /&gt;
=== AT89C51SND1C ===&lt;br /&gt;
Eigenständiger Microcontroller inklusive MP3-Codec, USB, IDE, UART, etc.&lt;br /&gt;
z.&amp;amp;nbsp;B. bei Farnell zu erwerben.&lt;br /&gt;
Hinweis (Stand August 2009): bei Farnell nicht mehr verfügbar, da abgekündigt.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* zahlreiche Beiträge zum Thema MP3 [http://www.mikrocontroller.net/forum/1?filter=MP3* im Forum]&lt;br /&gt;
* ...und [http://www.mikrocontroller.net/forum/4?filter=MP3* in der Codesammlung]&lt;br /&gt;
* [http://www.iis.fraunhofer.de/de/bf/amm/mp3history.html Fraunhofer IIS - der &amp;quot;Geburtsort&amp;quot; von MP3]&lt;br /&gt;
* [http://www.fh-jena.de/contrib/fb/et/personal/ansorg/mp3/mp3_2_res.htm Allgemeine Infos zu MP3]&lt;br /&gt;
* [http://www.codeproject.com/KB/audio-video/mpegaudioinfo.aspx MPEG Audio Frame Header] by Konrad Windszus auf Codeproject.com (Infos und Beispielcode u.a. zur Schätzung der Spieldauer/Länge bei VBR Codierung. Windows MFC / C++)&lt;br /&gt;
* [http://de.slideshare.net/hybr1s/eine-cpu-kann-rechnen-aber-ein-dsp-kann-zaubern Eine CPU kann rechnen, aber ein DSP kann zaubern] Vortrag vom 21.08.2014 im Hackspace Siegen (Hasi)&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
[[Category:Bauteile]]&lt;/div&gt;</summary>
		<author><name>87.178.122.163</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=94621</id>
		<title>MIDI</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=94621"/>
		<updated>2016-12-18T02:59:47Z</updated>

		<summary type="html">&lt;p&gt;87.178.122.163: /* externe Links ins Web */ weitere Links zu MIDI specs&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. und auch dem PC.&lt;br /&gt;
&lt;br /&gt;
Das Protokoll ist von der verwendeteten physikalischen Verbindung abhängig. In der ursprünglichen Version werden die Daten [[seriell]] mit 31250 [[Baud]] über eine Stromschleife mit 5&amp;amp;nbsp;mA übertragen. 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 damit von allen gängigen [[UART]]s generiert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware-Spezifikation ist frei verfügbar&amp;lt;ref name=&amp;quot;ElSpec&amp;quot;&amp;gt;[https://www.midi.org/specifications/item/midi-din-electrical-specification MIDI DIN Electrical Specification]&amp;lt;/ref&amp;gt;; die eigentliche MIDI-Spezifikation inzwischen auch&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/the-midi-1-0-specification The Complete MIDI 1.0 Detailed Specification]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Stecker ===&lt;br /&gt;
MIDI benutzt fünfpolige DIN-Stecker, bei denen allerdings nur drei Pins belegt sind. Pins 4 und 5 übertragen das Signal, als Hin- und Rückleitung der Stromschleife; Pin 2 dient nur zur Abschirmung des Kabels.&lt;br /&gt;
&lt;br /&gt;
=== Beschaltung ===&lt;br /&gt;
==== Sender ====&lt;br /&gt;
Im Ruhezustand ist Pin 5 beim Sender offen, was als logisch &amp;quot;1&amp;quot; gilt; zur 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 im Falle eines Kurzschlusses (in diesem Fall muss R2 gut 100 mA vertragen - bei o.g. Dimensionierung etwa 75mA/250mW). Wenn nur eine 5V-Spannungsversorgung zur Verfügung steht, müssen R1 und R2 durch jeweils 220 Ω ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Wenn der TXD-Pin des Mikrocontrollers nicht als Open-Drain konfiguriert werden kann, müssen die I/O-Spannung des Mikrocontrollers und die Versorgungsspannung an R2 übereinstimmen. Wenn der TXD-Pin die gut 5 mA Strom nicht verträgt, muss das Signal durch einen Puffer (z.B. (SN)74LVC1G07/NL17SZ07/TC7SZ07) zwischen TXD und R1 verstärkt werden.&lt;br /&gt;
&lt;br /&gt;
==== Empfänger ====&lt;br /&gt;
Der Empfänger muss den Strom, der zwischen Pins 4 und 5 fließt, auswerten. Zur Vermeidung eine Masseschleife darf Pin 2 nicht direkt mit der Masse des 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,  R1 dient zur Strombegrenzung,  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;
=== Auflösung ===&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 das Senden von 7-Bit-breiten Controllerwerten auf vergleichsweise geringen Geschwindigkeiten, 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, werden die empfangenen Controllerwerte im Endgerät meistens geglättet. Für einige wenige Controller wurden zudem Erweiterungen auf 14 Bits eingeführt.&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/table-3-control-change-messages-data-bytes-2 Control Change Messages]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeit ===&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 Ereignisse, wie z.B. einen beidhändigen Akkordanschlag angemessen zu beschreiben:&lt;br /&gt;
&lt;br /&gt;
Ein MIDI-Ergeinis benötigt mindestens 2 Bytes, wodurch 8 Finger auch ohne irgendwelche zusätzlichen Controllerwerte bereits 16 MIDI-Bytes erzeugen, was zu einer ungewollten Latenz von 6 ms für den letzen Wert gegenüber dem ersten führt. Mit kombinierten Controllerwerten zur Einstellung der Stimme inklusive &amp;quot;NOTE ON&amp;quot;, &amp;quot;VELOCITY&amp;quot;, &amp;quot;TUNING&amp;quot; etc, sind bei 10 Fingern bis zu 80 MIDI-Bytes zu übertragen, was etwa 30ms entspräche.&lt;br /&gt;
&lt;br /&gt;
Durch die verschieden langen Nachrichten kann es daher zu unmusikalischem,&lt;br /&gt;
unvorhersehbaren [[Jitter]] kommen. Komplexere Lautstärkemdulationen mit quasianalogen MIDI-Gebern, wie bei der MIDI-Gitarre und MIDI-Flöte (&amp;quot;breath controller&amp;quot;) sind damit im Zusammenhang mit realer MIDI-Hardware nur sehr eingeschränkt und nur alleine verwendbar.&lt;br /&gt;
&lt;br /&gt;
Ein solcher Controller kann typisch etwa 500 Nachrichten in der Sekunde senden und damit das Anblasen einer Flöte in den ersten 50 ms mit etwa 16 Stützstellen auflösen.&lt;br /&gt;
&lt;br /&gt;
=== Latenz  ===&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 keinem derzeit auf dem Markt verfügbaren Gerät möglich.&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
Statt des MIDI-Transports über die klassische serielle Verbindung, sind heute höhere Bandbreiten möglich, z.B. durch MIDI über USB oder Ethernet. Transportmethoden wie Parallelport (EPP) oder S/PDIF wurden ebenfalls realisiert, konnten sich aber aufgrund mangelnder Kompatibilität nicht durchsetzen bzw sind technisch überholt oder werden nur in Nischen oder Sonderanwendungen verwendet. 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. Die meisten derzeitigen MIDI-Geräte arbeiten aber noch mit Full Speed (12 MBit/s) oder High Speed (480 MBit/s). In der Praxis ist die Geschwindigkeit durch den Mikrocontroller und dessen Software im Endgerät sowie der PC-Infrastruktur 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. 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;
=== Serial wire MIDI ===&lt;br /&gt;
Mit Aufkommen der PCs gab es mehrere Versuche, die COM-Schnittstelle für schnellere MIDI-Kommunikation zu nutzen. Mitte der 90er waren PC-UARTs mit typisch 115k verfügbar. Diese wurden von Anwendern mittels proprietärer Software genutzt oder von Herstellern in einzelne Geräte integriert. Sehr bekannt sind die z.T. heute noch existierenden &amp;quot;TO HOST&amp;quot; Interfaces, die meist über MINI-DIN-Stecker erreichbar waren. Die Kommunikation erfolgte über einen eigenen Treiber.&lt;br /&gt;
&lt;br /&gt;
=== Parallel-Port-MIDI ===&lt;br /&gt;
Ein Abkömmling des seriellen MIDIs sind Parallelportanwendungen, die aber nur bei einzelnen Geräten üblich waren. Oft wurden Mehrfach-MIDI-Controller mit einem Parallelport-Anschluss versehen, um die Datenrate für gleich mehrere MIDI-Geräte (in der Regel 8, seltener 16) bereitstellen zu können. Die ersten Geräte von M-Audio, MIDI-MAN und MOTU arbeiten auf diese Weise. Obwohl die Bandbreite praktisch verzehnfacht wurde, blieb es nur bei der Nutzung zwischen PCs und herstellerspezifischen Geräten. Die Protokolle sind meist nicht kompatibel.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over S/PDIF ===&lt;br /&gt;
Von unterschiedlichen Seiten wurde probiert, die limitierte Entfernung von MIDI-Verbindungen (meist 5m und weniger) durch Übersetzung auf alternative Protokolle zu vergrößern und die Verbindung auch störstabiler zu bekommen. Unter anderem wurde MIDI 2000 vorgeschlagen, welches das MIDI-Protokoll erweitert und in einen Stereo-[[S/PDIF]]-Datenstrom übersetzt und damit die Bandbreite praktisch um den Faktor 100 anhebt. Zum damaligen Zeitpunkt um die Jahrtausendwende waren bereits etliche Studiogeräte und Klangerzeuger mit S/PDIF ausgerüstet - auch Soundkarten mit S/PDIF-Ausgang waren verfügbar. Es blieb jedoch letztlich bei proprietären Applikationen, da sich von der PC-Seite her, [[USB]] 1.0 begann, durchzusetzen. Lediglich eine Firma weltweit bietet mit dem Gerät ES-4 einen S/PDIF-basierten MIDI-Übertragungsweg an.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over Audio ===&lt;br /&gt;
Um die limitierte Bandbreite bei MIDI zu überwinden, wurde schon in den 80ern vorgeschlagen, den MIDI-Datenstrom über Audiokanäle zu senden, um die dort vorhandene Infrastruktur für das Senden und Speichern zu nutzen. Da die MIDI-Bandbreite jedoch wegen der ca. 30kHz rund 100kHz beträgt, müssten 4 Audiokanäle belegt werden, was zum damaligen Zeitpunkt wegen der kaum verbreiteten 4-Kanal / bzw. Surround-Technik nicht für die Breite Masse der Nutzer einsetzbar war. Vereinzelt gelang es, ähnlich wie bei der Datasette im Computerbereich eine Speicherung vorzunehmen, indem eine erhöhte Bandbreite des Signals zusammen mit einer Kompression benutzt wurde. Später wurde Ähnliches mit den 48kHz-Digital-DAT-Recordern probiert, konnte sich aber nicht durchsetzen, weil die meisten Musiker noch analog aufzeichneten.&lt;br /&gt;
&lt;br /&gt;
=== Sonstige ===&lt;br /&gt;
Für Sonderapplikationen gibt es eine Spezifikation für das Senden von MIDI über AES3 oder MADI.&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;
* [http://www.mikrocontroller.net/topic/330669 MIDI Orgel Schieberegister]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320743 MIDI-Platine Eigenbau]&lt;br /&gt;
&lt;br /&gt;
== Referenzen ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externe Links ins Web ==&lt;br /&gt;
* [http://educypedia.karadimov.info/library/The_MIDI_Specification.pdf Frei einsehbare MIDI Spec]&lt;br /&gt;
* [http://www.zem-college.de/midi/mc_form.htm MIDI College]&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;
* [http://home.snafu.de/sicpaul/midi/midi0a.htm MIDI Lexicon]&lt;br /&gt;
* [http://unseretollepage.de/hosted/midiguide/index.html MIDI Guide]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Audio]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>87.178.122.163</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=94620</id>
		<title>MIDI</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=94620"/>
		<updated>2016-12-18T02:52:28Z</updated>

		<summary type="html">&lt;p&gt;87.178.122.163: /* Auflösung */ ref Fehler&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. und auch dem PC.&lt;br /&gt;
&lt;br /&gt;
Das Protokoll ist von der verwendeteten physikalischen Verbindung abhängig. In der ursprünglichen Version werden die Daten [[seriell]] mit 31250 [[Baud]] über eine Stromschleife mit 5&amp;amp;nbsp;mA übertragen. 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 damit von allen gängigen [[UART]]s generiert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware-Spezifikation ist frei verfügbar&amp;lt;ref name=&amp;quot;ElSpec&amp;quot;&amp;gt;[https://www.midi.org/specifications/item/midi-din-electrical-specification MIDI DIN Electrical Specification]&amp;lt;/ref&amp;gt;; die eigentliche MIDI-Spezifikation inzwischen auch&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/the-midi-1-0-specification The Complete MIDI 1.0 Detailed Specification]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Stecker ===&lt;br /&gt;
MIDI benutzt fünfpolige DIN-Stecker, bei denen allerdings nur drei Pins belegt sind. Pins 4 und 5 übertragen das Signal, als Hin- und Rückleitung der Stromschleife; Pin 2 dient nur zur Abschirmung des Kabels.&lt;br /&gt;
&lt;br /&gt;
=== Beschaltung ===&lt;br /&gt;
==== Sender ====&lt;br /&gt;
Im Ruhezustand ist Pin 5 beim Sender offen, was als logisch &amp;quot;1&amp;quot; gilt; zur 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 im Falle eines Kurzschlusses (in diesem Fall muss R2 gut 100 mA vertragen - bei o.g. Dimensionierung etwa 75mA/250mW). Wenn nur eine 5V-Spannungsversorgung zur Verfügung steht, müssen R1 und R2 durch jeweils 220 Ω ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Wenn der TXD-Pin des Mikrocontrollers nicht als Open-Drain konfiguriert werden kann, müssen die I/O-Spannung des Mikrocontrollers und die Versorgungsspannung an R2 übereinstimmen. Wenn der TXD-Pin die gut 5 mA Strom nicht verträgt, muss das Signal durch einen Puffer (z.B. (SN)74LVC1G07/NL17SZ07/TC7SZ07) zwischen TXD und R1 verstärkt werden.&lt;br /&gt;
&lt;br /&gt;
==== Empfänger ====&lt;br /&gt;
Der Empfänger muss den Strom, der zwischen Pins 4 und 5 fließt, auswerten. Zur Vermeidung eine Masseschleife darf Pin 2 nicht direkt mit der Masse des 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,  R1 dient zur Strombegrenzung,  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;
=== Auflösung ===&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 das Senden von 7-Bit-breiten Controllerwerten auf vergleichsweise geringen Geschwindigkeiten, 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, werden die empfangenen Controllerwerte im Endgerät meistens geglättet. Für einige wenige Controller wurden zudem Erweiterungen auf 14 Bits eingeführt.&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/table-3-control-change-messages-data-bytes-2 Control Change Messages]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeit ===&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 Ereignisse, wie z.B. einen beidhändigen Akkordanschlag angemessen zu beschreiben:&lt;br /&gt;
&lt;br /&gt;
Ein MIDI-Ergeinis benötigt mindestens 2 Bytes, wodurch 8 Finger auch ohne irgendwelche zusätzlichen Controllerwerte bereits 16 MIDI-Bytes erzeugen, was zu einer ungewollten Latenz von 6 ms für den letzen Wert gegenüber dem ersten führt. Mit kombinierten Controllerwerten zur Einstellung der Stimme inklusive &amp;quot;NOTE ON&amp;quot;, &amp;quot;VELOCITY&amp;quot;, &amp;quot;TUNING&amp;quot; etc, sind bei 10 Fingern bis zu 80 MIDI-Bytes zu übertragen, was etwa 30ms entspräche.&lt;br /&gt;
&lt;br /&gt;
Durch die verschieden langen Nachrichten kann es daher zu unmusikalischem,&lt;br /&gt;
unvorhersehbaren [[Jitter]] kommen. Komplexere Lautstärkemdulationen mit quasianalogen MIDI-Gebern, wie bei der MIDI-Gitarre und MIDI-Flöte (&amp;quot;breath controller&amp;quot;) sind damit im Zusammenhang mit realer MIDI-Hardware nur sehr eingeschränkt und nur alleine verwendbar.&lt;br /&gt;
&lt;br /&gt;
Ein solcher Controller kann typisch etwa 500 Nachrichten in der Sekunde senden und damit das Anblasen einer Flöte in den ersten 50 ms mit etwa 16 Stützstellen auflösen.&lt;br /&gt;
&lt;br /&gt;
=== Latenz  ===&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 keinem derzeit auf dem Markt verfügbaren Gerät möglich.&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
Statt des MIDI-Transports über die klassische serielle Verbindung, sind heute höhere Bandbreiten möglich, z.B. durch MIDI über USB oder Ethernet. Transportmethoden wie Parallelport (EPP) oder S/PDIF wurden ebenfalls realisiert, konnten sich aber aufgrund mangelnder Kompatibilität nicht durchsetzen bzw sind technisch überholt oder werden nur in Nischen oder Sonderanwendungen verwendet. 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. Die meisten derzeitigen MIDI-Geräte arbeiten aber noch mit Full Speed (12 MBit/s) oder High Speed (480 MBit/s). In der Praxis ist die Geschwindigkeit durch den Mikrocontroller und dessen Software im Endgerät sowie der PC-Infrastruktur 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. 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;
=== Serial wire MIDI ===&lt;br /&gt;
Mit Aufkommen der PCs gab es mehrere Versuche, die COM-Schnittstelle für schnellere MIDI-Kommunikation zu nutzen. Mitte der 90er waren PC-UARTs mit typisch 115k verfügbar. Diese wurden von Anwendern mittels proprietärer Software genutzt oder von Herstellern in einzelne Geräte integriert. Sehr bekannt sind die z.T. heute noch existierenden &amp;quot;TO HOST&amp;quot; Interfaces, die meist über MINI-DIN-Stecker erreichbar waren. Die Kommunikation erfolgte über einen eigenen Treiber.&lt;br /&gt;
&lt;br /&gt;
=== Parallel-Port-MIDI ===&lt;br /&gt;
Ein Abkömmling des seriellen MIDIs sind Parallelportanwendungen, die aber nur bei einzelnen Geräten üblich waren. Oft wurden Mehrfach-MIDI-Controller mit einem Parallelport-Anschluss versehen, um die Datenrate für gleich mehrere MIDI-Geräte (in der Regel 8, seltener 16) bereitstellen zu können. Die ersten Geräte von M-Audio, MIDI-MAN und MOTU arbeiten auf diese Weise. Obwohl die Bandbreite praktisch verzehnfacht wurde, blieb es nur bei der Nutzung zwischen PCs und herstellerspezifischen Geräten. Die Protokolle sind meist nicht kompatibel.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over S/PDIF ===&lt;br /&gt;
Von unterschiedlichen Seiten wurde probiert, die limitierte Entfernung von MIDI-Verbindungen (meist 5m und weniger) durch Übersetzung auf alternative Protokolle zu vergrößern und die Verbindung auch störstabiler zu bekommen. Unter anderem wurde MIDI 2000 vorgeschlagen, welches das MIDI-Protokoll erweitert und in einen Stereo-[[S/PDIF]]-Datenstrom übersetzt und damit die Bandbreite praktisch um den Faktor 100 anhebt. Zum damaligen Zeitpunkt um die Jahrtausendwende waren bereits etliche Studiogeräte und Klangerzeuger mit S/PDIF ausgerüstet - auch Soundkarten mit S/PDIF-Ausgang waren verfügbar. Es blieb jedoch letztlich bei proprietären Applikationen, da sich von der PC-Seite her, [[USB]] 1.0 begann, durchzusetzen. Lediglich eine Firma weltweit bietet mit dem Gerät ES-4 einen S/PDIF-basierten MIDI-Übertragungsweg an.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over Audio ===&lt;br /&gt;
Um die limitierte Bandbreite bei MIDI zu überwinden, wurde schon in den 80ern vorgeschlagen, den MIDI-Datenstrom über Audiokanäle zu senden, um die dort vorhandene Infrastruktur für das Senden und Speichern zu nutzen. Da die MIDI-Bandbreite jedoch wegen der ca. 30kHz rund 100kHz beträgt, müssten 4 Audiokanäle belegt werden, was zum damaligen Zeitpunkt wegen der kaum verbreiteten 4-Kanal / bzw. Surround-Technik nicht für die Breite Masse der Nutzer einsetzbar war. Vereinzelt gelang es, ähnlich wie bei der Datasette im Computerbereich eine Speicherung vorzunehmen, indem eine erhöhte Bandbreite des Signals zusammen mit einer Kompression benutzt wurde. Später wurde Ähnliches mit den 48kHz-Digital-DAT-Recordern probiert, konnte sich aber nicht durchsetzen, weil die meisten Musiker noch analog aufzeichneten.&lt;br /&gt;
&lt;br /&gt;
=== Sonstige ===&lt;br /&gt;
Für Sonderapplikationen gibt es eine Spezifikation für das Senden von MIDI über AES3 oder MADI.&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;
* [http://www.mikrocontroller.net/topic/330669 MIDI Orgel Schieberegister]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320743 MIDI-Platine Eigenbau]&lt;br /&gt;
&lt;br /&gt;
== Referenzen ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externe Links ins Web ==&lt;br /&gt;
* [http://www.zem-college.de/midi/mc_form.htm MIDI College]&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;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Audio]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>87.178.122.163</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=94619</id>
		<title>MIDI</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MIDI&amp;diff=94619"/>
		<updated>2016-12-18T02:50:59Z</updated>

		<summary type="html">&lt;p&gt;87.178.122.163: Link nicht erreichbar - wegen Login - bitte frei verfügbare Referenzen angeben. MIDI Org ist auch bereits mehrfach gelinkt - einmal  Ref reicht&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. und auch dem PC.&lt;br /&gt;
&lt;br /&gt;
Das Protokoll ist von der verwendeteten physikalischen Verbindung abhängig. In der ursprünglichen Version werden die Daten [[seriell]] mit 31250 [[Baud]] über eine Stromschleife mit 5&amp;amp;nbsp;mA übertragen. 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 damit von allen gängigen [[UART]]s generiert werden.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Die Hardware-Spezifikation ist frei verfügbar&amp;lt;ref name=&amp;quot;ElSpec&amp;quot;&amp;gt;[https://www.midi.org/specifications/item/midi-din-electrical-specification MIDI DIN Electrical Specification]&amp;lt;/ref&amp;gt;; die eigentliche MIDI-Spezifikation inzwischen auch&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/the-midi-1-0-specification The Complete MIDI 1.0 Detailed Specification]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Stecker ===&lt;br /&gt;
MIDI benutzt fünfpolige DIN-Stecker, bei denen allerdings nur drei Pins belegt sind. Pins 4 und 5 übertragen das Signal, als Hin- und Rückleitung der Stromschleife; Pin 2 dient nur zur Abschirmung des Kabels.&lt;br /&gt;
&lt;br /&gt;
=== Beschaltung ===&lt;br /&gt;
==== Sender ====&lt;br /&gt;
Im Ruhezustand ist Pin 5 beim Sender offen, was als logisch &amp;quot;1&amp;quot; gilt; zur 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 im Falle eines Kurzschlusses (in diesem Fall muss R2 gut 100 mA vertragen - bei o.g. Dimensionierung etwa 75mA/250mW). Wenn nur eine 5V-Spannungsversorgung zur Verfügung steht, müssen R1 und R2 durch jeweils 220 Ω ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Wenn der TXD-Pin des Mikrocontrollers nicht als Open-Drain konfiguriert werden kann, müssen die I/O-Spannung des Mikrocontrollers und die Versorgungsspannung an R2 übereinstimmen. Wenn der TXD-Pin die gut 5 mA Strom nicht verträgt, muss das Signal durch einen Puffer (z.B. (SN)74LVC1G07/NL17SZ07/TC7SZ07) zwischen TXD und R1 verstärkt werden.&lt;br /&gt;
&lt;br /&gt;
==== Empfänger ====&lt;br /&gt;
Der Empfänger muss den Strom, der zwischen Pins 4 und 5 fließt, auswerten. Zur Vermeidung eine Masseschleife darf Pin 2 nicht direkt mit der Masse des 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,  R1 dient zur Strombegrenzung,  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;
=== Auflösung ===&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 das Senden von 7-Bit-breiten Controllerwerten auf vergleichsweise geringen Geschwindigkeiten, 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, werden die empfangenen Controllerwerte im Endgerät meistens geglättet. Für einige wenige Controller wurden zudem Erweiterungen auf 14 Bits eingeführt.&amp;lt;ref&amp;gt;[https://www.midi.org/specifications/item/table-3-control-change-messages-data-bytes-2 Control Change Messages]&lt;br /&gt;
&lt;br /&gt;
=== Geschwindigkeit ===&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 Ereignisse, wie z.B. einen beidhändigen Akkordanschlag angemessen zu beschreiben:&lt;br /&gt;
&lt;br /&gt;
Ein MIDI-Ergeinis benötigt mindestens 2 Bytes, wodurch 8 Finger auch ohne irgendwelche zusätzlichen Controllerwerte bereits 16 MIDI-Bytes erzeugen, was zu einer ungewollten Latenz von 6 ms für den letzen Wert gegenüber dem ersten führt. Mit kombinierten Controllerwerten zur Einstellung der Stimme inklusive &amp;quot;NOTE ON&amp;quot;, &amp;quot;VELOCITY&amp;quot;, &amp;quot;TUNING&amp;quot; etc, sind bei 10 Fingern bis zu 80 MIDI-Bytes zu übertragen, was etwa 30ms entspräche.&lt;br /&gt;
&lt;br /&gt;
Durch die verschieden langen Nachrichten kann es daher zu unmusikalischem,&lt;br /&gt;
unvorhersehbaren [[Jitter]] kommen. Komplexere Lautstärkemdulationen mit quasianalogen MIDI-Gebern, wie bei der MIDI-Gitarre und MIDI-Flöte (&amp;quot;breath controller&amp;quot;) sind damit im Zusammenhang mit realer MIDI-Hardware nur sehr eingeschränkt und nur alleine verwendbar.&lt;br /&gt;
&lt;br /&gt;
Ein solcher Controller kann typisch etwa 500 Nachrichten in der Sekunde senden und damit das Anblasen einer Flöte in den ersten 50 ms mit etwa 16 Stützstellen auflösen.&lt;br /&gt;
&lt;br /&gt;
=== Latenz  ===&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 keinem derzeit auf dem Markt verfügbaren Gerät möglich.&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
Statt des MIDI-Transports über die klassische serielle Verbindung, sind heute höhere Bandbreiten möglich, z.B. durch MIDI über USB oder Ethernet. Transportmethoden wie Parallelport (EPP) oder S/PDIF wurden ebenfalls realisiert, konnten sich aber aufgrund mangelnder Kompatibilität nicht durchsetzen bzw sind technisch überholt oder werden nur in Nischen oder Sonderanwendungen verwendet. 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. Die meisten derzeitigen MIDI-Geräte arbeiten aber noch mit Full Speed (12 MBit/s) oder High Speed (480 MBit/s). In der Praxis ist die Geschwindigkeit durch den Mikrocontroller und dessen Software im Endgerät sowie der PC-Infrastruktur 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. 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;
=== Serial wire MIDI ===&lt;br /&gt;
Mit Aufkommen der PCs gab es mehrere Versuche, die COM-Schnittstelle für schnellere MIDI-Kommunikation zu nutzen. Mitte der 90er waren PC-UARTs mit typisch 115k verfügbar. Diese wurden von Anwendern mittels proprietärer Software genutzt oder von Herstellern in einzelne Geräte integriert. Sehr bekannt sind die z.T. heute noch existierenden &amp;quot;TO HOST&amp;quot; Interfaces, die meist über MINI-DIN-Stecker erreichbar waren. Die Kommunikation erfolgte über einen eigenen Treiber.&lt;br /&gt;
&lt;br /&gt;
=== Parallel-Port-MIDI ===&lt;br /&gt;
Ein Abkömmling des seriellen MIDIs sind Parallelportanwendungen, die aber nur bei einzelnen Geräten üblich waren. Oft wurden Mehrfach-MIDI-Controller mit einem Parallelport-Anschluss versehen, um die Datenrate für gleich mehrere MIDI-Geräte (in der Regel 8, seltener 16) bereitstellen zu können. Die ersten Geräte von M-Audio, MIDI-MAN und MOTU arbeiten auf diese Weise. Obwohl die Bandbreite praktisch verzehnfacht wurde, blieb es nur bei der Nutzung zwischen PCs und herstellerspezifischen Geräten. Die Protokolle sind meist nicht kompatibel.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over S/PDIF ===&lt;br /&gt;
Von unterschiedlichen Seiten wurde probiert, die limitierte Entfernung von MIDI-Verbindungen (meist 5m und weniger) durch Übersetzung auf alternative Protokolle zu vergrößern und die Verbindung auch störstabiler zu bekommen. Unter anderem wurde MIDI 2000 vorgeschlagen, welches das MIDI-Protokoll erweitert und in einen Stereo-[[S/PDIF]]-Datenstrom übersetzt und damit die Bandbreite praktisch um den Faktor 100 anhebt. Zum damaligen Zeitpunkt um die Jahrtausendwende waren bereits etliche Studiogeräte und Klangerzeuger mit S/PDIF ausgerüstet - auch Soundkarten mit S/PDIF-Ausgang waren verfügbar. Es blieb jedoch letztlich bei proprietären Applikationen, da sich von der PC-Seite her, [[USB]] 1.0 begann, durchzusetzen. Lediglich eine Firma weltweit bietet mit dem Gerät ES-4 einen S/PDIF-basierten MIDI-Übertragungsweg an.&lt;br /&gt;
&lt;br /&gt;
=== MIDI over Audio ===&lt;br /&gt;
Um die limitierte Bandbreite bei MIDI zu überwinden, wurde schon in den 80ern vorgeschlagen, den MIDI-Datenstrom über Audiokanäle zu senden, um die dort vorhandene Infrastruktur für das Senden und Speichern zu nutzen. Da die MIDI-Bandbreite jedoch wegen der ca. 30kHz rund 100kHz beträgt, müssten 4 Audiokanäle belegt werden, was zum damaligen Zeitpunkt wegen der kaum verbreiteten 4-Kanal / bzw. Surround-Technik nicht für die Breite Masse der Nutzer einsetzbar war. Vereinzelt gelang es, ähnlich wie bei der Datasette im Computerbereich eine Speicherung vorzunehmen, indem eine erhöhte Bandbreite des Signals zusammen mit einer Kompression benutzt wurde. Später wurde Ähnliches mit den 48kHz-Digital-DAT-Recordern probiert, konnte sich aber nicht durchsetzen, weil die meisten Musiker noch analog aufzeichneten.&lt;br /&gt;
&lt;br /&gt;
=== Sonstige ===&lt;br /&gt;
Für Sonderapplikationen gibt es eine Spezifikation für das Senden von MIDI über AES3 oder MADI.&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;
* [http://www.mikrocontroller.net/topic/330669 MIDI Orgel Schieberegister]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/320743 MIDI-Platine Eigenbau]&lt;br /&gt;
&lt;br /&gt;
== Referenzen ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externe Links ins Web ==&lt;br /&gt;
* [http://www.zem-college.de/midi/mc_form.htm MIDI College]&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;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Audio]]&lt;br /&gt;
[[Kategorie:Datenübertragung]]&lt;/div&gt;</summary>
		<author><name>87.178.122.163</name></author>
	</entry>
</feed>