MIDI als Trigger und Sub-Action¶
Streamer.bot kann MIDI-Events empfangen (z.B. Akai APC, Korg Nano-Kontrol) UND MIDI-Events senden (z.B. um andere MIDI-Software zu steuern). Klassisch: Hardware-Pad triggert OBS-Scene.
Doku: https://docs.streamer.bot/api/triggers/core/midi/message
MIDI-Device anschließen¶
- MIDI-Hardware via USB anschließen
- Windows erkennt das Gerät automatisch
- Test mit Tool wie "MIDI-OX" (Windows) ob Events ankommen
Manche Software (z.B. loopMIDI) erlaubt virtuelle MIDI-Devices für rein-software-basierte Workflows.
MIDI-Trigger in Streamer.bot¶
Pfad: Core → MIDI → Message
| Feld | Bedeutung |
|---|---|
| Device | Welches MIDI-Gerät |
| Message Type | Note On, Note Off, Control Change, etc. |
| Channel | MIDI-Channel (0-15) |
| Note / Controller | Note-Number oder CC-Number |
| Value | Velocity / CC-Value |
Mit Filter-Optionen kannst du z.B. nur auf "Note On, Channel 1, Note 36" reagieren.
Action: Pad triggert Scene-Switch¶
Setup¶
MIDI-Pad gedrückt → OBS wechselt zur Scene.
Action: [MIDI] Pad → Scene Switch¶
Trigger: Core → MIDI → Message
| Feld | Wert |
|---|---|
| Device | APC Mini mk2 (oder dein Device) |
| Message Type | Note On |
| Channel | 0 |
| Note | 36 (das C-Pad untenlinks) |
So jede Pad-Belegung → eigene Action. Bei 8x8 Grid hast du 64 Trigger.
MIDI als Sub-Action¶
Streamer.bot kann auch MIDI SENDEN um andere Software zu steuern:
| Sub-Action | Pfad |
|---|---|
| Note On | Core → MIDI → Note On |
| Note Off | Core → MIDI → Note Off |
| Control Change | Core → MIDI → Control Change |
| Generic Event | Core → MIDI → Generic Event |
Use-Case: bei Twitch-Sub einen MIDI-Note-On an deine DAW (Ableton) senden → bestimmter Sound spielt automatisch.
[Event] Sub → MIDI Trigger
Trigger: Twitch → Subscriptions → Subscription
└── MIDI Note On:
Device: loopMIDI Port 1
Channel: 0
Note: 60 (Middle C)
Velocity: 100
In Ableton kannst du dann auf MIDI Note 60 ein Sample triggern.
Use-Case: Korg NanoKontrol → OBS-Audio-Mixer¶
Slider auf Korg = Lautstärke einer OBS-Audio-Source.
Action: [MIDI] Slider 1 → Mic Volume¶
Trigger: Core → MIDI → Message
| Feld | Wert |
|---|---|
| Device | nanoKONTROL2 SLIDER/KNOB |
| Message Type | Control Change |
| Channel | 0 |
| Controller | 0 (Slider 1) |
Sub-Actions:
└── Send Raw OBS Request: (OBS Studio → Raw)
Function: SetInputVolume
Args: {"inputName": "Mic", "inputVolumeDb": <berechneter Wert>}
Hier wird's tricky: CC-Value ist 0-127, OBS-Volume in dB-Wert. Inline-Function-Math kann das mappen, aber komplex. Pragmatisch: ein C#-Snippet ODER fertige Plugin nutzen.
Use-Case: Stream Deck Alternative¶
Wenn du Stream Deck nicht magst aber günstige MIDI-Pads:
- Akai APC Mini (50-90€) als Mini-Stream-Deck
- 8x8 Grid + Buttons = 72+ Trigger
- Jede Note kann eine SB-Action triggern
Vorteil ggü. Stream Deck: günstig + DAW-kompatibel.
Variante: Persistent Velocity tracken¶
Bei Drum-Pads kannst du die Velocity (= wie hart gedrückt) auswerten:
[MIDI] Hard Hit → Loud Action
Trigger: MIDI Message (Note On, Note 36)
├── 1. If/Else: %velocity% Greater Than 100
│ ├── Play Sound: loud-effect.mp3 (Volume 90)
│ └── Break
└── 2. Play Sound: subtle-effect.mp3 (Volume 50)
Sanftes Tippen = leiser Sound, harter Schlag = lauter Sound.
Häufige Fallen¶
- MIDI-Device wird nicht erkannt — Treiber prüfen. Manche brauchen USB-MIDI-Class-Driver-Override
- MIDI-Channel verwechselt — manche Devices fangen bei 1 an, andere bei 0. SB nutzt 0-basiert
- Latency bei vielen MIDI-Events — pro Sekunde mehrere CC-Updates können langsam werden. Throttling nötig
- MIDI-Loop — wenn du selbst MIDI sendest UND dein Device das gleiche empfängt, Feedback-Loop. Channels trennen
- Mehrere MIDI-Devices gleich — wenn 2 nanoKONTROL angeschlossen, eindeutige Device-Namen prüfen
Quellen¶
- MIDI Message Trigger: https://docs.streamer.bot/api/triggers/core/midi/message
- MIDI Note On Sub-Action: https://docs.streamer.bot/api/sub-actions/core/midi/note-on
- MIDI Control Change Sub-Action: https://docs.streamer.bot/api/sub-actions/core/midi/control-change