Inhaltsverzeichnis:
- Schritt 1: FOSS
- Schritt 2: Arrangieren oder Komponieren von Musik zum Abspielen
- Schritt 3: Exportieren einer MIDI-Datei
- Schritt 4: Verbinden des Spielatron mit ALSA MIDI-Programmen
- Schritt 5: Festlegen eines MIDI-Gerätenamens und eines USB-Ports
- Schritt 6: Verwenden von LMMS
- Schritt 7: Importieren Sie Ihre MIDI-Datei in LMMS
- Schritt 8: Stellen Sie den LMMS-Ausgang auf TtyUSB0. ein
- Schritt 9: Computertonausgabe stoppen
- Schritt 10: Drücken Sie auf Play, lehnen Sie sich zurück und genießen Sie die Musik
Video: MIDI-Musik an das Spielatron senden - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Dieses Instructable umfasst die Software-Tools, die wir verwenden, um auf einfache Weise Standardmusiknotation zu nehmen, in eine MIDI-Datei zu konvertieren und auf dem Spielatron abzuspielen.
Schritt 1: FOSS
Wo immer möglich verwenden wir Free & Open Source Software (FOSS), die auf einem Linux-Computer läuft, in diesem Fall mit Ubuntu Mate.
Schritt 2: Arrangieren oder Komponieren von Musik zum Abspielen
Da unsere musikalischen Fähigkeiten begrenzt sind, ist das Komponieren keine wirkliche Option, und um Urheberrechtsprobleme zu vermeiden, arrangieren wir alte Klassiker gerne in einzeiligen Stücken, die für das Spielatron geeignet sind. Grundsätzlich müssen Sie die Musik monophon halten, dh nur einzelne Note und innerhalb des Notenbereichs des Spielatrons G5 bis G7. Zu diesem Zweck verwenden wir Musescore, das wir für diesen Zweck und zum Erstellen von Musikpartituren zum Spielen total toll gefunden haben.
Wir verwenden das Linux 64-Bit-App-Image, das verfügbar ist von
musescore.org/de/download/musescore-x86_64…
Ein Trick, den wir verwenden, um die Noten auf der Notenzeile angesichts des hohen Registers des Spielatrons beizubehalten, besteht darin, die Option Violinschlüssel 8va aus der Notenschlüsselpalette zu verwenden, beachten Sie die kleine 8 über dem Violinschlüssel.
Eines der großartigen Dinge an Musescore ist die großartige Community, die Hilfe, Tutorials, Beispiele und viele Musescore-Dateien zum Download bereitstellt.
Schritt 3: Exportieren einer MIDI-Datei
Sobald Sie mit Ihrer Musikkomposition in Musescore zufrieden sind, müssen Sie sie als MIDI-Datei exportieren. Dies ist in Datei - Exportieren und wählen Sie das Dateiformat Standard Midi.
Schritt 4: Verbinden des Spielatron mit ALSA MIDI-Programmen
Da wir nun unsere MIDI-Datei an den Arduino auf dem Spielatron senden möchten, benötigen wir eine Verbindung zwischen einem USB-Gerät z. ttyUSB0 und MIDI-Software zB. ALSA-Programme. Auch diese Verbindung hat eine Computer-Baudrate und nicht die Standard-MIDI-Baudrate von 31250.
Glücklicherweise hat jemand anderes bereits ein Treiberprogramm namens ttymidi geschrieben, um diese Aufgabe auszuführen.
ttymidi ist hier verfügbar:
www.varal.org/ttymidi/
www.varal.org/ttymidi/ttymidi.tar.gz
Dieses Programm wird nur als Quellcode mit einer Make-Datei geliefert. Beim Ausführen der Make-Datei erhielten wir einen Linker-Fehler und mussten die Make-Datei wie folgt ändern.
Ursprüngliche Befehlszeile, die die Fehler gab
gcc src/ttymidi.c -o ttymidi -lasound
geänderte Befehlszeile, die funktionierte
gcc src/ttymidi.c -o ttymidi -lasound -lpthread
Am Ende haben wir die Make-Datei nicht ausgeführt und nur mit der obigen Befehlszeile kompiliert, sodass sie nicht auf unserem System installiert ist. Wenn wir ttymidi ausführen möchten, öffnen wir ein Terminalfenster, wechseln das Verzeichnis in das ttymidi-Verzeichnis und führen das Programm wie im obigen Bild gezeigt aus. Wenn keine Schalter verwendet werden, ist ttymidi standardmäßig auf 115200 Baudrate eingestellt, was dem Code entspricht, den wir für das Spielatron geliefert haben. Beachten Sie, dass das Terminalfenster nach der Ausführung von ttymidi nicht zur Eingabeaufforderung zurückkehrt, bis "control c" eingegeben wird, wodurch das Programm beendet wird.
Schritt 5: Festlegen eines MIDI-Gerätenamens und eines USB-Ports
In diesem Beispiel haben wir ttymidi ohne Schalter verwendet, das standardmäßig ttyUSB0 und 115200 Baudrate verwendet. Wenn Sie diese aus irgendeinem Grund ändern müssen, z. Wenn Sie mehr als ein ttyUSB-Gerät an Ihren Computer angeschlossen haben, können Sie die Schalter wie in der Abbildung oben gezeigt verwenden.
Schritt 6: Verwenden von LMMS
LMMS (ehemals Linux MultiMedia Studio) ist ein digitales Audio-Workstation-Anwendungsprogramm, das ein weiteres absolut großartiges Programm ist, mit dem wir nur Anfänger sind. LMMS ist im Ubuntu Software Center oder hier https://lmms.io/ verfügbar.
Obwohl wir zu diesem Zweck nicht LMMS verwenden, um die MIDI-Datei vom Computer abzuspielen, erwartet LMMS dennoch, dass beim Importieren von MIDI-Dateien ein Soundfont verfügbar ist. Daher verwenden wir die Unison-Sound-Schriftart, die hier verfügbar ist:
ftp://ftp.personalcopy.net/pub/Unison.sf2.gz
www.personalcopy.com/linuxfiles.htm
Um die Sound-Schriftart zu verwenden, müssen Sie nur die Datei in ein Verzeichnis extrahieren, das Sie behalten werden, und dann in LMMS zu Bearbeiten - Einstellungen - Ordner gehen, um Unison als Standard-Sound-Schriftart festzulegen, wie in der Abbildung oben gezeigt.
Schritt 7: Importieren Sie Ihre MIDI-Datei in LMMS
Importieren Sie die MIDI-Datei, die Sie mit Musescore (oder aus einer anderen Quelle) erstellt haben, in LMMS. Verwenden Sie Datei - Importieren Sie gemäß dem obigen Bild.
Schritt 8: Stellen Sie den LMMS-Ausgang auf TtyUSB0. ein
Sobald die MIDI-Datei importiert wurde, wird sie im Song-Editor-Fenster als Unison-Spur angezeigt. Gehen Sie zum Zahnradsymbol am linken Ende des Tracks. Klicken Sie mit der linken Maustaste auf das Zahnrad, wählen Sie Midi und dann Output und Sie sollten ein Gerät namens ttymidi (oder den Namen, den Sie beim Starten von ttymidi mit dem Schalter -n angegeben haben) sehen, wie im obigen Bild gezeigt. Wählen Sie dieses Gerät aus und Sie sollten ein Häkchen daneben sehen.
Schritt 9: Computertonausgabe stoppen
Wenn Sie den Track zu diesem Zeitpunkt abspielen, gibt LMMS die MIDI-Datei sowohl an ttyUSB0 (das Spielatron) als auch an die Soundkarte des Computers aus. Da die Spielatron-Software eine Verzögerung von 200 ms hat, um die Bewegung der Rotationssevos zu ermöglichen, wird die Musik des Spielatron um diesen Betrag verzögert, der nicht mit der Ausgabe der Computer-Soundkarte synchron ist. Dies kann überwunden werden, indem die Lautstärke auf der Unison-Spur wie im obigen Bild verringert wird.
Schritt 10: Drücken Sie auf Play, lehnen Sie sich zurück und genießen Sie die Musik
Drücken Sie die Play-Taste wie im Bild oben und der Spielatron oder ein anderer Arduino-Musiksynth spielt Ihr MIDI-Stück ab. Im Beispiel am Ende des Eröffnungsvideos spielt der Spielatron vor Ort das bekannte altenglische Volkslied Greensleeves.
Abgesehen davon, dass die Musik monophon sein muss und im Bereich von G5 bis G7 liegen muss, gibt es offensichtlich eine Einschränkung durch die Reaktionszeit der Servos. Dies bedeutet, dass Ihre Musik entweder durch die Kürze der verwendeten Note oder die verwendeten Beats per Minute (BPM) begrenzt ist. dh. Wenn Sie einen hohen BPM haben, können Sie keine sehr kurzen Noten verwenden oder umgekehrt.
Beispiel:
120 BPM im 4/4-Takt (4 Schläge pro Takt) ergibt 30 Takte in 1 Minute.
60 Sekunden geteilt durch 30 ergibt 2 Sekunden pro Balken.
Daher hat ein Crotchet jeweils 500ms (leicht innerhalb der Servoverzögerungszeit).
Ein Achtel hat 250 ms (genau in der Zeit, in der 200 ms für die Rotation und 40 ms für den Hammerhub zulässig sind).
Ein Sechzehntelmeter ist einfach nicht eingeschaltet, ohne die BPM zu reduzieren.
Empfohlen:
Wie man eine professionelle Leiterplatte herstellt (ist es das wert?): 5 Schritte
Wie man eine professionelle Leiterplatte herstellt (ist es das wert?): Ich möchte meine "PCB-Erfahrungen" mit dir
Das interaktive Storytelling-Radio – wikiHow
Das Interactive Storytelling Radio: In diesem Projekt verwandeln wir ein gut aussehendes Radio in einen sprachaktivierten, interaktiven Geschichtenerzähler. Zukunft, wir kommen
Senden Sie ThingSpeak-Benachrichtigungen an Mi Band 4: 6 Schritte
ThingSpeak-Benachrichtigungen an Mi Band 4 senden: Da ich mein Xiaomi Mi Band 4 gekauft habe, habe ich über die Möglichkeit nachgedacht, einige Daten von meiner Wetterstation zu verfolgen, die auf ThingSpeak über mein Mi Band 4 verfügbar sind die Fähigkeiten von Mi Band 4 ar
So senden Sie DHT11-Daten mit NodeMCU an einen MySQL-Server – wikiHow
So senden Sie DHT11-Daten mit NodeMCU an MySQL-Server: In diesem Projekt haben wir DHT11 mit nodemcu verbunden und dann senden wir Daten von dht11, die Feuchtigkeit und Temperatur sind, an die phpmyadmin-Datenbank
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: 7 Schritte
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: Jetzt zum Detail