AeonSuite: A MIDI visualizer with play-along capabilities
AeonSuite: Ένας οπτικοποιητής MIDI με δυνατότητες συνοδείας
AeonSuite is a MIDI visualizer that supports visuals both with graphics and/or using a real LED strip above the keys. Moreover, it includes play-along capabilities. Ιt is made with Kivy, a cross-platform Python framework for rapid development of applications that make use of innovative user interfaces, such as multi-touch.
Το AeonSuite είναι ένας οπτικοποιητής MIDI που υποστηρίζει οπτικοποιήσεις τόσο με γραφικά όσο και με πραγματική ταινία LED πάνω από τα πλήκτρα. Επιπλέον, περιλαμβάνει δυνατότητες εξάσκησης με συνοδεία. Είναι φτιαγμένο με το Kivy, ένα Python framework γρήγορης ανάπτυξης εφαρμογών για πολλές διαφορετικές πλατφόρμες, που υποστηρίζει πρωτοποριακές διεπαφές χρήστη όπως πολλαπλή αφή.
Install and runΕγκατάσταση και τρέξιμο
$ git clone https://github.com/Alamot/aeonsuite.git && cd aeonsuite
$ python -m venv env
$ source env/bin/activate
(env) $ pip install -r requirements.txt
(env) $ python main.py
Note: If you don't have a real MIDI organ, you can use for output a software synthesizer like FluidSynth:
Σημείωση: Αν δεν έχετε ένα πραγματικό όργανο MIDI, μπορείτε να χρησιμοποιήσετε για έξοδο ένα συνθεσάιζερ λογισμικού όπως το FluidSynth:
$ fluidsynth
ScreenshotΣτιγμιότυπο

SettingsΡυθμίσεις
After you run the application, go to the settings to configure the MIDI OUT / IN:
Αφού τρέξετε την εφαρμογή πηγαίνετε στις ρυθμίσεις για να ορίσετε τα MIDI OUT / IN:

OptionsΕπιλογές
After you load a .mid file, you can then choose which channels you want to be played/visualized and whether you want to practice by playing along with accompaniment. In that case, the application will wait for you to play the next note before moving on.
Αφότου φορτώσετε ένα αρχείο .mid, μπορείτε κατόπιν να επιλέξετε ποιά κανάλια θέλετε να παιχτούν/οπτικοποιηθούν και αν θέλετε να εξασκηθείτε παίζοντας με συνοδεία. Σε αυτήν την περίπτωση, η εφαρμογή θα περιμένει να παίξετε την επόμενη νότα για να προχωρήσει παρακάτω.

LEDs
For the visualization with an actual LED strip above the keys, we can utilize an ESP32 to drive the LEDs via Python code (see the leds.py file). I used the following materials:
Για την οπτικοπόιηση με πραγματική ταινία LED πάνω από τα πλήκτρα, μπορούμε να αξιοποιήσουμε ένα ESP32 για να οδηγήσουμε τα LEDs μέσω κώδικα python (δείτε το αρχείο leds.py). Xρησιμοποίησα τα παρακάτω υλικά:
- VIPMOON WS2812B PCB RGB Addressable Strip with 5050 SMD LEDs 1 m 144 LEDs/Pixels/m Waterproof IP67
- TTGO T-Display ESP32 Wi-Fi and Bluetooth Module Development Board for Arduino 1.14 Inch LCD
- 5V power supply (for the ledstrip).
DemoΕπίδειξη
Source codeΠηγαίος κώδικας
Here is the full code: Μπορείτε να δείτε τον πλήρη κώδικα εδώ: AeonSuite