Technik > Tech-Talk Design & Konzepte
Entwicklung eines Midi-Switching-Systems auf Arduino-Basis
Nils H.:
Moin,
zum Thema EEPROM/Presets sichern: Ich hab mich ein wenig in die Themen SysEx und Bulk Dump/Load eingelesen, ich denke, ich werde das so machen. Die Routinen hierfür dürften überschaubar sein, Softwareseitig geht das ganz gut z.B. mit MIDI-OX. Allerdings müsste ich fürs zurück sichern doch noch einen MIDI-Input einbauen. Kein großes Problem, auf dem µC-Board ist die Beschaltung bereits vorgesehen. Müsste nur noch mal 'n Lock für die Buchse bohren.
Von fertig bin ich allerdings doch noch ein Stück weg, ich hab doch noch einiges an Baustellen gefunden. Wenn die Presetbearbeitung und -speicherung fertig ist, ist der Controller aber auf jeden Fall schon mal produktiv nutzbar.
Ansonsten hab ich beim erneuten Überfliegen des Marktes noch ein paar Inspirationen gefunden und ein paar andere Ideen entwickelt.
Eine davon ist: Es gibt eigentlich kein Midiboard, welches eine MIDI Beat Clock senden kann; warum eigentlich nicht? Protokollseitig ist das, wenn ich das richtig verstanden habe, relativ simpel: 24 mal pro Beat das Statusbyte F8 senden, fertig. Der Empfänger (in meinem Fall mein Delay) leitet dann aus dem zeitlichen Abstand der ankommenden Statusbytes das Songtempo ab.
Ich spiele 90% aller Songs in meiner Band mit dem gleichen Preset in meinem TC G-Sharp, nämlich ein Hall und ein Delay. Das einzige was sich von Song zu Song unterscheidet ist das Delay Tempo (falls das Delay denn benutzt wird). Normalerweise passe ich das Delay per Tap Tempo an, kein Problem. Aber lustig wäre es doch, wenn ich in den Presets eine BPM Angabe hinterlegen könnte. Der Controller sendet dann die passende MIDI Clock, und das Delaytempo (oder andere Parameter) wird automatisch angepasst.
Ein netter Nebeneffekt wäre, dass ich das auch gleich auf eine LED umlegen könnte und dann so eine Art Metronom im Board hätte. Wäre ganz praktisch z.B. zum einzählen.
Ich frage mich, warum das nie so umgesetzt wird. Wenn man mit einem µC ohne großen Aufwand eine Uhr bauen kann, wird's für eine MIDI Clock und eine Tempo LED doch wohl reichen. Das ganze könnte dann mit einem "Song Mode" kombiniert werden, wie ihn einige Controller bieten, was ja wohl nicht vielmehr als eine Preset-Map ist. Hier könnte ich dann auch die BPM hinterlegen.
Eine weitere Idee ist, vor dem Hintergrund, den Looper relativ dumm halten zu wollen und auf Display und Taster verzichten zu wollen, die Möglichkeit der Remote-Konfiguration des Loopers. Also vom Controller aus per SysEx z.B. den MIDI-Kanal des Loopers einstellen oder sowas.
Also, Ideen gibt's vermutlich noch genug. Am Wochenende werde ich wohl mal die Platinen für den Looper zusammenlöten.
Gruß, Nils
kugelblitz:
Hi Nils,
--- Zitat von: Nils H. am 22.08.2013 10:37 ---Ein netter Nebeneffekt wäre, dass ich das auch gleich auf eine LED umlegen könnte und dann so eine Art Metronom im Board hätte. Wäre ganz praktisch z.B. zum einzählen.
--- Ende Zitat ---
Die midiclock Idee gefällt mir. :topjob: Eigentlich schlimm auf wie viele Ideen man kommt wenn man sich so etwas selbst macht.
BTW vielleicht hast Du es schon geschrieben, aber wie hinterlegst Du den Status der Effekte im Board (Annahme: Gmaj oder Gmaj als Gegenstück). Ich speichere sie ATM nicht und damit kann es sein daß das erstemal schalten nach Presetwechsel 127 statt 0 sendet und erst beim zweiten mal findet der Wechsel statt? Speicherst Du alles in Deinen Presets im fußcontroller oder hast Du eine Möglichkeit gefunden den Status beim Gmaj(2) zu erfragen?
Gruß,
Sepp
Gruß,
Sepp
Nils H.:
--- Zitat von: kugelblitz am 22.08.2013 12:23 ---BTW vielleicht hast Du es schon geschrieben, aber wie hinterlegst Du den Status der Effekte im Board (Annahme: Gmaj oder Gmaj als Gegenstück). Ich speichere sie ATM nicht und damit kann es sein daß das erstemal schalten nach Presetwechsel 127 statt 0 sendet und erst beim zweiten mal findet der Wechsel statt? Speicherst Du alles in Deinen Presets im fußcontroller oder hast Du eine Möglichkeit gefunden den Status beim Gmaj(2) zu erfragen?
--- Ende Zitat ---
Der Controller ist der Master für alle Presets. Im Presetsatz finden sich die Program Changes für alle Geräte (1 Byte pro Gerät = 8 Byte, MSB als "deaktiviert"-Flag). Außerdem wird der Status der 32 CC-Taster in 4 Byte abgespeichert, für jeden ein Bit. Die CC-Taster sind global konfiguriert, wenn sie als "Senden mit Preset" markiert sind, werden sie beim Presetwechsel mitgesendet.
Das Erstellen von Presets mit z.B. einem G-Major, liefe dann so:
1. Im Controller Program Change festlegen
2. Im Effektgerät Preset aufrufen
3. per CC-Taster die gewünschten Effektblöcke ein- und ausschalten
4. Preset im Controller speichern.
Rufe ich jetzt ein Preset ab, passiert folgendes:
1. Der Controller überprüft den PC-Befehl. Wenn er gleich dem letzten gesendeten Befehl ist, ignoriert er ihn. Ansonsten sendet er den PC ans Effektgerät, das Effektgerät reagiert auf den PC und lädt das Preset.
2. Der Controller sendet alle als "Senden mit Preset" konfigurierten CCs raus. Wenn im G-Major-Preset Chorus, Delay und Hall aktiv sind und die entsprechenden CCs im Controllerpreset als 1 gespeichert sind, passiert nichts. Ist z.B. das Delay im Controller als 0 gespeichert, wird es über den CC-Befehl im G-Major ausgeschaltet.
Statt also zwei Presets im Effektgerät vorzuhalten, die bis auf das Delay identisch sind, brauche ich nur eines, und die Umschaltpause zwischen den Presets fällt weg. Auf diese Weise brauche ich den Status des G-Major nicht zu kennen, weil der Controller den empfangenden Geräten immer seinen Stand "aufzwingt".
Ich hab kein G-Major, aber ein G-Sharp. Ich liebe es, aber es hat Preset-Umschaltzeiten jenseits von gut und böse. Noch dazu speichert es den Status der beiden Effektblöcke nicht mit ab; wenn ich per CC die FX-Engine ausschalte und das Preset speichere, ist das Delay nach dem Laden des Presets wieder aktiv ::) . Noch ein Grund, um den Controller alles steuern zu lassen.
Das war jetzt lang. War's auch verständlich ;D ?
kugelblitz:
Danke für die Ausführlichkeit, also Du speicherst mit und ja das war mehr als verständlich. Eigentlich hätte ich ja nur mit denken müssen, Du empfängst ja nichts *grml*
Gruß,
Sepp
Nils H.:
--- Zitat von: kugelblitz am 22.08.2013 13:14 ---Danke für die Ausführlichkeit, also Du speicherst mit und ja das war mehr als verständlich. Eigentlich hätte ich ja nur mit denken müssen, Du empfängst ja nichts *grml*
--- Ende Zitat ---
Kein Problem. Ist meiner Meinung nach die einzige sinnige Lösung. Außerdem Stand der Technik ;D .
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln