Midi Controller als Stream Deck verwenden?
Hallo da draußen ;)
Elgato hat ja ein Stream Deck rausgebracht womit man seinen Livestream steuern kann. Natürlich ist meiner Meinung nach, für das was das Gerät tut, der Preis nicht gerechtfertigt.
Deshalb hatte ich die Idee, da ich sowohl ein Midi Keyboard als auch ein Launchpad habe, via Midi Hotkeys z.B Szenen zu wechseln oder die Stimme Stumm zu schalten. Problem ist nur das ein Midi Controller nicht wie eine Tastatur erkannt wird. Somit kann man darüber keine Hotkeys vergeben.
Ich streame mittels der neusten Version von OBS (Open Broadcaster Software) und frage mich ob es eine Software b.z.w ein Plugin gibt, womit es möglich ist aus ein Midi Controller ein Stream Deck zu machen.
Alternativ kann man ja auch Apps verwenden, aber ich finde diese Methode so am sinnvollsten.
Würde mich freuen auf ne Antwort. Ich vergebe Daumen und Hilfreichste Antwort wenn es hilfreich war :)
2 Antworten
Mir fallen da einige gute Möglichkeiten ein aber da wirst du um selbst programmieren nicht rum kommen.
Du könntest dir z.b. eine kleine Software in einer Spache deiner wahl schreiben die die midi inputs verarbeitet und dann an das obs-websocket plugin weitergibt.
Möglicherweise funktioniert das sogar direkt über eine HTML Seite mit Javascript: https://www.w3.org/TR/webmidi/
Als eine weitere Alternative die möglicherweise einfacher aber nicht so umfangreich: Benutze GlovePie um mit MIDI Nachrichten einen Tastatur Shortcut auszuführen.
In GlovePie gibt es oben einen Tab namens "GUI" da kannst das ganze relativ einfach ohne programmieren einstellen.(Das geht ja ohne Browser)
Das mit den Midi Daten abfangen sollte in Chrome kein Problem sein weil du unter chrome://settings/content das mit MIDI dauerhaft erlauben kannst. Und aus dem Webbrowser heraus kannst du keine Shortcuts ausgeben, deswegen meinte ich, da du die midi events ja sowieso mit javascript abfängst auch gleich per websocket an das obs websocket plugin weiterleiten.
Ahh. Cool jetzt habe ich es verstanden und werde mich die nächsten Tage damit befassen und den Code wenn er Fertig ist hier hochladen als Github Link. Danke Nochmal :)
Ich hab da die letzten Tage an was gearbeitet: https://github.com/lebaston100/MIDItoOBS
Sorry das ich mich lange nicht gemeldet habe.
Irgendwie klappt das bei mir nicht. Ich kann keine php scripte ausführen. Ich habe es versucht mit Python 3.6 (32-bit). Hat aber nicht geklappt. :/
Kannst du mir weiterhelfen :)
Habs geschafft das pythonscript zu starten über cmd mit python. Midi Launchpad wurde erkannt und auch das Websocket von OBS funktioniert bis ich auswähle was die Taste machen soll. Dann stürzt nämlich Websocket ab (WebSocket client disconnected). Dein script gibt aus:
You selected: SetCurrentScene
Updating scene list, plase wait
Traceback (most recent call last):
File "setup.py", line 437, in
mainLoop()
File "setup.py", line 400, in mainLoop
midicallback(msg)
File "setup.py", line 61, in midicallback
setupButtonEvents(action, message.note, message.type)
File "setup.py", line 190, in setupButtonEvents
updateSceneList()
File "setup.py", line 364, in updateSceneList
sceneListLong = jsn["scenes"]
KeyError: 'scenes'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "setup.py", line 42, in exitScript
port.close()
NameError: name 'port' is not defined
woran könnte das liegen? :)
Versuch die neuste Version da funktioniert es
Ist vllt etwas spät, aber in Midi Hotkey wird jedes signal erkannt. ( ich nutze Midi Hotkey v1.3) Und dort vergebe ich Tasten wie F13, die nicht auf einer normalen Tastatur sind aber von Programmen akzeptiert werden, und lege sie auf die jeweiligen Signale. Ich nutze ein Launchpad Mini MK2, dort sind die Midi Inputs z.B. Status: 90, Key: 00, Velocity: 00. Und diese Tasten gebe ich in Obs für z.B. Kamera an oder Mikro aus fest.
Danke für die Antwort. Ich habe schon eine Lösung gefunden. Hab dazu ein Video gemacht. 😉 https://youtu.be/o24axR46tD8
Ich mache ein Fachabi im Bereich Screendesign und habe da ein wenig Ahnung drin. Habe aber keine Ahnung wie man Midiinputs abfragt und Hotkeys dafür zu vergeben. Im Grunde ist es ja ganz einfach eine If anfrage. Wird die Taste im Midicontroller gedrückt soll die Tastertur das ausgeben. Da ist aber wieder das Problem, dass Webbrowser sowas blocken um Nutzer zu schützen vor Angriffen. Gibt es den ein HTML Emulator der sowas zulässt ohne ein Browser zu verwenden. Und wie überprüft man Midieingaben? :) 😉✌