Πίνακας περιεχομένων:

Keytar Hero (Χρήση ελεγκτή κιθάρας Wii ως συνθεσάιζερ): 7 βήματα (με εικόνες)
Keytar Hero (Χρήση ελεγκτή κιθάρας Wii ως συνθεσάιζερ): 7 βήματα (με εικόνες)

Βίντεο: Keytar Hero (Χρήση ελεγκτή κιθάρας Wii ως συνθεσάιζερ): 7 βήματα (με εικόνες)

Βίντεο: Keytar Hero (Χρήση ελεγκτή κιθάρας Wii ως συνθεσάιζερ): 7 βήματα (με εικόνες)
Βίντεο: Jesse Cale - Keytar Hero 2024, Ιούλιος
Anonim
Image
Image
Βήμα 1: Raspberry Pi (αρχική εγκατάσταση)
Βήμα 1: Raspberry Pi (αρχική εγκατάσταση)

Τα παιχνίδια Guitar Hero ήταν στη μόδα πριν από δώδεκα χρόνια, οπότε σίγουρα θα υπάρχουν πολλοί παλιοί ελεγκτές κιθάρας που θα μαζεύουν σκόνη. Έχουν πολλά κουμπιά, κουμπιά και μοχλούς, οπότε γιατί να μην τα χρησιμοποιήσετε ξανά καλά; Ο ελεγκτής κιθάρας κανονικά δεν βγάζει κανέναν ήχο από μόνος του, αλλά σε αυτό το σεμινάριο θα σας δείξω πώς να μετατρέψετε ένα Wii Guitar Hero Controller έτσι ώστε να μπορεί να παιχτεί ως συνθεσάιζερ.

Προμήθειες

  • Guitar Hero Wii Controller
  • Nunchucky breakout board (διαθέσιμο στο Adafruit εδώ)
  • 4ea καλώδια άλτης (θηλυκό σε θηλυκό)
  • 2ea crimp βύσματα (προαιρετικά)
  • Raspberry Pi (3 B+ ή 4 προτιμώμενα)
  • Κάρτα MicroSD 16 GB

Βήμα 1: Βήμα 1: Raspberry Pi (αρχική εγκατάσταση)

Ένα Raspberry Pi είναι ο εγκέφαλος και ο δυναμικός αυτού του έργου, οπότε το πρώτο πράγμα που θα πρέπει να κάνουμε είναι να δημιουργήσουμε ένα για το έργο μας. Έχω δοκιμάσει αυτό το έργο τόσο σε Raspberry Pi 3 B+ όσο και σε 4, και φαίνεται ότι και τα δύο λειτουργούν μια χαρά.

Τα Raspberry Pi είναι μικροϋπολογιστές που αποθηκεύουν τα πάντα σε κάρτα microSD αντί για σκληρό δίσκο… συμπεριλαμβανομένου του λειτουργικού συστήματος. Ο τυπικός τρόπος χρήσης τους είναι η λήψη του τελευταίου λειτουργικού συστήματος και η εγγραφή μιας εικόνας του σε κάρτα microSD ως εξής:

  • Σε ξεχωριστό υπολογιστή ή φορητό υπολογιστή, μεταβείτε στη διεύθυνση
  • Κατεβάστε το πιο πρόσφατο λειτουργικό σύστημα Raspbian. (Μπάστερ τη στιγμή που γράφτηκε αυτό). Υπάρχουν πολλές διαθέσιμες εκδόσεις στη σελίδα που παρέχουν περισσότερο ή λιγότερο περιεχόμενο λογισμικού ανάλογα με τις προτιμήσεις σας. Θα πρέπει να λειτουργούν όλα καλά, αλλά μου αρέσει να χρησιμοποιώ την επιλογή "Raspbian Buster με επιτραπέζιο και προτεινόμενο λογισμικό" επειδή περιλαμβάνει ορισμένα IDE προγραμματισμού και άλλες εύχρηστες εφαρμογές. Ο ευκολότερος τρόπος είναι να κατεβάσετε την έκδοση zip.
  • Εγγραφή εικόνας Raspbian σε κάρτα microSD. Υπάρχουν πολλές εφαρμογές που μπορείτε να χρησιμοποιήσετε για την εγγραφή της εικόνας Raspbian στην κάρτα microSD, αλλά χρησιμοποίησα το πρόγραμμα balenaEtcher που μπορείτε να βρείτε εδώ. Τοποθετήστε την κάρτα microSD στον υπολογιστή σας και εκτελέστε το balenaEtcher. Για την εικόνα του δίσκου, επιλέξτε το αρχείο zip που κατεβάσατε, στη συνέχεια επιλέξτε την κάρτα SD και πατήστε flash. Το εργαλείο θα αποσυμπιέσει τα αρχεία εικόνας του δίσκου και θα τα κάψει στην κάρτα SD. ΣΗΜΑΝΤΙΚΟ: Βεβαιωθείτε ότι η μονάδα δίσκου που επιλέγετε είναι η κάρτα microSD … το εργαλείο θα αντικαταστήσει όποια μονάδα δίσκου καθορίσετε, βεβαιωθείτε ότι έχετε επιλέξει τη σωστή.
  • Φωτίστε το Raspberry Pi σας. Τοποθετήστε την κάρτα microSD στο Raspberry Pi. Συνδέστε το ρεύμα, το ποντίκι, το πληκτρολόγιο και τα ηχεία σας. Αν ακολουθήσετε τις προτροπές, είναι αρκετά αυτονόητο… ορίστε την τοποθεσία/ώρα, ορίστε έναν κωδικό πρόσβασης και συνδέστε το WiFi.

Αυτή είναι όλη η τυπική ρύθμιση για ένα Raspberry Pi, οπότε αν χρειάζεστε περισσότερες λεπτομέρειες, μπορείτε να τα βρείτε εδώ. Θα κάνουμε τα υπόλοιπα βήματα στο Raspberry Pi.

Βήμα 2: Βήμα 2: Ενεργοποίηση I2c

Βήμα 2: Ενεργοποιήστε το I2c
Βήμα 2: Ενεργοποιήστε το I2c

Το Guitar Hero Controller χρησιμοποιεί το i2c για επικοινωνία (το i2c είναι ένα αρκετά συνηθισμένο πρωτόκολλο που χρησιμοποιείται από ηλεκτρονικές συσκευές για να μιλούν μεταξύ τους), οπότε πρέπει να ενεργοποιήσουμε αυτήν τη δυνατότητα στο Raspberry Pi:

  • Εγκαταστήστε βιβλιοθήκες για i2c. Οι βιβλιοθήκες i2c φαίνεται τώρα να αποτελούν μέρος της τυπικής κατασκευής Buster, αλλά για κάθε περίπτωση, θα τρέξουμε το πρόγραμμα εγκατάστασης για αυτές. Ανοίξτε ένα κέλυφος (υπάρχει ένα εικονίδιο για αυτό στη γραμμή εργασιών στο επάνω μέρος) και πληκτρολογήστε τα εξής:

    • sudo apt-get install -y python-smbus
    • sudo apt-get install -y i2c-tools
  • Ενεργοποιήστε το i2c στο Raspberry Pi. Στον τύπο του κελύφους σας: sudo raspi-config. Αυτό θα εμφανίσει το παράθυρο διαμόρφωσής σας. Βέλος προς τα κάτω στο InterfacingOptions-> I2C για να ενεργοποιήσετε το i2c για τη συσκευή. Για να βγείτε από το παράθυρο, κάντε δεξί βέλος στο Πίσω και μετά στο Τέλος για να αποθηκεύσετε τις ρυθμίσεις.
  • Επανεκκίνηση Στο κέλυφός σας, πληκτρολογήστε: sudo reboot
  • Ορίστε προσαρμοσμένες παραμέτρους i2c. Το προεπιλεγμένο i2c baudrate (100k) φαίνεται να μπερδεύει την κιθάρα περιστασιακά, οπότε θα την επιβραδύνουμε στα 50k ως εξής:

    • Σε έναν τύπο κελύφους: sudo nano /boot/config.txt
    • Αυτό θα ανοίξει το αρχείο ρυθμίσεων σε έναν επεξεργαστή κειμένου. Βέλος προς τα κάτω και βρείτε τη γραμμή που λέει dtparam = i2c_arm = on. Αν σχολιαστεί, μην το σχολιάσετε. Εάν δεν έχετε αυτήν τη γραμμή, προσθέστε την. Κάτω από αυτήν τη γραμμή προσθέστε επίσης τα ακόλουθα:

      • dtparam = i2c1 = ενεργοποιημένο
      • dtparam = i2c1_baudrate = 50000
    • Πατήστε Ctrl + O για να αποθηκεύσετε το αρχείο διαμόρφωσης και, στη συνέχεια, πατήστε Ctrl + X για έξοδο.
  • Επανεκκίνηση Στο κέλυφος σας, πληκτρολογήστε: sudo reboot

Βήμα 3: Βήμα 3: Εγκατάσταση Pure Data

Βήμα 3: Εγκατάσταση Pure Data
Βήμα 3: Εγκατάσταση Pure Data
Βήμα 3: Εγκατάσταση Pure Data
Βήμα 3: Εγκατάσταση Pure Data

Για τους ήχους συνθεσάιζερ θα χρησιμοποιήσουμε ένα πρόγραμμα που ονομάζεται Pure Data. Αυτό είναι ένα δημιουργικό εργαλείο ήχου και διαδραστικής οθόνης που υπάρχει εδώ και αρκετό καιρό. Διαθέτει μερικές δυνατότητες που το καθιστούν ιδανικό για αυτό το έργο… έχει UI βασισμένο σε κόμβους, το οποίο είναι αρκετά εύκολο στη χρήση και μπορεί να λάβει σήματα από εξωτερικές πηγές, όπως σενάρια python.

  • Εγκατάσταση Pure Data. Σε έναν τύπο κελύφους: sudo apt-get install puredata
    • Αυτό θα πρέπει να εγκαταστήσει το λογισμικό στο Raspberry Pi σας, αλλά αν παραπονιέται στο κέλυφος ότι δεν είναι σε θέση να εντοπίσει όλα τα αρχεία που χρειάζεται, δοκιμάστε αυτό:

      • sudo apt-get ενημέρωση
      • Στη συνέχεια, εκτελέστε ξανά την εντολή εγκατάστασης: sudo apt-get install puredata
    • Κατά την εγκατάσταση θα σας ζητηθεί εάν θέλετε να δημιουργήσετε καταλόγους για επεκτάσεις, μπορείτε να πείτε Ναι.
  • Εκκίνηση Pure Data. Εάν έχει εγκατασταθεί σωστά, θα πρέπει να δείτε το πρόγραμμα που παρατίθεται στο μενού Έναρξη επιφάνειας εργασίας στην περιοχή oundχος και βίντεο. Εκτελέστε το για να βεβαιωθείτε ότι ξεκινά.
  • Ρύθμιση ήχου Pure Data. Ο ήχος στα Pure Data δεν είναι συνήθως ενεργοποιημένος από προεπιλογή, οπότε θα πρέπει να τον ενεργοποιήσετε.

    • Ορίστε την έξοδο ήχου σε ALSA. Όταν ξεκινά το Pure Data θα πρέπει να δείτε το παράθυρο της κονσόλας του. Μεταβείτε στο μενού πολυμέσων και επιλέξτε ALSA ως έξοδο. Μπορεί να δείτε προειδοποιητικά μηνύματα στο κέλυφος της κονσόλας που λένε ότι δεν μπορεί να βρει ορισμένα αρχεία, αλλά μπορείτε να το αγνοήσετε.
    • Ενεργοποιήστε τον ήχο DSP. Στο παράθυρο της κονσόλας, επιλέξτε το πλαίσιο ελέγχου που λέει DSP.
  • Δοκιμή εξόδου ήχου. Στο παράθυρο της κονσόλας Pure Data, μεταβείτε στο Media-> Test Audio & MIDI. Αυτό θα ανοίξει ένα δοκιμαστικό αρχείο που μπορούμε να χρησιμοποιήσουμε για να βεβαιωθούμε ότι τα Pure Data λειτουργούν και ότι μπορούμε να ακούσουμε τον ήχο. Ενεργοποιήστε τα ηχεία σας αλλά διατηρήστε τα σε χαμηλή ένταση στην αρχή (μερικές φορές ο ήχος μπορεί να είναι πολύ δυνατός από προεπιλογή). Στο αρχείο δοκιμής, στην αριστερή πλευρά θα πρέπει να δείτε μια ενότητα που ονομάζεται Tχοι δοκιμής. Κάντε κλικ στο πλαίσιο που λέει πρώτα 60 και δείτε αν ακούτε ήχο από τα ηχεία σας. Εάν όχι, δοκιμάστε να κάνετε κλικ στο πλαίσιο 80 και στη συνέχεια ενεργοποιήστε τα ηχεία σας μέχρι να ακούσετε ήχο. Εάν ακούτε ήχο, δοκιμάστε να σύρετε το πλαίσιο που λέει Pitch στα δεξιά των Test Tones, όπου μπορείτε να αλλάξετε τη συχνότητα των τόνων και να δείτε τι συμβαίνει.

Εάν είστε σε θέση να εκκινήσετε το Pure Data και να ακούσετε έναν ήχο από τη δοκιμαστική ενημερωμένη έκδοση κώδικα, τότε είστε έτοιμοι να προχωρήσετε στο επόμενο βήμα. Αλλά τα Pure Data μπορεί να γίνουν λίγο δύσκολα για την έξοδο ήχου την πρώτη φορά, οπότε αν εξακολουθείτε να μην λαμβάνετε ήχο δοκιμάστε τα εξής:

  • Είναι πιθανό ο ήχος να δρομολογείται μέσω του καλωδίου HDMI, έτσι ώστε να τον αναγκάσετε να χρησιμοποιήσει την υποδοχή ακουστικών:

    • Σε έναν τύπο κελύφους: sudo raspi-config
    • Μεταβείτε στις Προηγμένες επιλογές-> ioχος-> Υποδοχή Force 3.5mm ("ακουστικά")
  • Δοκιμάστε να κάνετε επανεκκίνηση. Μερικές φορές αυτό κάνει το κόλπο.
  • Ελέγξτε τα ηχεία και τη σύνδεσή σας με το Raspberry Pi.

Βήμα 4: Βήμα 4: Σύνδεση της κιθάρας

Βήμα 4: Σύνδεση της κιθάρας
Βήμα 4: Σύνδεση της κιθάρας
Βήμα 4: Σύνδεση της κιθάρας
Βήμα 4: Σύνδεση της κιθάρας
Βήμα 4: Σύνδεση της κιθάρας
Βήμα 4: Σύνδεση της κιθάρας

Ο ευκολότερος τρόπος για να συνδέσετε το χειριστήριο της κιθάρας στο Raspberry Pi είναι με έναν φθηνό πίνακα breakout όπως το Nunchucky*. Αυτός ο πίνακας σάς επιτρέπει να έχετε πρόσβαση στο σήμα που προέρχεται από την κιθάρα χωρίς να κόψετε το βύσμα ή να ανοίξετε την κιθάρα. Στη μία πλευρά του πίνακα υπάρχουν επίπεδα ίχνη σχεδιασμένα για να ταιριάζουν τέλεια στο βύσμα που προέρχεται από την κιθάρα. Υπάρχουν επίσης δύο μικρές εγκοπές που επιτρέπουν στο βύσμα να κουμπώσει στη θέση του, εμποδίζοντας έτσι να χαλαρώσει. Τα ίχνη οδηγούν σε τέσσερις ακίδες κεφαλίδας στην αντίθετη πλευρά του πίνακα.

Σημείωση: Το Nunchucky έρχεται με καρφίτσες κεφαλίδας αλλά δεν είναι κολλημένες, οπότε θα πρέπει να το κάνετε μόνοι σας. Για το δικό μου, χρησιμοποίησα καρφίτσες κεφαλίδας 90 μοιρών, οι οποίες του επιτρέπουν να παραμείνει σταθερή στο τελικό έργο.

Θα χρειαστείτε τέσσερα καλώδια για να συνδέσετε το Nunchucky στο Raspberry Pi. Συνδέστε τα καλώδια από τις ακίδες κεφαλίδας Nunchucky στις ακίδες GPIO του Raspberry Pi ως εξής:

  • 3.3v -> Καρφίτσα 1
  • Δεδομένα -> Pin 3
  • Clk -> Pin 5
  • Gnd -> Pin 9

Στο έργο μου χρησιμοποίησα συνδετήρες πτύχωσης για τα καλώδια, έτσι ώστε να μην τραβούν τόσο εύκολα. Αλλά αν δεν έχετε συνδετήρες πτύχωσης, τέσσερα μεμονωμένα καλώδια από γυναίκα σε γυναίκα θα λειτουργούν καλά. Εάν χρησιμοποιείτε τους συνδετήρες πτύχωσης, βεβαιωθείτε ότι προσέχετε τη σειρά των καλωδίων στις ακίδες κεφαλίδας και τις καρφίτσες GPIO. Σημειώστε επίσης, ότι στις καρφίτσες GPIO, παραλείπουμε τον πείρο 7. Για να το κάνω αυτό, χρησιμοποίησα μια πρίζα πρίζας σε μια άκρη και παρέλειψα μια υποδοχή.

Για να επαληθεύσετε ότι το Raspberry Pi σας μπορεί να εντοπίσει το χειριστήριο κιθάρας, ανοίξτε ένα κέλυφος και πληκτρολογήστε: sudo i2cdetect -y 1

Θα πρέπει να εκτυπώνει ένα πλέγμα στο κέλυφος με κυρίως διπλές παύλες μέσα τους. Εάν ο υπολογιστής μπορεί να ανιχνεύσει την κιθάρα, θα πρέπει να δείτε το αναγνωριστικό της κιθάρας# 52 σε μία από τις υποδοχές… στο μηχάνημά μου εμφανίστηκε στη στήλη 2, σειρά 5… αλλά δεν έχει σημασία ποια, αρκεί να δείτε αριθμός 52 κάπου εκεί μέσα.

Εάν ο υπολογιστής δεν μπορεί να το εντοπίσει, ακολουθούν ορισμένα πράγματα:

  • Βεβαιωθείτε ότι τα καλώδια σας είναι καλά συνδεδεμένα.
  • Βεβαιωθείτε ότι έχετε συνδέσει τα πάντα με τις σωστές καρφίτσες.
  • Γυρίστε το βύσμα της κιθάρας. Το Nunchucky δεν σας εμποδίζει να συνδέσετε το βύσμα ανάποδα, οπότε μπορεί να αναστραφεί.
  • Βεβαιωθείτε ότι το i2c είναι ενεργοποιημένο στο Raspberry Pi (όπως φαίνεται στο βήμα 2)

*Εάν το βύσμα στο χειριστήριο της κιθάρας φαίνεται οικείο, είναι επειδή είναι το ίδιο με το τυπικό χειριστήριο Wii Nunchuck… εξ ου και το όνομα Nunchucky! Αυτό σημαίνει επίσης ότι μπορείτε να χρησιμοποιήσετε αυτόν τον ίδιο πίνακα ανάρτησης για να συνδεθείτε επίσης με τους ελεγκτές nunchuck.

Βήμα 5: Βήμα 5: Το βάζουμε όλα μαζί

Βήμα 5: Το βάζουμε όλα μαζί
Βήμα 5: Το βάζουμε όλα μαζί
Βήμα 5: Το βάζουμε όλα μαζί
Βήμα 5: Το βάζουμε όλα μαζί

Τώρα που όλα έχουν ρυθμιστεί στο Raspberry Pi χρειαζόμαστε λίγο κώδικα για να λειτουργήσει. Μπορείτε να κατεβάσετε τον κώδικα και άλλα απαραίτητα αρχεία ως εξής:

  • Για να κατεβάσετε τον κώδικα και άλλα αρχεία στο Raspberry Pi, ανοίξτε ένα νέο κέλυφος και πληκτρολογήστε την ακόλουθη εντολή (ίσως χρειαστεί να βάλετε το «sudo» πριν από αυτό): git clone
  • Αυτό θα δημιουργήσει έναν κατάλογο στον οικιακό κατάλογο που ονομάζεται keytarHero (δηλαδή/home/pi/keytarHero) και θα κατεβάσει τα αρχεία σε αυτόν.

Υπάρχουν τρία κύρια αρχεία σε αυτό το πακέτο:

  • WiiGHController.py: Αυτό είναι ένα σενάριο python ανοίγει μια σύνδεση i2c με την κιθάρα και επιστρέφει τις τιμές των διαφόρων χειριστηρίων. Από προεπιλογή, εκτυπώνει επίσης τις τιμές που διαβάζει στο κέλυφος, ώστε να μπορείτε να δείτε τι κάνει.
  • keytarHero.pd: Αυτό είναι το αρχείο επιδιόρθωσης Pure Data που δημιούργησα για να δημιουργήσω τη μουσική που θα ακούσετε. Έχει ρυθμιστεί για να διαβάζει τις τιμές που προέρχονται από την κιθάρα και τις κατευθύνει σε διάφορους κόμβους για να παράγει τους ήχους. Θα συζητήσω τις λεπτομέρειες της ενημερωμένης έκδοσης κώδικα στο επόμενο βήμα, αλλά τελικά μπορείτε να το τροποποιήσετε για να κάνετε ό, τι θέλετε από εδώ.
  • keytarHero.py: Αυτό είναι το σενάριο που ξεκινά την όλη διαδικασία και κολλά τα πάντα μαζί. Εκκινεί τα Pure Data και ανοίγει το έμπλαστρο keytarHero.pd. Ανοίγει μια σύνδεση με το έμπλαστρο και μεταφέρει τις τιμές από την κιθάρα στο έμπλαστρο.

Η στιγμή της αλήθειας! Βεβαιωθείτε ότι η κιθάρα είναι συνδεδεμένη με το Raspberry Pi και, στη συνέχεια, είστε έτοιμοι. Για να ξεκινήσει, πρέπει απλώς να εκτελέσετε το σενάριο keytarHero.py. Για να το κάνω αυτό:

  • Ανοίξτε ένα νέο κέλυφος και πληκτρολογήστε: cd keytarHero
  • Στη συνέχεια, εκτελέστε την εντολή: python keytarHero.py

Αυτό είναι! Εάν όλα λειτουργούν σωστά, το Pure Data πρέπει να ξεκινήσει και να ξεκινήσει την αναπαραγωγή της ενημερωμένης έκδοσης κώδικα. Θα πρέπει να ακούσετε μια ακολουθία νότες που παίζεται και όταν πατάτε κουμπιά στην κιθάρα, θα πρέπει να ανταποκρίνεται σε αυτήν.

Αντιμετώπιση προβλημάτων

Εάν δεν λειτουργεί, εδώ είναι μερικά πράγματα που πρέπει να ελέγξετε:

  • Η ενημερωμένη έκδοση κώδικα Pure Data δεν ξεκινά ή δεν λαμβάνει σφάλμα σχετικά με την εύρεση αρχείων; Το σενάριο keytarHero.py έχει τη διαδρομή προς το αρχείο ενημερωμένης έκδοσης κώδικα Pure Data με κωδικοποίηση «/home/pi/keytarHero/keytarHero.pd». Εάν έχετε μετακινήσει το φάκελο keytarHero ή το αρχείο επιδιόρθωσης κάπου αλλού, θα πρέπει να ενημερώσετε το σενάριο για να χρησιμοποιήσετε τη διαδρομή σας. Για να το κάνετε αυτό, ανοίξτε το αρχείο keytarHero.py και αναζητήστε τη μεταβλητή που ονομάζεται PD_PATCH_PATH και αλλάξτε την ώστε να δείχνει στον κατάλογο όπου βρίσκεται το αρχείο keytarHero.pd. Αποθηκεύστε το σενάριο και εκτελέστε το ξανά και θα είστε έτοιμοι.
  • Η κιθάρα εκπέμπει σήμα; Το σενάριο πρέπει να εκτυπώνει το σήμα που παίρνει από την κιθάρα στο κέλυφος συνεχώς ως μια σειρά αριθμών, ο καθένας που αντιπροσωπεύει την αξία ενός χειριστηρίου στην κιθάρα. Όταν χρησιμοποιείτε ένα χειριστήριο στην κιθάρα θα πρέπει να προκαλέσει την αλλαγή αυτών των αριθμών. Εάν όχι, βεβαιωθείτε ότι έχετε κάνει σωστά τη ρύθμιση i2c και τις συνδέσεις κιθάρας στα παραπάνω βήματα.
  • Είναι ενεργοποιημένος ο ήχος Pure Data; Η ενημερωμένη έκδοση κώδικα Pure Data που παρέχεται σε αυτό το πακέτο πρέπει να ενεργοποιεί αυτόματα τον ήχο, αλλά να επαληθεύει ότι είναι ενεργοποιημένο το πλαίσιο ελέγχου DSP στην κονσόλα Pure Data. Ελέγξτε επίσης τις ρυθμίσεις ήχου όπως φαίνεται στο βήμα 3.
  • Τα Pure Data λαμβάνουν το σήμα από την κιθάρα; Στην επάνω δεξιά γωνία του επιθέματος υπάρχει ένας σωρός κόμβοι υπεύθυνοι για την ανάγνωση του σήματος από την κιθάρα και τη μετάδοσή του στο υπόλοιπο έμπλαστρο. Καθώς πατάτε τα κουμπιά στην κιθάρα, οι αριθμοί σε αυτήν την ενότητα θα πρέπει επίσης να ενημερώνονται ότι θα λαμβάνει σωστά το σήμα.
  • Αρχικοποίηση μεταβλητών στο έμπλαστρο. Τα καθαρά δεδομένα μπορεί να είναι λίγο επιπόλαια για τις τιμές στο patch που δεν αρχικοποιούνται. Έχω προσθέσει μηχανισμούς για την ενεργοποίηση μεταβλητών όταν ανοίγει, αλλά ίσως αξίζει τον κόπο να κάνετε κλικ σε μερικά από τα πλαίσια μηνυμάτων (εκείνα που μοιάζουν να έχουν πάρει ένα δάγκωμα από αυτά). Αυτό προκαλεί την αρχικοποίησή τους και μπορεί να τα ξυπνήσει.

Βήμα 6: Μια περιήγηση στο Pure Data Patch

Μια περιήγηση στο Pure Data Patch
Μια περιήγηση στο Pure Data Patch
Μια περιήγηση στο Pure Data Patch
Μια περιήγηση στο Pure Data Patch
Μια περιήγηση στο Pure Data Patch
Μια περιήγηση στο Pure Data Patch
Μια περιήγηση στο Pure Data Patch
Μια περιήγηση στο Pure Data Patch

Η ρύθμιση που περιγράφεται μέχρι τώρα σε αυτό το σεμινάριο θα κάνει τα πράγματα να λειτουργούν για εσάς, αλλά ένα από τα ωραία πράγματα σχετικά με τη χρήση των Pure Data για αυτό το έργο, είναι ότι μπορεί να προσαρμοστεί για να κάνει ό, τι θέλετε. Όταν η ενημερωμένη έκδοση κώδικα είναι ανοικτή, εάν πατήσετε Ctrl + E, θέτει το έμπλαστρο σε κατάσταση επεξεργασίας και μπορείτε να αλλάξετε το έμπλαστρο. Οι λεπτομέρειες σχετικά με τη χρήση των Pure Data είναι πέρα από το πεδίο αυτού του σεμιναρίου (υπάρχουν πολλά σεμινάρια στο διαδίκτυο για αυτό), αλλά μπορεί να είναι διασκεδαστικό να το τσιμπάς, οπότε εδώ είναι μια γενική περιήγηση για το τι συμβαίνει στο pattar keytarHero.pd σε περίπτωση που θέλω να το προσαρμόσω:

  • Επικοινωνία με κιθάρα: Στην επάνω δεξιά γωνία του έμπλαστρου υπάρχει ένα δέντρο κόμβων που είναι υπεύθυνοι για το χειρισμό του σήματος από την κιθάρα. Οι τιμές από την κιθάρα είναι μια μακρά συμβολοσειρά, επομένως αυτοί οι κόμβοι διασπούν τη χορδή σε μεμονωμένες τιμές για κάθε στοιχείο ελέγχου, τις μετατρέπουν σε αριθμούς και στη συνέχεια τις μεταφέρουν στους κόμβους «αποστολής» (αυτοί που ξεκινούν με ένα s). Οι κόμβοι αποστολής αποδίδουν ένα όνομα και εκπέμπουν το σήμα για να λάβουν ομώνυμους κόμβους. Για παράδειγμα, ο κόμβος 's whammy', εκπέμπει τις τιμές που προέρχονται από το whammy bar της κιθάρας και ο κόμβος 'r whammy' στη μέση του επιθέματος λαμβάνει αυτό το σήμα και χρησιμοποιεί αυτό το σήμα για να σταματήσει το sequencer. Οι κόμβοι αποστολής/λήψης συμβάλλουν στη μείωση της ακαταστασίας των γραμμών σύνδεσης στο έμπλαστρο. Δεν συνιστώ να μπερδεύετε αυτήν την ενότητα, καθώς είναι περίεργο να κάνετε σωστά, αλλά μπορείτε σίγουρα να προσθέσετε επιπλέον κόμβους λήψης σε όλη την ενημερωμένη έκδοση κώδικα, όπως απαιτείται, για να λαμβάνετε σήματα από αυτήν, όπως απαιτείται.
  • Ενότητα ακολουθίας: Το μεσαίο τμήμα της ενημερωμένης έκδοσης κώδικα ελέγχει το πρόγραμμα ακολουθίας. Στην αριστερή πλευρά υπάρχει μια μπάρα με κινούμενο μαύρο τετράγωνο που σας δείχνει ποια νότα μιας ακολουθίας 16 νότες παίζει. Το πλήκτρο strum ελέγχει αν η ακολουθία παίζει προς τα εμπρός ή προς τα πίσω. Τα κουμπιά συν/πλην αυξάνουν/μειώνουν την ταχύτητα. Στη δεξιά πλευρά υπάρχουν πέντε σύνολα αριθμών που ελέγχουν ποιες νότες παίζουν κατά τη διάρκεια κάθε βήματος. Κάθε σειρά έχει ανατεθεί για αναπαραγωγή όταν πατηθεί ένα από τα πέντε κουμπιά στο φρεζάρισμα. Αυτοί οι αριθμοί είναι τιμές MIDI και μπορείτε να τους αλλάξετε για να παίξουν όποιες νότες θέλετε … απλά δώστε τους τιμές μεταξύ 0 και 127.
  • Τμήμα ταλαντωτή/FX: Στο κάτω αριστερό μέρος υπάρχουν οι ταλαντωτές και οι κόμβοι FX που κάνουν τον ήχο. Ο κύριος ταλαντωτής βρίσκεται στα αριστερά. Οι τιμές midi από το τμήμα sequencer μετατρέπονται σε συχνότητες και τροφοδοτούνται στον ταλαντωτή. Αναμιγνύεται με έναν δεύτερο ταλαντωτή που προέρχεται από τη δεξιά πλευρά. Η συχνότητά του ελέγχεται επίσης από τις τιμές midi, αλλά με μια πρόσθετη μετατόπιση συχνότητας που οδηγείται από τον άξονα Χ του χειριστηρίου. Αυτό προκαλεί αποσυντονισμό ή σφύριγμα όταν μετακινείτε το joystick προς τα αριστερά ή τα δεξιά. Κάτω δεξιά υπάρχει επίσης ένας κόμβος φίλτρου χαμηλής διέλευσης του οποίου η συχνότητα διακοπής είναι συνδεδεμένη με τον άξονα Υ του χειριστηρίου. Ένα φίλτρο χαμηλής διέλευσης καθορίζει πόσο ήχος υψηλής συχνότητας αφαιρείται από τον ήχο. Όταν το χειριστήριο μετακινείται προς τα κάτω, διακόπτει μεγάλο μέρος των υψηλών συχνοτήτων, με αποτέλεσμα τον ήχο να είναι σβηστός. Όταν μετακινηθεί στην ανοδική θέση, περνάει όλες τις συχνότητες και έχει ως αποτέλεσμα έναν πιο φωτεινό ήχο.
  • Αρχικοποίηση: Στο επάνω αριστερό μέρος της ενημερωμένης έκδοσης κώδικα υπάρχει μια σειρά κόμβων που ενεργοποιούν την ενημερωμένη έκδοση κώδικα όταν ξεκινά, όπως ενεργοποίηση του ήχου και «άγγιγμα» διάφορων κόμβων για να τους ξυπνήσει. Και πάλι πιθανότατα δεν χρειάζεται να μπλέξετε με αυτήν την ενότητα, αλλά αν υπάρχουν πράγματα που θέλετε να συμβούν κατά την εκκίνηση της ενημερωμένης έκδοσης κώδικα, συνδέστε τα στον κόμβο που ονομάζεται "loadbang".
  • Προσπάθησα να τεκμηριώσω το έμπλαστρο με σχόλια στο ίδιο το έμπλαστρο, οπότε ελπίζουμε ότι θα σας δώσει αρκετές πληροφορίες για να εξερευνήσετε διαφορετικές επιλογές από εδώ.

Απολαμβάνω!

Βήμα 7: Πρόσθετα πράγματα που πρέπει να δοκιμάσετε

Τρέξιμο της κιθάρας «ακέφαλο»

Θα πρέπει να είναι δυνατή η εκτέλεση αυτού του έργου χωρίς να είστε συνδεδεμένοι σε οθόνη/πληκτρολόγιο/ποντίκι εάν τελειώσετε το Raspberry Pi από κατάλληλη φορητή πηγή ενέργειας. Το Raspberry Pi δεν ταιριάζει απόλυτα στο άνοιγμα στο πίσω μέρος της κιθάρας, αλλά αν νιώθετε γενναία, μπορείτε να κάνετε τροποποιήσεις στην κιθάρα για να το διορθώσετε… ή απλά να τοποθετήσετε το Pi στο πίσω μέρος με βίδες και να το κολλήσετε έξω λίγο Υπάρχουν πολλά σεμινάρια στο διαδίκτυο σχετικά με τον τρόπο εκτέλεσης σεναρίων στο Raspberry Pi χωρίς ακέφαλο, αλλά βασικά θα θέλατε να εκτελέσετε την εντολή "python /home/pi/keytarHero/keytarHero.py&" όταν ξεκινά. Θεωρητικά τότε, θα είχατε μια κιθάρα με μόνο ένα καλώδιο να βγαίνει από αυτό στο ηχείο… ακριβώς όπως μια πραγματική ηλεκτρική κιθάρα!

Πρόσθετες τροποποιήσεις Pure Data

Είχα κάποιες άλλες ιδέες για το πώς η κιθάρα μπορούσε να ελέγξει το έμπλαστρο Pure Data, αλλά δεν προσπάθησα. Αυτές θα είναι αλλαγές στο έμπλαστρο που μπορεί να είναι διασκεδαστικό να πειραματιστείτε:

  • Whammy bar: Στην τρέχουσα ενημερωμένη έκδοση κώδικα, η μπάρα whammy απλώς σταματά την αναπαραγωγή της ακολουθίας, αλλά νομίζω ότι θα ήταν καλύτερα αν η whammy bar ανέβαζε συχνότητα ταυτόχρονα ακριβώς όπως θα έκανε ένα πραγματικό whammy bar. Προσπάθησα να το κάνω να λειτουργήσει για λίγο, αλλά ήταν πιο περίπλοκο από ό, τι νόμιζα. Νομίζω ότι μπορεί να είναι απλώς η προσθήκη μιας έκφρασης στην ενότητα ταλαντωτή που προσθέτει λίγο υψηλότερη συχνότητα στον ταλαντωτή με βάση την τιμή που προέρχεται από τη ράβδο whammy.
  • Γραμμή Strum: Επί του παρόντος, η γραμμή strum αναπαράγει την ακολουθία προς τα εμπρός όταν πιέζεται προς τα κάτω και προς τα πίσω όταν πιέζεται προς τα επάνω, αλλά ίσως είναι καλύτερο να την κάνετε να περνάει από διάφορες επιλογές αλληλουχίας, όπως τυχαίο βήμα κ.λπ.
  • Κουμπιά συν/πλην: Τα κουμπιά συν/πλην αλλάζουν τους ρυθμούς ανά λεπτό, αλλά είναι λίγο υποτονικοί, εκτός εάν τους πατήσετε αρκετές φορές. Beσως είναι καλό να αυξάνεται κάθε φορά. Or ίσως να το αλλάξει το sequencer μεταξύ 16-beat, 8-beat, 4-beat, τριπλής αναπαραγωγής.

Συνιστάται: