Inhaltsverzeichnis:

MIDI-Musik an das Spielatron senden - Gunook
MIDI-Musik an das Spielatron senden - Gunook

Video: MIDI-Musik an das Spielatron senden - Gunook

Video: MIDI-Musik an das Spielatron senden - Gunook
Video: Kingmaker - The Change of Destiny Episode 10 | Arabic, English, Turkish, Spanish Subtitles 2024, November
Anonim
So senden Sie MIDI-Musik an das Spielatron
So senden Sie MIDI-Musik an das Spielatron

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

Image
Image

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

Exportieren einer MIDI-Datei
Exportieren einer MIDI-Datei

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

Verbinden des Spielatron mit ALSA MIDI-Programmen
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

Einstellen eines MIDI-Gerätenamens und eines USB-Ports
Einstellen 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

Verwenden von LMMS
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 Ihre MIDI-Datei in LMMS
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

Setzen Sie den LMMS-Ausgang auf TtyUSB0
Setzen Sie den LMMS-Ausgang auf TtyUSB0

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

Computertonausgabe stoppen
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

Klicken Sie auf Play, lehnen Sie sich zurück und genießen Sie die Musik!
Klicken 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: