Tube-Town Forum

Technik => Tech-Talk TT-Projekte => Thema gestartet von: Dirk am 20.06.2014 20:31

Titel: Mini Midi Controller
Beitrag von: Dirk am 20.06.2014 20:31
Hallo,

hier mal ein kleiner "Vorgeschmack" auf das nächste MIDI-Projekt welches ich in der Vorbereitung habe: ein Mini-Midi-Controller.
Eigentlich könnte das Teil schon längst fertig sein, aber durch die Shopumstellung hat es fast 6 Monate in der Ecke gewartet und wurde jetzt wieder zum Leben erweckt.
Zielsetzung ist einen sehr kompakten Midi-Controller aber mit sehr grossem Funktionsumfang.
Kompakt ist mit physikalisch kompakt gemeint. Für die 4-Nummer-Grösser-Ausführung ist Nils zuständig  ;)

Derzeit sind zwei Modis vorgesehen:
a) Direkter Programmmodus: man stellt ein Midi-Programm ein und aktiviert es.
b) Preset-Betrieb (oder wie man das auch nennen will).
Hierbei stehen (derzeit) maximal 64 Bänke zur Verfügung mit  die jeweils 5 Presets beinhalten können. Jedes Preset bietet Platz für 8 Patches und jeder Patch kann entweder eine Programm Change oder ein Controller sein (oder garnichts). Damit kann dann mit der Aktivierung eines Presets 8 Midi-Geräte auf einmal angesteuert werden. Das dürfte reichen.

Im Minimal-Ausbau kommt der Controller mit 3 Tastern aus, im Maximalausbau sind es 5 wobei 5 Taster zu empfehlen sind, da bei 3 Tastern der Umfang sehr stark eingeschränkt ist und auch nur 8 Bänke und 3 Presets / Bank angesprochen werden können.

Wie auf dem Bild zu sehen habe ich ursprünglich noch zwei Taster für Bnak-Wahl +/- vorgesehen, aber ich spare diese ein und belege die Tasten 4 und 5 doppelt (langer Tastendruck / kurzer Tastendruck).

Die Anzeige erfolgt komplett über ein 2-Zeiliges Display. Die urspünglich angedachten LEDs habe ich zwischenzeitlich gestrichen, dann das Display ist so kontrastreich und auch auf Entfernung gut lesbar, da will ich nicht noch einen enormen Aufwand betreiben um ein paar LEDs an zu steuern.

Wenn das Teil fertig ist, steht noch in den Sternen und ich schreibe das alles hier auch nur, damit ich wieder langsam in die Materie gleite. Also versprechen tu is nichts, mal sehen was wird.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: haebbe58 am 20.06.2014 20:46
 :topjob:

mach es!

 ;D

Gruß
Häbbe

Titel: Re: Mini Midi Controller
Beitrag von: kugelblitz am 20.06.2014 21:00
Nice, ich hoffe er läuft mit 9V.

 :topjob:

Gruß,
Sepp
Titel: Re: Mini Midi Controller
Beitrag von: sev am 20.06.2014 21:04
 :topjob:
Tschakka!
Gruss
Sev
Titel: Re: Mini Midi Controller
Beitrag von: Nils H. am 20.06.2014 23:04
Für die 4-Nummer-Grösser-Ausführung ist Nils zuständig  ;)

Hey! Veralbern kann ich mich alleine  ;D ! Ich bin jetzt über vierzig, da muss ich mir nicht mehr alles gefallen lassen  :devil: . Zumindest funktioniert meine Space Shuttle Konsole  ;D .

Das Gehäuse finde ich sehr sexy. EMV-technisch für große Bühnen mit viel Licht und viel Strom aber wahrscheinlich der Gau.... Auf jeden fall eine schöne Idee!

Gruß, Nils
Titel: Re: Mini Midi Controller
Beitrag von: roseblood11 am 21.06.2014 09:40
Sehr schönes Projekt!   :topjob:

Wie auf dem Bild zu sehen habe ich ursprünglich noch zwei Taster für Bnak-Wahl +/- vorgesehen, aber ich spare diese ein und belege die Tasten 4 und 5 doppelt (langer Tastendruck / kurzer Tastendruck).

Es wäre aber sehr schön, wenn man es optional doch mit Bank +/- Tastern aufbauen könnte. Bankwechsel ist zwar für mich meist gleichbedeutend mit Songwechsel, aber auch das soll manchmal sehr schnell und ggf. taktgenau gehen.

Dazu wäre es auch praktisch, wenn man wählen könnte, wie sich das Gerät bei Bankwechsel verhält:
a) man muss das Preset der neuen Bank selbst anwählen
b) es ist automatsich sofort Preset 1 der neuen Bank aktiv


Ist auch Tap Tempo integriert?

mfg, Immo
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 21.06.2014 12:57
Ich bin jetzt über vierzig, da muss ich mir nicht mehr alles gefallen lassen  :devil:

Ich verstehe Dich voll und ganz und leide mit Dir  O0

Das Gehäuse finde ich sehr sexy. EMV-technisch für große Bühnen mit viel Licht und viel Strom aber wahrscheinlich der Gau....

Das glaube ich noch nicht mal unbedingt, da sich die Licht und Ströme nicht im kritischen Nahfeldbereich befinden. Müsste man aber in der Praxis erst einmal ausprobieren. Das Gehäuse ist auch nur ein Entwurf und wird in der finalen Version nochmal ein Stück kleiner werden.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 21.06.2014 13:04
Es wäre aber sehr schön, wenn man es optional doch mit Bank +/- Tastern aufbauen könnte.

Das ist kein grosser Aufwand und lässt sich integrieren aber mir stellt sich derzeit die Frage nach dem Vorteil. Für die jetztige Version will die die Taster 4 und 5 für Bank +/- verwenden und zar durch langen Tastendruck. Also Taste drücke und die Bank zählt hoch oder runter. Problem in beiden Fällen ist die Dauer bei 64 oder 128 Bänken. Da wäre es vieleicht sinnvoller +10/-10 Taster einzubauen. Mal schauen.

Dazu wäre es auch praktisch, wenn man wählen könnte, wie sich das Gerät bei Bankwechsel verhält:
a) man muss das Preset der neuen Bank selbst anwählen
b) es ist automatsich sofort Preset 1 der neuen Bank aktiv


Im Moment passiert erst etwas, wenn man die Taste für das jeweilige Preset drückt. Man wählt also die Bank aus und dann das Preset. Solange passiert nicht. Ich denke, dass das die beste Lösung ist.

Ist auch Tap Tempo integriert?


Nein. Ich habe auch keine Ahnung wie das Tempo übertragen wird und dies von den Delays gehandhabt wird. Falls jemand ein paar Infos hierzu hat, dann bitte mal schicken oder einstellen.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 21.06.2014 13:05
ich hoffe er läuft mit 9V.

Was hat die 9 V für eine Bedeutung ?
Der µC läuft mit 5 V welche auch aus 9 V erzeugt werden kann, oder was ist der Hintergrund ?

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: Nils H. am 21.06.2014 14:19
Ich denke er meint "läuft mit Batterie". Möglicherweise schluckt die Displaybeleuchtung aber dafür zu viel Strom (bei meinem Controller isses so).

Tap Tempo ist i.a. über einen CC-Controller realisiert, unterschiedliche Geräte werten das Signal aber unterschiedlich aus, benötigen also entweder ein Wechsel- oder ein Tastsignal.

Bank+/- ist insofern sinnvoll, weil Dein Problem damit gelöstt werden kann: Kurzer Druck für Einzelschritte, drücken und halten für durchscrollen der Banknummern - so hab ich es gemacht. Preset aktivieren direkt bei Bankwechsel halte ich auch für wenig sinnvoll.

Gruß, Nils
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 21.06.2014 15:55
Gute Idee mit den Bank-Tastern ! Ich denke so mache ich es auch.
Aber mit Bat.Betrieb wird es sicherlich nichts werden.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: Athlord am 21.06.2014 16:03
Haben-Haben-Haben-wolln!
 :topjob:
Kaum ist man mal im Urlaub, da verpasst man hier echt wichtige Sachen!  ;D
Cheers
Jürgen
Titel: Re: Mini Midi Controller
Beitrag von: kugelblitz am 21.06.2014 19:11
 @9V: Hintergrund ist phantompower. Da hätte ich schon 9V, aber daraus 5V zu machen ist ja nicht das grosse Problem.

Gruss,
Sepp
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 21.06.2014 19:53
Ja, das ist kein Problem.

Gruß Dirk
Titel: Re: Mini Midi Controller
Beitrag von: roseblood11 am 21.06.2014 20:23
Im Moment passiert erst etwas, wenn man die Taste für das jeweilige Preset drückt. Man wählt also die Bank aus und dann das Preset. Solange passiert nicht. Ich denke, dass das die beste Lösung ist.

Das ist eine gute Lösung, wenn man gezielt einzelne Presets ansteuern will. Ich verwende solche Geräte aber immer nach dem festen Raster "eine Bank pro Song", wobei die Presets auch immer gleich organisiert sind. Der Song startet immer mit Preset 1, der Basis-Rhythmussound ist immer 2, Solo immer 3 usw. Da wäre es dann sehr schön, eine möglichst schnelle Umschaltoption zu haben, die direkt bei Anwahl der Bank quasi mit einem Klick den Song startbereit hat, also gleich Preset 1 aktiviert.
Lösungen, die es erfordern, Taster länger gedrückt zu halten, sind zu Hause oder im Studio akzeptabel. Auf der Bühne stören sie mich, weil sie Aufmerksamkeit erfordern.

Und Tap Tempo sowie speicherbares Tempo pro Preset wären wirklich schön. Da bieten fertige Geräte nämlich auch  oft die einfachen, nützlichen Funktionen nicht.
Wenn man eine Bank pro Song nutzt, halte ich es so für sinnvoll:
- Man kann ein festes Tempo pro Preset speichern, evtl auch für die Bank als ganzes (letzteres muss aber nicht, ist nur komfortabler).
- Der Tempo-Taster müsste sich dieser Organisationsweise anpassen lassen, d.h.: Tappe ich ein neues Tempo ein, gilt das für alle Presets dieser Bank, solange die Bank aktiv ist - egal, wie oft zwischen den Presets hin- und her geschaltet wird. Wechselt man die Bank, gilt wieder das dort gespeicherte Tempo. Das wäre Betriebsart 1 für den Taster.
Betriebsart 2 wäre: Taster ändert nur das Tempo des aktuellen Presets, bei Presetwechsel gilt wieder das dort gespeicherte Tempo. Betriebsart 3: Taster gilt global, wie bei gängigen MultiFX.

Betriebsart eins wäre die, die ich mit Abstand für die nützlichste halte - und genau die beherrschen gängige Geräte nicht.

Schwer zu beschreiben, aber eigentlich ganz einfach und logisch...
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 23.06.2014 20:14
Zu welchem Zeitpunkt soll dann das "Default" Preset gesendet werden ? Wenn man eine Bank auswählt ?

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: roseblood11 am 23.06.2014 21:33
ja, genau!
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 23.06.2014 21:50
Das wird dann aber lustig, da die Bänke "durchgesteppt" werden.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: roseblood11 am 23.06.2014 23:22
evtl könnte man einige Millisekunden Verzögerung einbauen bzw das Preset erst schalten, wenn der Banktaster mind. für xx Millisekunden nicht mehr betätigt wurde.
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 24.06.2014 09:15
Könnte man, stellt sich wieder die Frage wo man die Grenze zieht.
Ich werde diese spezielle Anfrage aber erst einmal nicht weiter verfolgen sondern mich auf das Wesentliche beschränken und noch ein paar Tests mit der Hardware durchführen. Der Atmega8 gefällt mir für dieses Projekt nicht so wirklich, da er die Möglichkeiten doch stark beschneidet.

Gruß, Dirk

Titel: Re: Mini Midi Controller
Beitrag von: kugelblitz am 24.06.2014 10:03
Hallo Dirk,

Der Atmega8 gefällt mir für dieses Projekt nicht so wirklich, da er die Möglichkeiten doch stark beschneidet.

Ich hab für mein Projekt einen Atmega32 vorgesehen, den gibts noch im DIL40 Format aber mit 32kB statt den 8kB:

http://www.atmel.com/images/doc2503.pdf

Gruß,
Sepp
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 24.06.2014 10:11
ich schiele ein wenig in Richtung der grossen Atmegas (64 oder 128) weil dort problemlos eine SD Karte angeschlossen und von SD Karte geflasht werden kann (zumindest in der Theorie). So eine Lösung würde mir am besten gefallen, dann man dann auch problemlos Updates nachschieben kann und Datenaustausch über SD Karte ist auch möglich.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: kugelblitz am 24.06.2014 10:37
Ok, das ist noch mal ein ganz anderes Kaliber. Presets austauschen hatte ich mir aber gleich per MIDI überlegt. zB nur als Idee: Zwei taster gleichzeitig gedrückt und der Controller sendet seinen gesamten Speicher per MIDI standartisiert. Oder am MIDI in wird eine standardisierte Befehlsfolge getriggert.

Begin ... CC 0 0 CC 0 0 CC 0 0
NewBank ... CC 0 1 CC 0 1 CC 0 1
NewSavegame ... CC 0 2 CC 0 2 CC 0 2
End ... CC 0 127 CC 0 127 CC 0 127

Leere Bänke und Savegames müsste er aber auch rausschreiben oder man codiert die Nummern noch im Standard...

Der Rest dürfte etwas Programmierarbeit am Rechner sein, aber selbst wenn man den Input nur in einer Textdatei spechert, kann man ihn eigentlich angenehm editieren. Für das zurückspielen ist aber ein MIDI In nötig.

Bin auf jeden Fall auf Deine Inkarnation gespannt, vorallem da man sich mit avrdude und Co scheinbar auch selbst austoben kann :)

Gruß,
Sepp

EDIT: Aber so richtig MINI klingt das Projekt zumindest auf der Softwareseite (SD, fs...) nicht mehr ;)
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 24.06.2014 11:04
Editierfunktion über MIDI wäre natürlich machbar, allerdings stellt sich dann wieder die Frage nach der Software auf Rechner-Seite plus Betriebssystem, weil es soll ja auch komfortabel sein.
Mit Windows sehe ich kein Problem, da habe ich auch schon etwas aus probiert, Linux müsste theoretisch auch machbar sein, Apple OS habe ich aber nicht zur Hand und werde mir auch keinen Apfel zu legen.
Von daher wäre ein reines textbasiertes Austauschformat über SD Karte am schönsten, weil man das auch zur Not im Texteditor bearbeiten könnte.

Das Display bzw. die Trägerplatine für das Display werde ich auf alle Fälle noch ändern, sodass man dies auch in ein 19" Rack einbauen kann.

Gruß, Dirk


Titel: Re: Mini Midi Controller
Beitrag von: kugelblitz am 24.06.2014 11:18
Um alle gängigen OS zu erschlagen würde ich zu Python greifen, mit PyQT wäre auch die Welt von QT offen, aber das sprengt sicher den Rahmen.

Gruß,
Sepp
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 24.06.2014 11:29
Mit Python stehe ich auf Kriegsfuß  ;)

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: kugelblitz am 24.06.2014 11:38
:) perl ist halt keine Alternative...

sauberes platformübegreifendes C/C++ geht auch aber macht es sicher nicht einfacher. IMO gilt gleiches für Java.

Gruß,
Sepp
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 24.06.2014 11:59
perl ist leider keine Alternative und Java habe ich schon vor geraumer Zeit von den PCs geschmissen. Das ist erst recht keine Alternative.
Daher sage ich ja, am einfachsten wäre eine ganz stinknormale Textdatei. Auch kein XML-Krampf oder sonstige Dinge dieser Art.
Keep it simple.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: kugelblitz am 24.06.2014 12:43
Auch kein XML-Krampf oder sonstige Dinge dieser Art.

:)

Keep it simple.

full ACK,
Sepp
Titel: Re: Mini Midi Controller
Beitrag von: dhaefi am 24.06.2014 14:06
JSON? 8)

ich würd mir keinen Kopf machen über Software - wenn das Produkt (der Midi Controller) gut ist baut sich jemand hier aus dem Forum die Software selbst [sozusagen Outsourcing] - wichtig ist nur ein klar dokumentiertes Schnittstellenformat, ob dies nun Plaintext, JSON, XML, wasauchimmer ist, spielt eine sekundäre Rolle.

ich freu mich übrigens auf dieses Projekt :-)

gruss,
Daniel

edit: http://zserge.bitbucket.org/jsmn.html
Titel: Re: Mini Midi Controller
Beitrag von: Dirk am 24.06.2014 14:44
Nein. JSON kommt auch nicht in die Tüte.
Entweder bin ich zu altmodisch aber ich verstehe nicht wieso man einen einfachen Datenaustausch in solch umständliche Formate packen muss, die nur unnötig Overhead erzeugen, die Verarbeitung beeinträchtigen, weiter Fehlerquellen beinhalten können etc... Bei MIDI selbst gehts auch komplett ohne, man muss halt nur wiesen welches Byte wo steht und was macht.
Daher tendiere ich zu einer ganz einfachen Lösung mittels Text-File.
Ich habe nochmal in den Datenblättern geschaut und der Atmega644 im DIL-40 Gehäuse könnte ausreichend sein. Ich weiss nur noch nicht, ob man mit dem denn auch über einen Bootloader eine neue Firmware einlesen kann.

Gruß, Dirk
Titel: Re: Mini Midi Controller
Beitrag von: dhaefi am 24.06.2014 15:09
Hi Dirk,

JSON ist doch eine simple Textdatei, nur dass sich diese einfach parsen lässt und lesbar ist.
Der Vorteil von JSON liegt gerade darin, dass es nicht so strikt ist wie z.B. MIDI (wo man jedes Byte kennen muss) und trotzdem nicht den Overhead von XML hat.

Das schlimmste und mühsamste, dass ich in meiner Tätigkeit als Programmierer machen musste sind fixe Textdateien zu parsen. Wenn sich da was kleines ändert funktioniert zum Schluss weniger als zuvor.
Aber, dass muss ich anmerken, ich bin mir auch objektorientierte Sprachen gewohnt und mit C macht Textbearbeitung generell keine Freude.

Übrigens, man könnte mit einfachen Textdateien / JSON auch einen Editor im Web anbieten - das wäre absolut Platformübergreifend und ein Update der Software muss nur 1x installiert werden - dass man dabei online sein muss sollte letzten Endes keine Hürde mehr darstellen.

Wenn du für eine Weblösung zu begeistern bist kannst du mich auch gerne mal anschreiben, da würde ich auch gerne mithelfen sofern es die Zeit zulässt.

Gruss,
Daniel