Guten Tag! Z.Z. mache ich mir Gedanken um MIDI. Für Experimente habe ich eine Platte gemacht. Schema und Foto sind dabei. Ich habe alles getestet: alle Elementen arbeiten gut: LCD, Tasten, Drehgeber, MIDI IN und OUT, externe RAM. Ich habe sogar für Testzwecke per MIDI-Lautstärke LCD-Beleuchtung mit PWM gesteuert. Ich habe auch von verschiedenen Instrumenten MIDI-Code empfangen und auf Unterschiede gekuckt. Nun möchte ich eigentliche MIDI-Recorder programmieren. Stufe um Stufe. Zuerst vielleicht ein Stück aufnehmen und ausgeben. Und hier habe ich viele Fragen... Ich habe versucht, hier auf der Seite vorhandene Projekte zu analysieren, aber das scheint mir irgendwie zu kompliziert, nicht genug transparent. Könnten Sie mir vielleicht einige Tipps geben? Auf der Platte steht schon IC NVRAM mit Li-Batterie, 128 Kilobytes. Das sollte nach meinen Einschätzen etwa für 32 Seiten von Notentext reichen. Es gibt auch Erweiterungsbuchse, wo ich später eine SD-Karte einschließen kann (SPI und einige zusätzliche PORTS sind dabei). Hauptsache, Grundfunktion wird gemacht. Ich bin natürlich nicht an Standards gebunden. Welche Format für Speichern wäre am besten? Sollte ich alle empfangenen Nachrichten (vielleicht außer 0xfe ) einfach ohne Veränderung speichern und dazu auch Zeitdifferenz zwischen bytes? Oder die Zeit von Anfang des Stückes speichern, für jede byte? Oder sollte ich schon die Nachrichten eingruppieren (entsprechend je 3 oder je 2 bytes, je nachdem)? Außerdem habe ich festgestellt: meine MIDI-Tastatur, zum Unterschied von Orgeln, sendet manchmal Status-byte nur einmal für mehrere Tasten. Ist das normal? oder sollte ich bei der Ausgabe normale 3-bytes-Nachrichten generieren? Es wäre nicht schlecht, wenn ich etwas auf einem Instrument einspielen kann und auf einem anderen Instrument wiedergeben. Wie wäre es am besten Tempo-Veränderungen zu organisieren? Ziel ist für das Ganze, dass ich vielleicht meine Kantorei leiten kann, während das Klavier selber spielt, was ich im voraus eingespielt habe. Jetzt habe ich als Systemtakt timer3-Interrupt 1 ms eingeschaltet, 1 ms für Drehgeber und jede Zehnte (d.h. einmal in 10 ms) für Tasten und Knopf von Drehgeber. Reicht es, wenn ich Zeit für MIDI in ms speichere, oder braucht man hier mehr zeitliche Genauigkeit? Ich werde für jeden Tipp sehr dankbar. Viele Grüße, Maxim.
Maxim B. schrieb: > Ich bin natürlich nicht an Standards gebunden. Nimm trotzdem was bekanntes. Maxim B. schrieb: > Welche Format für > Speichern wäre am besten? *.MID ist schon ziemlich gut. Das macht auch die Überprüferei einfach, weil so gut wie jedes Betriebssystem MID abspielen kann. Umgekehrt kannst du mit MID auch deinen Recorder checken. https://www.csie.ntu.edu.tw/~r92092/ref/midi/ http://faydoc.tripod.com/formats/mid.htm https://www.loc.gov/preservation/digital/formats/fdd/fdd000119.shtml
:
Bearbeitet durch User
Maxim B. schrieb: > meine MIDI-Tastatur, zum Unterschied von Orgeln, sendet manchmal Status- > byte nur einmal für mehrere Tasten. Ist das normal? Ja; das nennt sich "Running Status". > oder sollte ich bei der Ausgabe normale 3-bytes-Nachrichten > generieren? Alle MIDI-Geräte müssen Running Status verstehen. > Wie wäre es am besten Tempo-Veränderungen zu organisieren? Du hast nur die Zeitstempel einzelner Nachrichten; daraus das Tempo abzuleiten, wäre eine interessante Anwendung künstlicher Intelligenz ... > Reicht es, wenn ich Zeit für MIDI in ms speichere, oder braucht man hier > mehr zeitliche Genauigkeit? 1 ms sollte unhörbar sein.
Die hypothetisch mögliche Zeitauflösung bestimmt sich aus der Baudrate und der Länge einer MIDI-Nachricht. Bei 31250 Baud und 8n1 sind also maximal 3125 Bytes pro Sekunde übertragbar, und da eine MIDI-Nachricht oft 3 Bytes lang ist ... dürfte 1 msec Auflösung eindeutig genug sein.
Clemens L. schrieb: > Du hast nur die Zeitstempel einzelner Nachrichten; daraus das Tempo > abzuleiten, wäre eine interessante Anwendung künstlicher Intelligenz ... > Als erstes kommt in Kopf: bei der Wiedergabe OCR-Werte für Timer zu variieren, wo sich 1-ms-Puls bildet. D.h. statt 1ms-interrupt werden 0,5ms bis 2ms. Gibt es vielleicht Alternativen?
Maxim B. schrieb: > Als erstes kommt in Kopf: bei der Wiedergabe OCR-Werte für Timer zu > variieren, wo sich 1-ms-Puls bildet. D.h. statt 1ms-interrupt werden > 0,5ms bis 2ms. Ist möglich. > Gibt es vielleicht Alternativen? Du könntest den Timer so programmieren, dass er passend für die jeweils nächste Nachricht einen Interrupt auslöst. Und wenn du externe MIDI-Dateien einlesen willst, hast du nicht mehr Millisekunden, sondern Mikrosekunden pro Viertelnote kombiniert mit Ticks pro Viertelnote.
Danke. Nein, fremde MIDI-Dateien plane ich nicht ein, ich habe keine. Mir geht es nur darum, mit meinen Instrumenten frei hantieren zu können. Manchmal muß ich als Kantor gleichzeitig mehrere Aufgaben machen. Hier in Dorf sind wir nicht so reich wie z.B. in Potsdam, wo einer Orgel spielt und ein anderer Kantorei leitet... Ich muß alles selber... Gleichzeitig... Ich glaube, es wird leichter, alles selber einzuspielen, als schon fertige gerade für meine Aufgaben passende Dateien zu finden. Aber Tempo anpassen zu können wäre es nicht schlecht. Um Z.B. langsamer einspielen zu können, als gespielt wird. Oder umgekehrt: wenn wenig Zeit für Vorbereitung, alles schnell einspielen, speichern - und dann in richtigen Tempi abspielen zu lassen... Ich habe versucht, Mr.MIDI von dieser Seite zu compilieren. Aber mit heutigen GCC geht das nicht mehr, zu viele Fehler gezeigt. Ich denke, das Programm kann ich nicht anpassen, das übersteigt meine Fähigkeiten als Programmierer. Außerdem habe ich wenig Lust etwas zu machen, wo ich nicht bis zu Ende verstehe, wie alles genau arbeitet. Ich habe MIDI-fähigen eine 2-man. elektrische Orgel, ein Orgelpositiv, zwei Pianos und noch eine MIDI-Tastatur. Die möchte ich mit dem Gerät benutzen. Und wenn's geht, auch so, daß ich mit einem etwas spiele und mit dem anderen auch wiedergebe.
:
Bearbeitet durch User
Maxim B. schrieb: > Aber Tempo anpassen zu können wäre es nicht schlecht. Um Z.B. langsamer > einspielen zu können, als gespielt wird. Oder umgekehrt: wenn wenig Zeit > für Vorbereitung, alles schnell einspielen, speichern - und dann in > richtigen Tempi abspielen zu lassen... Das ist etwas, was seit Jahrzehnten praktisch jede Midi-Sequencer-Software aus dem Handgelenk erledigt. Ein altes Notebook, an dem ein einfacher USB-Midi-Adapter angeschlossen wird und etwas kostenlose Software (MIDI-Sequencer existieren auch als Open Source) löst das Problem. Obendrein kann ein solcher MIDI-Sequencer auch nicht-selbsterstellte Dateien abspielen, was durchaus auch sinnvoll sein kann. Hier zwei Beispiele: https://en.wikipedia.org/wiki/MuseScore https://en.wikipedia.org/wiki/Aria_Maestosa
Ein Software-Sequenzer ist für mich nicht wert. In Praxis ist nicht möglich, ein Laptop einzuschalten und Betriebssystem starten. (und wenn ich gleichzeitig ein Orgelpositiv und zwei Klaviere brauche, dann auch drei Laptops? oder ein, aber mit drei MIDI-Interface und 3x 30 Meter MIDI-Kabel von Orgelempore bis zu Altar? Und noch eine Stunde zusätzlich vor dem Gottesdienst, um das alles zusammen zu verbinden - als ob ich mit Kantorei und mit Bläser gar nicht proben muß und das sollte dann wohl einzige GD am Tag sein... Für Praxis absolut nicht brauchbar.) Ich brauche etwas, was ich einschalte und dann nach 1 Sekunde los. Ich habe schon früher bei allen Musikgeschäften gekuckt: bei Thomann und auch bei anderen. Überall nur Software-Sequenzer und keine kleine autarke Kiste mit Batteriespeisung, was ich brauche. Wahrscheinlich weil die ganze Industrie nur für Pop-Musiker eingestimmt ist. Ja, uns Kantoren gibt es in Deutschland gut wenn 2000. Viele davon meiden absichtlich jede Elektronik. Ich selbst bin nur deshalb dafür, weil ein Orgelpositiv 80 kg schwer ist und für Transport ein Kleinbus braucht, während ein el. Orgelpositiv nur 15 kg schwer und auch in PKW paßt). Es lohnt sich für Wirtschaft nicht, etwas zu machen, was nur für uns verwendbar ist. Deshalb sollten wir sich selber helfen... Ich habe gerade Macro ausprobiert, um mit akzeptablen Fehler Tempo einstellen zu können. 1000 = 100% Tempo, d.h. wie gespielt.
1 | #define MIDI_TEMPO(x) (((F_CPU/8)/x)-1)
|
2 | typedef unsigned int u16; |
3 | |
4 | for(u16 mein_tempi=250;mein_tempi<4001;mein_tempi += 10){ |
5 | OCR3A = MIDI_TEMPO(mein_tempi); |
6 | }
|
:
Bearbeitet durch User
Maxim B. schrieb: > Ein Software-Sequenzer ist für mich nicht wert. In Praxis ist nicht > möglich, ein Laptop einzuschalten und Betriebssystem starten. Das klingt stark nach Verweigerungshaltung. Du hast Dich für Deine (aufwendige) Bastellösung entschieden und basta. Die Probleme sind allesamt lösbar oder existieren nur in Deinem Kopf; und warum bitte soll man, um mehrere Instrumente anzusteuern, mehrere Sequencer benötigen? Mit einem kannst Du ein komplettes Orchester abwickeln. Du brauchst also nicht mehrere MIDI-Interfaces, und natürlich auch nicht einen entsprechenden Drahtverhau. Anstelle eines Notebooks kannst Du auch ein windowsbasiertes Tablet verwenden, das hat effektiv gar keine Bootzeit, und ein USB-Midi-Interface kann man natürlich auch daran betreiben.
Ich möchte nicht als starr erscheinen... Praxis ist so: jede Gruppe braucht eine Begleitung in der Nähe. Nicht in 30 Meter, das ist akustisch Unfug. Auch meine übliche Praxis. 8.00 GD in einem Dorf, 9.30 GD in einem anderen Dorf, dann um 11.00 GD in einer Kleinstadt, wo ich ganze Technik brauche... Ich möchte eine Hilfe für meine Arbeit, und mit Software-Sequenzer bekomme ich statt dessen nur zusätzliche Sorgen und Belastung! Glaub mir: als Musiker weiß ich sehr genau, was ich brauche. Jede zusätzliche kg und auch Kabel, Pult, Mikrofon, Instrument, Ständer usw. zähle ich genau, was ich tragen muß. Andere Sache, in Elektronik bin ich nur ein Hobby-Bastler. Ich weiß, was ich brauche, weiß aber noch nicht genau, wie ich das schaffe. Deshalb bin ich da. :) <<Anstelle eines Notebooks kannst Du auch ein windowsbasiertes Tablet <<verwenden Außer Laptop noch Tablett kaufen? Und dann alles packen, entpacken, einstellen, zusammen packen, kucken, um Bildschirm nicht kaputt geht, alles in PKW laden, dann entladen, wieder laden... Eine kleine Kiste, ohne zerbrechlichen Details, die immer zusammen mit Keyboard verpackt griffbereit liegt, die ich mit nur 2 50cm MIDI-Kabel schnell einschalte, ein Knopf drucke, und das war's! DAS brauche ich!
:
Bearbeitet durch User
Also geht es um den Unterschied eines kleinen selbstgebastelten Kästchens, das nur sehr wenig kann und nur sehr rudimentär zu bedienen ist zu einem Windows-Tablet mit einem USB-Midi-Adapter. Das ist der gesamte Unterschied. Und Du willst Deinen Gruppen, die anscheinend gleichzeitig irgendeine Begleitung brauchen, diese völlig asynchron aus mehreren Deiner Wunderkästchen abspielen? Gut, der i.d.R. lange Hall und die oft gar nicht so tolle Akustik in Kirchenbauten und vor allem der nach dem Motto "Treffpunkt Fermate" veranstaltete Gemeindegesang legt einen Breiteppich aus Ungenauigkeit und Gewaber über das ganze, das macht dann auch nicht mehr viel aus. Bitte; s' ist Deine Zeit, Dein Entwicklungsaufwand. Wenn Du tatsächlich glaubst, mit einer Selbstbaulösung näher am gewünschten Ziel anzukommen, dann machs halt.
Maxim B. schrieb: > Überall nur Software-Sequenzer und keine kleine > autarke Kiste mit Batteriespeisung, was ich brauche. Bei E-Bay gibt es oft die Yamaha QY Sequenzer Serie. Ich habe den QY 8 und einen QY 70. Die sind Batteriebetrieben und haben auch noch einen Klangerzeuger an Bord. Gerade der QY 8 wird für wenig Geld gehandelt. Meinen QY 70 habe ich z.B. für weniger als 70 € gebraucht erworben.
Rufus Τ. F. schrieb: > Also geht es um den Unterschied eines kleinen selbstgebastelten > Kästchens, das nur sehr wenig kann und nur sehr rudimentär zu bedienen > ist zu einem Windows-Tablet mit einem USB-Midi-Adapter. > > Das ist der gesamte Unterschied. > > Windows kann sicher sehr viel. Aber gebraucht wird davon sowieso sehr wenig. Ich bin kein Theoretiker. Ich bin ein Praktiker. Ich brauche keine Lösund fürs Lebenszeit. Ich brauche eine Hilfe für meine Arbeit. Und keine zusätzliche Belastung. Das ist gesamte Unterschied. :) > Und Du willst Deinen Gruppen, die anscheinend gleichzeitig irgendeine > Begleitung brauchen, diese völlig asynchron aus mehreren Deiner > Wunderkästchen abspielen? Ich habe mir das etwa so vorgestellt: Gruppe: es geht mit ihr viel besser, wenn ich alle Einsätze dirigentisch gebe. Dann kommen alle (die keine beruflichen Sänger sind) viel genauer mit, als ich nur mit dem Kopf von dem Instrument nicken kann. Das ist wichtigste Verwendung. Da die Begleitung sowieso von mir selber gespielt wird, wenn auch im voraus, so kann ich alle Zäsuren und Rubato berücksichtigen. Noch eine Situation: Abendmahl. Gewöhnlich spiele ich etwas. Um aber selber zu Abendmahl nach unten zu kommen, muß ich Musik unterbrechen. MIDI-Block ermöglicht mir Teilnahme in Abendmahl. Ich möchte nicht, daß ich IMMER von MIDI-Block ersetzt bin. Ich möchte nur etwas freie Hände haben, ein bißchen Hilfe. Ab und zu kommt, daß ich auch ohne Pfarrer GD machen muß. Viel bequemer dann, wenn ich kurze Pausen machen kann, während die Lieder gesungen werden. Sonst ist das praktisch doppelte Last...
:
Bearbeitet durch User
2⁵ schrieb: > Bei E-Bay gibt es oft die Yamaha QY Sequenzer Serie. Ich habe den QY 8 > und einen QY 70. Danke für Tipp! Ich kucke, vielleicht ist das wirklich etwas, was ich gebrauchen kann. ja, ich habe Manual gelesen. Ich denke, ich werde das ausprobieren. Es gibt welche bei Ebay. Schließlich benutze ich auch ein Keyboard von Yamaha: Klang ist scheußlich, dafür aber nur 3,5 kg und kann von Batterien arbeiten. Aber irgendwie habe ich schon Lust, etwas selber zu bauen... Yamaha ist eine gute Firma. Aber auch: dort ist anderes in Visier, nicht was ich vor allem brauche. Bei Thomann keine reine Sequenzer von Yamaha, nur Keyboards. Und immer: viel und immer mehr alles mögliches. Nur dadurch sind Instrumente immer schwerer. Für mich ist aber klar: von so einem Instrument bekommt man nie akzeptablen Klang. Einziges, was Verwendung rechtfertigen kann, ist Mobilität: geringe Masse und Möglichkeit ohne Stromnetz zu laufen... Aber was von Yamaha angeboten wird, wird immer schwerer... Immer schlechtere Übersicht durch Funktionen, weil viel Unnötiges eingebaut wird... Als Beispiel: bei el. Orgelpositiv kann ich leicht Register zwischen Liedstrophen umschalten. 1-2 Fingerbewegungen reichen. Auch mit FK ist möglich, dann noch einfacher. Bei Yamaha-Keyboard: abgesehen von schlechterem Klangqualität: ich muß für Klangwechsel drei Ziffer tippen, dabei sehr genau auf kleine Tasten geraten, was beim Spielen nicht so einfach ist! Z.B. 0-3-8 tippen, dann nach einer Strophe 1-6-7 (die meisten Klänge sing völlig unbrauchbar, man muß passende sorgfältig aussuchen und gut im Kopf merken, sonst kommt eine Panne!)... Also, mit Pop-Werkzeug muß man sehr vorsichtig umgehen, wenn man so etwas für Musik verwenden will! Möglich, aber nur bedingt.
:
Bearbeitet durch User
Rufus Τ. F. schrieb: > > Bitte; s' ist Deine Zeit, Dein Entwicklungsaufwand. Wenn Du tatsächlich > glaubst, mit einer Selbstbaulösung näher am gewünschten Ziel anzukommen, > dann machs halt. Ich habe schon sowieso viel investiert: Grundausstattung erworben (Oszilloskop, alles fürs Löten, Minimum von Details, die man täglich braucht). Ein bißchen "C" einstudiert, so daß schon etwas lauffähiges kommt. Ich brauche auch Ablenkung von meiner Arbeit: wenn zu viel Musik und nur Musik, dann endet man irgendwann im Irrenhaus... Ich muß etwas machen. Aber vielleicht nicht so schnell, nur langsam - weil vieles anderes immer dazwischen kommt. > Und Du willst Deinen Gruppen, die anscheinend gleichzeitig irgendeine > Begleitung brauchen, diese völlig asynchron aus mehreren Deiner > Wunderkästchen abspielen? Ich kann immer doch jemand bitten, Knopf zu drucken, während ich zu Orgel nach oben gehe. Hauptsache, Kistchen hat keine Menu, oder wenn ohne Menu ganz unmöglich, dann alle wichtigsten Funktionen direkt ergreifbar. Das ist sehr wichtig. Man hat keine Zeit beim Musizieren, zwischen Menu-Urwald durchzukriechen... Alles wichtige sollte durch einen einigen Tastenklick möglich sein. Als Beispiel: Viscount-Orgelpositiv Cantorum-VI hat keine Menu. Alles ist mit Tasten möglich, verschiedene Modi sind mit roten LED und auch mit Beleuchtung von Registertasten gezeigt. Das ist sehr klug gemacht!
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.