mo1001 Posted May 24, 2005 Report Share Posted May 24, 2005 Hallo erstmal in diesem netten Forum!Für ein Kunstprojekt [[0]] benötigen wir eine eine Ansteuerung. Und dazu habe ich einige Fragen. Ich beschreibe aber erstmal kurz das Projekt , damit jede weiß, worums geht, und danach die spezielle Problematik .Das Projekt heisst Projekt Musikmaschinen und behandelt die 'Mechanische Umsetzung von elektronischer Musik'. Im Klartext: ein Rechner steuert eine Reihe (etwa 2-3 Dutzend) mechanischer Klangerzeuger (also Trommeln, Saiteninstrumente etc) die durch Motoren und Elektromagneten angeregt werden. Wer das zu kryptisch findet kann sich auf der ProjektHomepage [[0]] genauere Infos holen. :)Das Projekt wird durchgeführt von einigen Künstlern aus Göttingen, und läuft schon seit Anfang 2005.Nun zum Problem: Es sind schon eine Reihe von mechnischen Instrumenten gebaut worden, diese funktionieren auch gut. Zusätzlich gibt es auch schon den leistungselektronischen Teil, auch dieser arbeitet. Problematisch ist lediglich die Umsetzung MIDI - Steuersignale für die Leitungselektronik. Wir hatten einen Demultiplexer von Botex (ME-72 von Thomann) in Betrieb, der die MIDI Signale eines Channels auf 72 kanäle (Tonhöhe) in Analogwerte (Volumwerte) umsetzt. Das Teil ist toll und total preiswert - nur ist das Timing so schlecht das man es fast nicht einsetzten kann.Also um zusammenzufassen: wir benötigen etwa 80 binäre Ausgänge, die man per MIDI schalten kann, und das ganze mit einer latenz <20ms. Ich habe schon auf der Usappsseite geschaut und einiges Equipment (MIDIO128 / Dout modul) gefunden, bin mir aber unsicher ob das das richtige ist und wenn ja wie das zu kombinieren ist,.ich hoffe ihr könnt uns helfen!grüssemoritz[[0]] http://www.neureal.de/musikmaschinen/ Quote Link to comment Share on other sites More sharing options...
TK. Posted May 24, 2005 Report Share Posted May 24, 2005 Hallo Moritz,fuer MIOS gehoert die Ansteuerung von bis zu 128 digitalen Ausgaengen "zu den leichtesten Uebungen". Das System ist dabei gerade mal zu 10% ausgelastet, die Latenz ist vernachlaessigbar klein (sobald das MIDI Event eingetroffen ist, wird es im Worst Case ca. 50 uS spaeter bearbeitet). Die Latenz wird also im Wesentlichen von der MIDI Baudrate bestimmt, die betraegt 31250 Baud. Eine Note oder CC Event besteht im Normallfall aus 3 Bytes (-> ergibt 960 uS Uebertragungsdelay), oder im Falle, dass das ein MIDI Programm den sog. Running Status ausnutzt, 2 bytes (-> ergibt 640 uS Uebertragungsdelay)Nun bleibt nur noch die Frage offen, ob die Ausgaenge ueber ein einzelnes MIDI Event, oder ueber verschiedene (bspw. verschiedene Noten) angesteuert werden sollen. Falls einzelne Events verlangt werden (bspw. um die Ansteuerung mit einem MIDI Sequenzer zu vereinfachen), ist eine Latenz < 20 mS nicht machbar, da die Uebertragung von 80 Noten bedingt durch die Baudrate 76.8 mS (ohne Running Status), bzw. 51.2 mS (mit Running Status) dauert.Man koennte jedoch die Eingaenge auch ueber eine SysEx Meldungen ansteuern - 80 bits lassen sich in 12 7-bit werte verstauen, diese werden von einem F0 und F7 Status Byte eingerahmt, macht 14 Bytes. Auf diese Weise koennte man die maximal erreichbare Updaterate bei 5 mS reduzieren.Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
mo1001 Posted May 25, 2005 Author Report Share Posted May 25, 2005 Hallo Thorsten, Danke erstmal für deine ausfuehrliche Antwort!Ich habe aber doch noch eine Frage: du schreibst ,dass die Uebertragung von 80 Noten ueber verschiedene Events 76.8 mS (ohne Running Status), bzw. 51.2 mS (mit Running Status) dauern kann. Aber das gilt doch sicherlich nur wenn man alle 80 Noten gleichzeitig senden wuerde, oder? Ich habe das wenig ausfuehrlich geschrieben, aber über das Interface laeuft ganz 'normale' Musik: Bassdrum (ein binaerer Kanal), Snare (zweiter binaerer Kanal) usw.... Insofern ist es sehr unwahrscheinlich, dass während des Betriebs alle 80 Intrumente gleichzeitig kommen. Die Verzögerungszeit verringert sich demnach staerker, je weniger Notenwerte gleichzeitig uebertragen werden,oder?Und noch ein Frage: du schriebst Nun bleibt nur noch die Frage offen, ob die Ausgaenge ueber ein einzelnes MIDI Event, oder ueber verschiedene (bspw. verschiedene Noten) angesteuert werden sollen.[[...]] Ich muss nnochmal direkt nachfragen: 'Verschiedene Events' heisst hier schon: verschieden Notenwerte eines Instruments? Das wird, denke ich, der Fall sein.Und zu allerletzt: Nehmen wir mal an, die Latenz ist in den Griff zu bekommen: Liege ich dann richtig wenn ich plane, die Baugruppen 'MIDIO 128' und 'DOUT' zu kombinieren, um meine128 Ausgaenge zu bekommen?Gruesse aus dem sonnigen Goettigen und 1000 x Danke!! :)moritz Quote Link to comment Share on other sites More sharing options...
TK. Posted May 25, 2005 Report Share Posted May 25, 2005 Hallo Moritz,Ich habe aber doch noch eine Frage: du schreibst ,dass die Uebertragung von 80 Noten ueber verschiedene Events 76.8 mS (ohne Running Status), bzw. 51.2 mS (mit Running Status) dauern kann. Aber das gilt doch sicherlich nur wenn man alle 80 Noten gleichzeitig senden wuerde, oder? Ich habe das wenig ausfuehrlich geschrieben, aber über das Interface laeuft ganz 'normale' Musik: Bassdrum (ein binaerer Kanal), Snare (zweiter binaerer Kanal) usw.... Insofern ist es sehr unwahrscheinlich, dass während des Betriebs alle 80 Intrumente gleichzeitig kommen. Die Verzögerungszeit verringert sich demnach staerker, je weniger Notenwerte gleichzeitig uebertragen werden,oder?ja, beides ist richtig.Und noch ein Frage: du schriebst Ich muss nnochmal direkt nachfragen: 'Verschiedene Events' heisst hier schon: verschieden Notenwerte eines Instruments? Das wird, denke ich, der Fall sein.ja, das war gemeint. Bei der MIDIO128 kann man bspw. auch eine 1-zu-x Steuerung realisieren, bei der ein einziges Event (bspw. ein Program Change), mehrere ausgaenge gleichzeitig schaltet.Und zu allerletzt: Nehmen wir mal an, die Latenz ist in den Griff zu bekommen: Liege ich dann richtig wenn ich plane, die Baugruppen 'MIDIO 128' und 'DOUT' zu kombinieren, um meine128 Ausgaenge zu bekommen?Ja, ihr benoetigt 4 DOUTX4 Module und ein CORE Modul. Zusaetzlich ein PIC Programmiergeraet (JDM oder besser PIC_BURNER), wobei hier jedoch optional jemand aus dem Forum den Bootstrap Loader flaschen koennte (MIOS und MIDIO128 werden ueber MIDI aufgespielt)Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
mo1001 Posted May 27, 2005 Author Report Share Posted May 27, 2005 Ja super! Dann werd' ich das so ausprobieren. Hab mich auch mal mit Markus (Sound Showtechnik, Jühnde) kurzgeschlossen, er wird mir dabei vielleicht etwas Starthilfe geben können. Also - Vielen Dank für die Hilfe! Ihr hört von uns :)Moritz Quote Link to comment Share on other sites More sharing options...
ljmarkus Posted May 27, 2005 Report Share Posted May 27, 2005 der heißt Markus :'( :'( Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.