Inhaltsverzeichnis:
- Schritt 1: Abhängigkeiten
- Schritt 2: Midi-Eingangswerte konfigurieren
- Schritt 3: Hinzufügen zusätzlicher Ordner mit Beispielen
- Schritt 4: Hinzufügen und Konfigurieren zusätzlicher Beispiele in neuen Ordnern
- Schritt 5: Nummernblock-Referenz
Video: Raspberry Pi Drumcomputer - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Sample Sequencer, über einen Raspberry Pi + Python.
Der Sequenzer verfügt über 4 Polyphonie und ermöglicht es dem Benutzer, 6 verschiedene Sequenzen zu speichern und abzurufen, zwischen denen er in Echtzeit wechseln kann, und unterstützt die Möglichkeit, zwischen verschiedenen Samples zu wechseln.
Ich habe das Skript so geschrieben, dass es mit wirklich jedem MIDI-Controller und -Sounds vollständig bedienbar ist. Ich verwende 18 verschiedene Soundbänke mit jeweils 16 Samples, aber das Hinzufügen oder Subtrahieren von Bänken und Samples ist einfach und erfordert nicht viele Änderungen. Wenn Sie Probleme haben, senden Sie mir eine E-Mail: [email protected]
Den Code finden Sie auf GitHub unter:
Bitte lassen Sie es mich wissen, wenn Sie es verwenden, und vor allem, wenn Sie ein Video damit machen!
Schritt 1: Abhängigkeiten
Dieses Programm erfordert die folgenden (nicht integrierten) Python-Module:
Mido
Pygame
numpy
Mido wirft jedoch einige Komplikationen auf, da Mido selbst einige Abhängigkeiten erfordert. Um sicherzustellen, dass sie alle installiert werden, geben Sie einfach die folgenden Befehle in das Terminal Ihres Raspberry Pi ein (ohne das '$') und alles wird gut. Die anderen Module können normal installiert werden.
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev oder libasound2-dev
$ sudo apt-get install libjack0
$ sudo apt-get install libjack-dev
$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo pip install python-rtmidi
$ sudo pip install mido
Schritt 2: Midi-Eingangswerte konfigurieren
Innerhalb des Python-Hauptskripts existiert ein Array namens noteList, das aus 16 Integern besteht (Zeile 165). Dies sind die MIDI-Notenwerte, die unser Controller an den Pi sendet, um die Sounds auszulösen. Jeder Midi-Controller ist jedoch anders. Wenn Sie also nicht auch einen Akai LPD8 haben, müssen Sie diese Werte höchstwahrscheinlich an Ihr Gerät anpassen.
Das Github-Repository enthält auch ein weiteres Skript namens "midihelp.py", das speziell für diesen Zweck erstellt wurde! Alles, was es tut, ist, die Eingabewerte des ersten MIDI-Controllers, den der Computer erkennt, an die Konsole zu drucken. Sie müssen lediglich diese Werte im Array ersetzen, wenn sie sich von denen in noteList unterscheiden.
Die Reihenfolge der Noten hängt auch davon ab, welcher Soundeffekt pro Ordner gespielt wird, also denken Sie auch daran.
Schritt 3: Hinzufügen zusätzlicher Ordner mit Beispielen
Beispielkits innerhalb des Skripts werden über Ordner im selben Verzeichnis gespeichert, und richten Sie genau so ein, wie das 808-Kit in der GitHub-Datei ist. Auf diese Weise kann ich alle möglichen verschiedenen Sample-Sets in Ordnern speichern, die leicht organisiert und ersetzt werden können.
Das einzige, was im Skript selbst geändert werden muss, ist die Variable foldNum, die dem Skript nur mitteilt, wie viele Ordner mit Samples es gibt. Derzeit hat das Skript foldNum auf eins gesetzt, da es nur einen Unterordner im selben Verzeichnis gibt (das 808-Kit). Die maximale Anzahl von Ordnern, die das Skript derzeit verarbeiten kann, sind 18, so viele ich verwende, aber es ist ziemlich trivial zu Ändern Sie dies, lassen Sie es mich wissen, wenn Sie Hilfe benötigen.
Die Namen der Ordner spielen keine Rolle (solange sie alle unterschiedlich sind), da das Skript nur die Anzahl der Ordner im selben Verzeichnis liest und die Pfade auf diese Weise erfasst. Die Namen der Dateien selbst sind jedoch wichtig, dazu mehr im nächsten Schritt.
Schritt 4: Hinzufügen und Konfigurieren zusätzlicher Beispiele in neuen Ordnern
Sounds werden in den Sampler über Ordner im selben Verzeichnis geladen, die.wav-Dateien mit nummerierten Namen zwischen 0-15 enthalten. Ein Beispiel dafür finden Sie im mitgelieferten 808-Ordner. JEDER Unterordner mit Beispielen sollte identisch aussehen.
Der Index der MIDI-Eingänge im Array noteList entspricht genau dem.wav-Dateinamen.
Zum Beispiel:
- Wenn Sie die in noteList[0] gespeicherte MIDI-Note triggern, wird die wav-Datei 0.wav abgespielt.
- Wenn Sie die in noteList[8] gespeicherte MIDI-Note triggern, wird die wav-Datei 8.wav abgespielt.
Ich tat dies zum Teil, damit jeder einzelne MIDI-Controller leicht für die Arbeit mit dem Skript eingerichtet werden konnte, und auch, um die Sample- und Eingangsanzahl einfach zu erweitern oder zu begrenzen sowie die Dateien und das Skript so zu organisieren, dass die Kickdrum funktioniert Sounds würden zum Beispiel immer als 0.wav gespeichert und von der ersten MIDI-Note getriggert.
Ich habe 16 Werte etwas willkürlich gewählt, um den 16 Eingängen meines Controllers zu entsprechen. Wenn Sie also lieber einen Sequenzer mit nur 1 Sample oder mit vielen mehr erstellen möchten, müssen Sie nur die Audiodateien entsprechend nummerieren und subtrahieren oder addieren Sie die im noteList-Array gespeicherten Zahlen, um sie abzugleichen.
Wenn das mitgelieferte 808-Kit ordnungsgemäß funktioniert, Sie jedoch Probleme mit Ihren eigenen Samples haben, besteht die Lösung höchstwahrscheinlich darin, die Sample-Rate der Dateien so zu ändern, dass sie der Sample-Rate von 22.050 kHz und der Bit-Tiefe von 16 von PyGame entspricht. Sie können dies in Audacity oder. tun jede andere Audiobearbeitungssoftware. Von da an sollten sie perfekt funktionieren!
Schritt 5: Nummernblock-Referenz
Ok, im Sequenzer passiert viel, mehr als ich ursprünglich gedacht hatte, also habe ich einiges auf einen Nummernblock gestopft, um der erweiterten Funktionalität gerecht zu werden. Dies im Hinterkopf, den Asterisk* und den Punkt. beide fungieren als Funktionstasten.
HINWEIS
HAUPTFUNKTIONEN
[8] - Metronom ein- und ausschalten
[9] - Aufnahmemodus ein- und ausschalten
[Enter] - Wiedergabe/Pause-Sequenz
[0] - Aktuelle Note in Sequenz löschen
[Num Lock und *] - Herunterfahren
[MIDI Note und.] - Quantisieren Sie nicht zu geraden Zahlen
TEMPO-FUNKTIONEN
[+] - Kursbeschleunigung BPM
[-] - Kurs verlangsamen BPM
[+ und *] - BPM schnell beschleunigen
[- und *] - Schnelle Verlangsamung der BPM
[+ und.] - Feinbeschleunigung BPM
[- und.] - Fein verlangsamen BPM
SEQUENZFUNKTIONEN
[1-6] Abrufsequenz 1-6
[1-6 und.] Speichersequenz 1-6
[0 und.] Aktuelle Sequenz löschen
ÄNDERN VON BEISPIELORDNERN
[1-9 und *] - Wechseln Sie zum Sample Pack in den Ordnern 1-9
[1-9 und * und.] - Wechseln Sie zum Sample Pack in den Ordnern 10-18
SEQUENZ-TIPPS:
-Löschen Sie die aktuelle Sequenz [0 und.] und speichern Sie sie in allen Sequenzen, die Sie aus dem Speicher löschen möchten.
- Rufen Sie eine Sequenz auf und speichern Sie sie unter einer anderen Nummer, um sie zu kopieren.
Empfohlen:
So installieren Sie Raspbian OS in Raspberry Pi mit NOOBS-Software und Smartphone.: 6 Schritte
So installieren Sie Raspbian OS in Raspberry Pi mit NOOBS-Software und Smartphone.: Hallo zusammen! Heute zeige ich Ihnen in diesem Tutorial, wie Sie Raspbian OS in Raspberry Pi mit NOOBS-Software und Smartphone einfach installieren
Windows 10 auf einem Raspberry Pi zum Laufen bringen – wikiHow
So funktioniert Windows 10 auf einem Raspberry Pi
So richten Sie einen Raspberry Pi ein und verwenden ihn – wikiHow
So richten Sie einen Raspberry Pi ein und verwenden ihn: Für die Leser der Zukunft sind wir im Jahr 2020. Das Jahr, in dem Sie, wenn Sie das Glück haben, gesund zu sein und nicht mit Covid-19 infiziert sind, plötzlich , hat viel mehr Freizeit, als du dir jemals vorgestellt hast. Wie kann ich mich also nicht zu dumm beschäftigen? Oh ja
Einen Raspberry Pi Laptop herstellen – wikiHow
Wie man einen Raspberry Pi Laptop macht: In diesem Instructable zeige ich Ihnen, wie man einen Raspberry Pi Laptop mit einem Touchscreen-Display macht. Ich werde die gesamte Programmierung und Schritt-für-Schritt-Anleitung haben, um diesen einfach zu bedienenden Laptop zu erstellen. Dieses Tutorial zeigt Ihnen, wie Sie die Soft
Raspbian in Raspberry Pi 3 B ohne HDMI installieren - Erste Schritte mit Raspberry Pi 3B - Einrichten Ihres Raspberry Pi 3: 6 Schritte
Raspbian in Raspberry Pi 3 B ohne HDMI installieren | Erste Schritte mit Raspberry Pi 3B | Einrichten Ihres Raspberry Pi 3: Wie einige von Ihnen wissen, sind Raspberry Pi-Computer ziemlich großartig und Sie können den gesamten Computer nur auf einer einzigen winzigen Platine bekommen. Das Raspberry Pi 3 Model B verfügt über einen Quad-Core 64-Bit ARM Cortex A53 mit 1,2 GHz getaktet. Damit ist der Pi 3 ungefähr 50