Skip to content

GrayTheZebra/NerdyMidiMapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NerdyMidiMapper – Browser Edition

NerdyMidiMapper ist ein lokales MIDI-Lern- und Mapping-Tool mit Weboberfläche. Es erkennt physische MIDI-Controls (Buttons, Encoder, Fader, LEDs, Motorfader), ordnet sie logischen Namen zu und speichert alles strukturiert als controls.json für die Weiterverwendung in eigenen Tools, Makros oder Setups.

Das Tool läuft vollständig lokal auf 127.0.0.1 und benötigt keine Cloud, keine Internetverbindung und keine DAW.


Features

  • MIDI-Input-Erkennung mit pygame.midi
  • Lernmodus für Buttons, Encoder, Fader & Motorfader
  • LED- & Velocity-Test direkt aus der Weboberfläche
  • Automatische LED-Spiegelung für Button-Mappings
  • JSON-Speicherformat für einfache Weiterverarbeitung
  • Web-UI mit Flask (127.0.0.1:5000)
  • Sauberer Shutdown per Button oder Tab-Schließen
  • Kompatibel mit PyInstaller .exe Builds

Projektstruktur

NerdyMidiMapper/
├─ nerdy_midi_mapper.py
├─ requirements.txt
├─ README.md
├─ LICENSE
└─ static/
   ├─ index.html
   ├─ css/
   │   └─ nerdymidimapper.css
   └─ js/
       └─ nerdymidimapper.js

Die Datei controls.json wird automatisch im Laufzeitverzeichnis erstellt und ist nicht Teil des Git-Repos.


Installation (Entwicklung)

python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Start

python nerdy_midi_mapper.py

Nach dem Start öffnet sich automatisch der Browser:

http://127.0.0.1:5000/

Build als .exe (Windows)

pip install pyinstaller
pyinstaller --onefile --add-data "static;static" nerdy_midi_mapper.py

Die fertige .exe liegt danach im Ordner:

dist/NerdyMidiMapper.exe

JSON-Format (controls.json)

Jedes gelernte Control wird als einzelnes Objekt gespeichert:

{
  "DeviceKey": "X-Touch",
  "DeviceMatch": "X-TOUCH",
  "MidiType": "Note",
  "Channel": 1,
  "Number": 32,
  "ControlType": "Button",
  "LogicalName": "Play"
}

Das Format ist bewusst einfach, stabil und tool-agnostisch gehalten.


Sicherheit & Lokalbetrieb

  • Der Server läuft ausschließlich lokal
  • Keine externen Requests
  • Keine Cloud-Dienste
  • Keine Telemetrie
  • Kein Tracking

Lizenz

Dieses Projekt steht unter der MIT License.

Das bedeutet:

  • freie kommerzielle & private Nutzung
  • freie Veränderung
  • freie Weitergabe
  • keine Haftung

Siehe LICENSE Datei.


Autor

Gray The Zebra Projekt-Website: https://prokrastinerd.de Tool-Ökosystem: Nerdy Tool Box / Nerdy MIDI Projects

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors