Πίνακας περιεχομένων:
- Βήμα 1: Εξαρτήσεις
- Βήμα 2: Διαμόρφωση τιμών εισαγωγής Midi
- Βήμα 3: Προσθήκη επιπλέον φακέλων με δείγματα
- Βήμα 4: Προσθήκη και διαμόρφωση πρόσθετων δειγμάτων εντός νέων φακέλων
- Βήμα 5: Αναφορά αριθμού πληκτρολογίου
Βίντεο: Raspberry Pi Drum Machine: 5 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Sample Sequencer, μέσω Raspberry Pi + Python.
Ο διαχωριστής έχει 4 πολυφωνίες και επιτρέπει στο χρήστη να αποθηκεύει και να υποδεικνύει 6 διαφορετικές ακολουθίες που μπορούν να εναλλάσσονται σε πραγματικό χρόνο και υποστηρίζει τη δυνατότητα αλλαγής μεταξύ διαφορετικών δειγμάτων.
Έγραψα το σενάριο με έναν τρόπο που μπορεί να λειτουργήσει πλήρως με οποιοδήποτε χειριστήριο και ήχους MIDI. Χρησιμοποιώ 18 διαφορετικές τράπεζες ήχου, 16 δείγματα το καθένα, ωστόσο η προσθήκη ή η αφαίρεση τραπεζών και δειγμάτων είναι εύκολη και δεν απαιτεί πολλές τροποποιήσεις. Αν έχετε κάποιο πρόβλημα στείλτε μου ένα email: [email protected]
Βρείτε τον κώδικα στο GitHub στη διεύθυνση:
Ενημερώστε με αν το χρησιμοποιείτε, και ειδικά αν κάνετε βίντεο με αυτό!
Βήμα 1: Εξαρτήσεις
Αυτό το πρόγραμμα απαιτεί τις ακόλουθες (μη ενσωματωμένες) ενότητες Python:
mido
pygame
μουδιασμένος
Ωστόσο, το Mido ρίχνει κάποιες επιπλοκές καθώς το ίδιο το Mido απαιτεί μερικές εξαρτήσεις. Για να βεβαιωθείτε ότι έχουν εγκατασταθεί όλα, απλώς πληκτρολογήστε τις ακόλουθες εντολές στο τερματικό του Raspberry Pi (παραλείποντας το '$') και όλα θα πάνε καλά. Οι άλλες μονάδες μπορούν να εγκατασταθούν κανονικά.
$ sudo apt-get ενημέρωση
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev ή 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 εγκατάσταση mido
Βήμα 2: Διαμόρφωση τιμών εισαγωγής Midi
Μέσα στο κύριο Python Script υπάρχει ένας πίνακας που ονομάζεται noteList που αποτελείται από 16 ακέραιους αριθμούς (γραμμή 165.) Αυτές είναι οι τιμές σημείωσης MIDI που ο ελεγκτής μας στέλνει στο Pi για να ενεργοποιήσει τους ήχους. Ωστόσο, κάθε midi controller είναι διαφορετικός, οπότε αν δεν έχετε επίσης Akai LPD8, πιθανότατα θα χρειαστεί να αλλάξετε αυτές τις τιμές για να ταιριάζουν με τη συσκευή σας.
Το repo του Github περιλαμβάνει επίσης ένα άλλο σενάριο που ονομάζεται "midihelp.py" που είναι φτιαγμένο ειδικά για αυτόν τον σκοπό! Το μόνο που κάνει είναι να εκτυπώσει τις τιμές εισόδου από τον πρώτο ελεγκτή MIDI που αναγνωρίζει ο υπολογιστής στην κονσόλα. Το μόνο που έχετε να κάνετε είναι να αντικαταστήσετε αυτές τις τιμές στον πίνακα εάν διαφέρουν από αυτές που περιλαμβάνονται στο noteList.
Η σειρά των σημειώσεων συσχετίζεται επίσης με το ποιο ηχητικό εφέ αναπαράγεται ανά φάκελο, οπότε να το έχετε υπόψη σας επίσης.
Βήμα 3: Προσθήκη επιπλέον φακέλων με δείγματα
Τα κιτ δειγμάτων μέσα στο σενάριο αποθηκεύονται μέσω φακέλων στον ίδιο κατάλογο, ρυθμίζοντας ακριβώς πώς βρίσκεται το κιτ 808 στο αρχείο GitHub. Με αυτόν τον τρόπο μπορώ να έχω όλα τα είδη διαφορετικών συνόλων δειγμάτων αποθηκευμένα σε φακέλους που οργανώνονται και αντικαθίστανται εύκολα.
Το μόνο που μπορεί να αλλάξει στο ίδιο το σενάριο είναι η μεταβλητή foldNum η οποία απλώς λέει στο σενάριο πόσους φακέλους δειγμάτων υπάρχουν. Προς το παρόν, το σενάριο έχει foldNum ρυθμισμένο σε ένα επειδή υπάρχει μόνο ένας υποφάκελος στον ίδιο κατάλογο (το κιτ 808.) Οι μέγιστοι φάκελοι που μπορεί να χειριστεί το σενάριο αυτή τη στιγμή είναι 18, δηλαδή πόσους χρησιμοποιώ, ωστόσο είναι αρκετά ασήμαντος αλλάξτε το, ενημερώστε με εάν χρειάζεστε βοήθεια.
Τα ονόματα των φακέλων δεν έχουν πραγματικά σημασία (αρκεί να είναι όλα διαφορετικά) καθώς το Script απλώς διαβάζει τον αριθμό των φακέλων στον ίδιο κατάλογο και πιάνει τις διαδρομές με αυτόν τον τρόπο. Τα ονόματα των ίδιων των αρχείων είναι σημαντικά όμως, περισσότερα για αυτό στο επόμενο βήμα.
Βήμα 4: Προσθήκη και διαμόρφωση πρόσθετων δειγμάτων εντός νέων φακέλων
Οι ήχοι φορτώνονται στον δειγματολήπτη μέσω φακέλων στον ίδιο κατάλογο που περιέχουν αρχεία.wav με ονόματα αριθμημένα μεταξύ 0-15. Δείτε το φάκελο 808 που περιλαμβάνεται για παράδειγμα. ΚΑΘΕ υποφάκελος με δείγματα πρέπει να μοιάζει πανομοιότυπα.
Το ευρετήριο των εισόδων MIDI στον πίνακα noteList αντιστοιχεί ακριβώς στο όνομα αρχείου.wav.
Για παράδειγμα:
- όταν ενεργοποιείτε τη σημείωση MIDI που είναι αποθηκευμένη στο noteList [0] θα παίζει το αρχείο wav 0.wav.
- όταν ενεργοποιείτε τη σημείωση MIDI που είναι αποθηκευμένη στο noteList [8] θα παίζει το αρχείο wav 8.wav.
Το έκανα εν μέρει έτσι ώστε κάθε ελεγκτής MIDI να μπορεί να ρυθμιστεί εύκολα για να λειτουργεί με το σενάριο, και επίσης να επεκτείνω ή να περιορίζω εύκολα το δείγμα και τον αριθμό εισαγωγής, καθώς και να οργανώνω τα αρχεία και το σενάριο έτσι ώστε το τύμπανο κλωτσιών Οι ήχοι, για παράδειγμα, θα αποθηκεύονταν πάντα ως 0.wav και θα ενεργοποιούνταν από την πρώτη σημείωση MIDI.
Έχω επιλέξει 16 τιμές κάπως αυθαίρετα για να αντιστοιχούν στις 16 εισόδους του ελεγκτή μου, οπότε αν προτιμάτε να φτιάξετε ένα sequencer με μόνο 1 δείγμα ή με πολλά άλλα, το μόνο που έχετε να κάνετε είναι να αριθμήσετε τα αρχεία ήχου ανάλογα και αφαιρέστε ή προσθέστε τους αριθμούς που είναι αποθηκευμένοι στον πίνακα noteList για αντιστοίχιση.
Εάν το κιτ 808 που περιλαμβάνεται λειτουργεί σωστά αλλά έχετε πρόβλημα με τα δικά σας δείγματα, η λύση είναι πιθανότατα να αλλάξετε τον ρυθμό δειγματοληψίας των αρχείων ώστε να ταιριάζει με το ρυθμό δείγματος PyGame 22, 050khz και το βάθος bit 16. Μπορείτε να το κάνετε αυτό στο Audacity ή οποιοδήποτε άλλο λογισμικό επεξεργασίας ήχου. Θα πρέπει να λειτουργούν τέλεια από εκεί!
Βήμα 5: Αναφορά αριθμού πληκτρολογίου
Εντάξει, υπάρχουν πολλά πράγματα που συμβαίνουν στο sequencer, περισσότερα από όσα είχα αρχικά στο μυαλό μου, οπότε στριμώχτηκα αρκετά σε ένα Pad Number για να ταιριάζει με την αυξημένη λειτουργικότητα. Αυτό κατά νου, ο Αστερίσκος * και η Περίοδος. και τα δύο λειτουργούν ως πλήκτρα λειτουργίας.
ΑΝΑΦΟΡΑ
ΣΥΝΘΕΣΕΙΣ
[8] - Ενεργοποίηση και απενεργοποίηση του Μετρονόμου
[9] - Ενεργοποίηση και απενεργοποίηση λειτουργίας εγγραφής
[Enter] - Ακολουθία αναπαραγωγής/παύσης
[0] - Διαγραφή τρέχουσας σημείωσης σε ακολουθία
[Num Lock and *] - Κλείστε
[Σημείωση MIDI και.] - Μην κβαντίζετε σε ζυγούς αριθμούς
ΛΕΙΤΟΥΡΓΙΕΣ TEMPO
[+] - Επιτάχυνση μαθημάτων BPM μαθημάτων
[-] - Επιβράδυνση του μαθήματος BPM
[+ και *] - Γρήγορη επιτάχυνση BPM
[- και *] - Γρήγορη επιβράδυνση BPM
[+ και.] - Fine Speed Up BPM
[- και.] - Fine Slow Down BPM
ΛΕΙΤΟΥΡΓΙΕΣ ΑΚΟΛΟΥΘΙΑΣ
[1-6] Ανάκληση Ακολουθίας 1-6
[1-6 και.] Ακολουθία καταστήματος 1-6
[0 και.] Διαγραφή τρέχουσας ακολουθίας
ΑΛΛΑΓΗ ΦΑΚΕΛΩΝ ΔΕΙΓΜΑΤΟΣ
[1-9 και *]-Αλλαγή σε Πακέτο δείγματος στους φακέλους 1-9
[1-9 και * και.]-Αλλαγή σε Πακέτο δείγματος στους φακέλους 10-18
ΣΥΜΒΟΥΛΕΣ ΑΚΟΛΟΥΘΙΑΣ:
-Καθαρίστε την τρέχουσα ακολουθία [0 και.] Και αποθηκεύστε την σε όποιες ακολουθίες θέλετε να διαγραφούν από τη μνήμη.
-Ανακαλέστε μια ακολουθία και αποθηκεύστε την σε διαφορετικό αριθμό για να την αντιγράψετε.
Συνιστάται:
Απλή Drum Machine With Arduino Uno και Mozzi: 4 Βήματα
Απλή μηχανή τυμπάνου με Arduino Uno και Mozzi: Το να ζεις στην Αργεντινή σημαίνει ότι η διεθνή αλληλογραφία θα κλαπεί ή θα κολλήσει στα τελωνεία. Προσθέστε καραντίνα για τον κορωνοϊό και το επόμενο έργο σας περιορίζεται σε έναν παλιό πίνακα Arduino Uno. Καλα ΝΕΑ? Όπως λέει ο μεγάλος ποιητής από τους Rolling Stones: «Ο χρόνος τελειώνει
Makey Makey Electric Drums / Drum Machine: 8 Βήματα
Makey Makey Electric Drums / Drum Machine: Αυτό το σεμινάριο για τον τρόπο κατασκευής ενός σετ ηλεκτρικών τυμπάνων, είναι μια συμμετοχή στον διαγωνισμό Makey Makey. Υλικό, θα διαφέρει ανάλογα με τη διαθεσιμότητα και τις προσωπικές επιλογές. Το χαρτόνι μπορεί να αντικατασταθεί με πιο ανθεκτικά υλικά και να στρώσει με αφρό/ άλλο για tex
HX1 -DM - το Upcycled Arduino DUE Powered DIY Drum Machine (made With a Dead Maschine MK2): 4 βήματα
HX1 -DM - το Upcycled Arduino DUE Powered DIY Drum Machine (made With a Dead Maschine MK2): The Spec. Hybrid Midi controller / drum machine: Arduino DUE powered! 16 επιθέματα ανίχνευσης ταχύτητας με πολύ χαμηλή καθυστέρηση 1 > ms 8 πόμολα που ο χρήστης μπορεί να αντιστοιχιστεί σε οποιαδήποτε εντολή Midi #CC 16ch Ενσωματωμένος ακολουθιογράφος (δεν απαιτείται υπολογιστής !!) MIDI in/out/thru functio
A Raspberry Pi Powered Junk Drum Machine: 15 βήματα (με εικόνες)
A Raspberry Pi Powered Junk Drum Machine: Αυτό το Instructable θα σας δείξει πώς να φτιάξετε μια ρομποτική μηχανή με τύμπανο Raspberry Pi. Είναι πραγματικά ένα διασκεδαστικό, δημιουργικό, διαδραστικό έργο. Θα σας δείξω πώς να κάνετε τις εσωτερικές λειτουργίες, αλλά τα πραγματικά τύμπανα θα εξαρτηθούν από εσάς, δίνοντάς σας
Arduino Servo Drum Machine: 4 Βήματα
Arduino Servo Drum Machine: Πρόκειται για μια απλή μηχανή τυμπάνου ή ρομπότ με δύο μικροσέρβο και Arduino Uno. Τα σερβίτσια είναι τοποθετημένα σε ξύλινο στήριγμα σχήματος L που συγκρατείται στο τύμπανο με 4 ισχυρούς μαγνήτες. Οι σέρβο βραχίονες είναι βιδωμένοι σε δύο ξυλάκια που χρησιμεύουν ως