Musiknotenumblättermaschine

  Philipp   Lesezeit: 5 Minuten  🗪 2 Kommentare

Mit einem Raspi-Pico, etwas Python-Code und zwei Fussschaltern, wird das Umblättern der Notenblätter zum Kinderspiel.

musiknotenumblättermaschine

Gemäss einer Studie soll der Musikunterricht die Verbindungen im Gehirn stärken und vervielfältigen. Das war nicht der Grund, wieso ich vor nicht allzu langer Zeit mit dem Unterricht für Schwyzerörgeli angefangen habe. Ich musiziere schon lange. Für Schwyzerörgli gibt es unterschiedliche Notationen. Mein Musiklehrer verwendet die Grifftabellen. Je nach Musikstück gibt es mehrere A4-Blätter. Das Umblättern während dem Spielen ist mühsam und für das Aneinanderreihen aller Blätter gibt es zu wenig breite Notenständer.

Mein Musiklehrer hat die Grifftabellen mit Word geschrieben, was eher umständlich ist. Ich habe ihm eine Webapplikation geschrieben, welche PDFs erstellt. Falls Interesse an dieser Software besteht, würde ich einen Artikel nachliefern.

Kürzlich erschien in einem Linuxheft ein Artikel über eine Rezepteanzeige mit Gestensteuerung. Dies hat mich auf die Idee gebracht, eine Anzeige mit Fusstaster zu realisieren. Dazu eignet sich ein Raspberry Pi Pico (RP2040) hervorragend, da es eine Bibliothek zu HID (Human Interface Device) gibt. Ein Raspberry Pi Pico ist sehr günstig (unter 10 Franken), ist aktuell lieferbar und es gibt RP2040 auch von anderen Herstellern.

Auf dem Pico gibt es einen kleinen Knopf. Dieser Knopf muss gedrückt werden, während der Pico per USB an einem Rechner angeschlossen wird. Das Gerät meldet sich dann als Datenträger an. Zuerst muss die Firmware auf den Pico geladen werden. Es handelt sich um eine Datei mit der Endung uf2 ( https://circuitpython.org/board/raspberry_pi_pico/ ). Sobald der Datentransfer abgeschlossen ist, startet Pico neu. Danach kann die Bibliothek auf den Datenträger kopiert werden. Die Bibliothek muss sich im Verzeichnis /lib befinden. Die Libraries gibt es hier:
https://circuitpython.org/libraries

Im Root-Verzeichnis gibt es eine Datei code.py. In diese wird das auszuführende Programm geschrieben. Eine Änderung des Programm-Codes ist sofort aktiv.

Ich verwende 2 Fussschalter (je einen für Page-Up und Page-Down). Die Fussschalter haben keine Elektronik und schliessen nur den Kontakt. Ein Kabel wird mit 3,3 V Anschluss und das zweite Kabel GP14 resp. GP15 verbunden, wobei praktisch jeder GP-Anschluss für diesen Zweck verwendet werden kann. Wird ein Fussschalter betätigt, sendet Pico den entsprechenden Tastaturcode.


Alle meine Notenblätter liegen als PDF vor. Ich finde, dass sich das Programm Evince sehr gut für die Anzeige eignet.
Es lassen sich 2 A4-Seiten nebeneinander anzeigen und so verringert sich das Blättern. Evince verwendet die Tasten "N" und "P" für das Vor- oder Zurückblättern.


Der Code sieht so aus:

import time
import board
import digitalio
import usb_hid

from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)
keyboard_layout = KeyboardLayoutUS(keyboard)

btn_record = digitalio.DigitalInOut(board.GP14)
btn_record.direction = digitalio.Direction.INPUT
btn_record.pull = digitalio.Pull.DOWN

btn_stop = digitalio.DigitalInOut(board.GP15)
btn_stop.direction = digitalio.Direction.INPUT
btn_stop.pull = digitalio.Pull.DOWN

while True:
    if btn_record.value:
        keyboard.press(Keycode.N)
        time.sleep(0.1)
        keyboard.release(Keycode.N)
    if btn_stop.value:
        keyboard.press(Keycode.P)
        time.sleep(0.1)
        keyboard.release(Keycode.P)
    time.sleep(0.1)

Wenn ich nun ein Instrument spiele, welches keine Steckdose benötigt, soll dies auch auf die Anzeige zutreffen. Deshalb aktivierte ich mein Pinephone. Nach Mobian und PostmarketOS habe ich mich für AVMultiphone (https://archivista.ch/cms/de/aktuell-blog/blogs-2020/avmultiphone/). Darauf liess sich auch Evince installieren. Und weil man sich ja sonst nichts gönnt, habe ich mir noch einen Bildschirm gekauft mit integriertem Akku - eine tolle Sache. Nachdem ich über die Jumper, Modem und Kamera ausgeschaltet habe, ist die Performance ok. Der Mauszeiger ist etwas klein und ich habe noch nicht herausgefunden, wie ich diesen vergrössern kann.

Titelbildnachweis: https://de.wikipedia.org/wiki/Schwyzer%C3%B6rgeli#/media/Datei:2-reihiges_%C3%96rgeli_aus_Kr%C3%B6schenbrunnen.jpg

Quelle: Autorenartikel und Autorenbilder

Tags

Musik, Raspberry Pi, PDF, Unterstützung, DIY, Akkordeon, Handorgel

Klaus
Geschrieben von Klaus am 16. Juni 2023 um 11:04

Cool

Stefan
Geschrieben von Stefan am 27. Februar 2024 um 11:32

Verstehe ich das richtig? Der Raspi wird nur zum Umblättern gebraucht, die Noten werden auf dem Laptop mit Evince angezeigt. Es laufen 2 Computer?