
Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-23 14:49



Ciao, benvenuto per "costruire da zero il tuo identificatore midi/piano/musica/canzone". Nei seguenti passaggi ti guideremo attraverso l'installazione del software necessario sul tuo raspberry e la creazione del case - tutti i file inclusi.
Se sei cresciuto negli anni '70 e '80, potresti persino riconoscere parti del design. Ci siamo ispirati principalmente all'Apple II. La leggera angolazione verso l'alto nella parte anteriore inferiore, così come la tastiera leggermente inclinata verso l'alto, sono iconiche (date un'occhiata alle immagini per un confronto).
Va bene, andiamo!
Passaggio 1: componenti richiesti

Di seguito puoi trovare l'elenco delle parti che abbiamo utilizzato. Hai altri altoparlanti o una tastiera diversa in giro? Con tutti i mezzi, vai avanti e usali invece! Le parti specifiche non sono così importanti finché le hai tutte.;)
- Raspberry Pi 3 Modello B (probabilmente funzioneranno anche altri lamponi)
- Display touch capacitivo 7" (Waveshare per Raspberry Pi RPI Raspberry Pi Touch Screen TFT LCD da 3,5 pollici (A) 320 * 480/Raspberry Pi Modello B/Raspberry Pi Modello B)
- Altoparlanti (altoparlante PC Mini USB Basetech)
- Tastiera MIDI USB (AKAI LPK25 | Controller tastiera MIDI USB ultra-portatile a 25 tasti per laptop)
- Legno per taglio laser (spessore circa 3 mm)
Passaggio 2: dipendenze del software

Prima di installare il software effettivo per midiIdentifier, è necessario installare prima una serie di dipendenze. La maggior parte di essi può essere installata con lo strumento "apt-get" che è preinstallato su ogni distribuzione del sistema operativo Raspbian. Di seguito sono riportati i comandi specifici necessari per l'installazione delle rispettive dipendenze, inclusa una breve descrizione della funzionalità della dipendenza. Le dipendenze sono le seguenti:
1. Un'immagine del sistema operativo Raspbian pulita
2. Fluidsynth (necessario per l'uscita audio e la generazione audio delle note di pianoforte):
sudo apt-get install fluidsynth
Scarica il font audio Fluidsynth dal seguente URL:
de.osdn.net/frs/g_redir.php?m=kent&f=andr…
Imposta l'avvio automatico di Fluidsynth:
crontab -e
Aggiungi la seguente riga:
@reboot /usr/bin/screen -dm /usr/bin/fluidsynth -a alsa -m alsa_seq -i -s -o "shell.port=9988" -g 2 /FluidR3_GM.sf2
3. Installa Py-Audio (necessario per varie funzionalità di ingresso e uscita audio):
sudo apt-get install python3-pyaudio
4. Telnet (necessario per connettersi al server Fluidsynth responsabile dell'uscita audio):
sudo apt-get install telnet
5. Schermata (necessaria per eseguire l'applicazione come attività in background):
sudo apt-get install screen
6. Git (necessario per scaricare il software midiIdentifier / clonare il repository del codice)
sudo apt-get install git
Passaggio 3: configurazione dello schermo

Il sistema operativo Raspbian richiede alcune modifiche alla configurazione iniziale per funzionare correttamente con il touch screen. Ciò richiede una serie di modifiche al file di configurazione di avvio. Tieni presente che le modifiche accidentali al file potrebbero impedire al Raspberry Pi di avviarsi correttamente.
1. Apri il file di configurazione di avvio con un editor di testo a tua scelta (es. nano). I privilegi di root (sudo) sono necessari per apportare modifiche al file. Comando per aprire e modificare il file:
sudo nano /boot/config.txt
Aggiungi le seguenti righe (se già presenti, rimuovi quelle esistenti)
max_usb_current=1
hdmi_group=2 hdmi_mode=87 hdmi_cvt 1024 600 60 6 0 0 0 hdmi_drive=1
Si prega di prestare attenzione a non includere spazi prima e dopo i simboli "=".
Salva e chiudi il file. Se stai usando nano, procedi come segue:
Premi CTRL + X Digita "Y" e premi Invio
2. Collega il display all'HDMI e a una porta USB casuale del Raspberry Pi.
3. Accendere la retroilluminazione (l'interruttore si trova sul retro del display)
4. Riavvia il Raspberry Pi.
Passaggio 4: il software MidiIdentifier

Di seguito, assumiamo che l'applicazione verrà eseguita con l'utente denominato "pi". In caso contrario, i percorsi delle directory devono essere adattati di conseguenza (ad esempio /home/pi diventa /home/[tuo utente]).
1. Clonare il repository midiIdentifier da Github con il seguente comando:
git clone
2. Aggiungere il repository a Pythonpath.
Apri il file ~/.bashrc (cioè con nano, vedi il passaggio precedente).
Aggiungi la seguente riga:
PYTHONPATH="${PYTHONPATH}:/home/pi/workspace/midiIdentifier/src"
Salva il file, quindi ricaricalo con il seguente comando:
. ~/.bashrc
Cioè: punto spazio tilde barra punto bashrc. Riavvia il Raspberry Pi.
3. Configurazione dell'avvio automatico dell'applicazione.
Crea un file chiamato "start_gui.sh" nella directory home e aggiungi le seguenti righe:
#!/bin/bash
sleep 3 cd /home/pi/workspace/midiIdentifier/src/guiMI python3 /home/pi/workspace/midiIdentifier/src/guiMI/gui.py sleep 30
Apri il file ~/.config/lxsession/LXDE-pi/autostart e aggiungi la seguente riga:
@lxterminal -e /home/pi/start_gui.sh
4. Affinché midiIdentifier funzioni, un insieme di file midi deve essere copiato manualmente nella directory midi. Per evitare violazioni del copyright, questi file non sono inclusi nel nostro repository git. Possono, tuttavia, essere scaricati da varie fonti online come si possono trovare con una semplice ricerca su Google. Una volta scaricati i file, devono essere copiati nella seguente directory:
/home/pi/workspace/midiIdentifier/files/new_midi
Successivamente, i file midi devono essere analizzati con il seguente comando:
python3 /home/pi/workspace/midiIdentifier/src/converterMI/midiToText.py
5. Riavvia il Raspberry Pi.
6. Congratulazioni, ce l'hai fatta! A questo punto il midiIdentifier dovrebbe essere attivo e funzionante!
Passaggio 5: costruire il caso



Questa parte è in realtà piuttosto semplice, se hai accesso a un laser cutter. L'involucro finale ha dimensioni di ca. 450 mm x 100 mm x 300 mm (L/A/P), quindi avrai bisogno di un laser cutter in grado di tagliare almeno 450 mm x 250 mm (che è il pezzo singolo più grande). In alternativa puoi dividere alcune parti in sottoparti che ti permetteranno di costruire la custodia con un laser cutter più piccolo. Inoltre, se usi una tastiera più piccola, probabilmente puoi cavartela con una build più piccola in generale. Abbiamo usato compensato di 3 mm di spessore. Potrebbe essere necessario sperimentare le impostazioni di velocità e potenza del tuo laser cutter per ottenere buoni risultati.
Tutti i file necessari per tagliare la scatola per lo schermo e la custodia generale si trovano in fondo a questo passaggio.
Opzionale: nel caso in cui desideri modificare la nostra build o se sei solo interessato al processo di progettazione dei file per il taglio laser, continua a leggere:
Dopo aver disegnato uno schizzo di base su carta per avere un'idea delle dimensioni, abbiamo utilizzato Adobe Illustrator per progettare i file per il taglio laser (puoi ottenere una versione di prova di 1 settimana dal loro sito web). Tuttavia, non abbiamo disegnato le singole tacche, poiché esiste un meraviglioso strumento online gratuito per aiutarti in questo, Falegnameria. Abbiamo esportato i nostri file AI come SVG e li abbiamo importati in falegnameria, dove abbiamo collegato i diversi bordi tra loro. Falegnameria consente di definire profili per diverse angolazioni da riutilizzare in seguito e consente anche il salvataggio di un progetto. Quindi, abbiamo incluso i nostri profili e progetti di falegnameria di seguito. Questi sono particolarmente utili se si desidera apportare modifiche minori al nostro design, in quanto possono essere modificati più facilmente rispetto ai file di Adobe Illustrator quando si tratta di tolleranze per il taglio e simili.
Passaggio 6: mettere tutto insieme



- Una volta installato il software sul Raspberry Pi (e verificato che funzioni correttamente) e tagliato tutto il compensato, puoi iniziare a combinare software e hardware. Non c'è un modo semplice per farlo e sicuramente implicherà spingere, tirare, raschiare, misurare, tagliare, incollare e dimenare.
- Per prima cosa, dovresti mettere insieme l'intero involucro, ad eccezione della piastra posteriore. Inoltre, non collegare ancora la casella dello schermo, questo sarà l'ultimo passaggio. Se vuoi usare la colla per un supporto aggiuntivo, vai avanti.
- Inserisci il pianoforte dal retro nella custodia, assicurati che sia collegato, poiché sarà difficile collegarlo in seguito. Tienilo contro il legno e misura l'altezza dei pezzi che dovrai tagliare per tenerlo in posizione. Taglia questi pezzi (2 o 3) e attaccali al pianoforte e alla base della scatola, mantenendo il pianoforte nel posto in cui dovrebbe essere e assicurandoti che premendo i tasti non lo sposti.
- Fissare le piastre su cui verranno successivamente posizionati gli altoparlanti con le cerniere al case principale. Puoi usare la colla a caldo o la colla bicomponente per questo. Posiziona un supporto di legno sotto in modo che rimangano orizzontali anche se le scatole vengono posizionate su di loro in seguito.
- Fissare la scatola dello schermo completa (schermo all'interno, cavi che sporgono attraverso il foro nella parte inferiore della scatola) tramite cerniere al case principale.
- Aggiungi un blocco di legno all'interno della custodia per sostenere la scatola dello schermo in posizione orizzontale quando ripiegata nella custodia principale (vedi foto). Questo blocco di supporto verrà utilizzato anche per fissare una piccola trave, per mantenere lo schermo in diverse angolazioni verticali.
- Attacca gli altoparlanti alle loro piastre (abbiamo usato un semplice nastro biadesivo). Per il trasporto, lo schermo e le scatole possono essere ripiegate nella custodia!
- Infine, collega tutti i cavi al lampone.
E questo è tutto, hai finito! Ci auguriamo che il nostro tutorial ti sia piaciuto e ci piacerebbe avere tue notizie se decidessi di creare un midiIdentifier da solo!
Consigliato:
Come installare Raspberry PI 4 Headless (VNC) con Rpi-imager e immagini: 7 passaggi (con immagini)

Howto: installazione di Raspberry PI 4 Headless (VNC) con Rpi-imager e immagini: ho intenzione di utilizzare questo Rapsberry PI in una serie di progetti divertenti nel mio blog. Sentiti libero di dare un'occhiata. Volevo tornare a usare il mio Raspberry PI ma non avevo una tastiera o un mouse nella mia nuova posizione. Era un po' che non installavo un Raspberry
Intelligenza artificiale e riconoscimento delle immagini con HuskyLens: 6 passaggi (con immagini)

Intelligenza artificiale e riconoscimento delle immagini con HuskyLens: Ehi, come va, ragazzi! Akarsh qui da CETech. In questo progetto, daremo un'occhiata all'HuskyLens di DFRobot. È un modulo fotocamera basato sull'intelligenza artificiale in grado di eseguire diverse operazioni di intelligenza artificiale come Face Recognitio
Riconoscimento delle immagini con schede K210 e Arduino IDE/Micropython: 6 passaggi (con immagini)

Riconoscimento immagine con schede K210 e Arduino IDE/Micropython: ho già scritto un articolo su come eseguire demo OpenMV su Sipeed Maix Bit e ho anche realizzato un video di demo di rilevamento oggetti con questa scheda. Una delle tante domande che le persone hanno posto è: come posso riconoscere un oggetto che la rete neurale non è tr
Gesture Hawk: Robot controllato con gesti della mano che utilizza un'interfaccia basata sull'elaborazione delle immagini: 13 passaggi (con immagini)

Gesture Hawk: Robot controllato con gesti della mano che utilizza un'interfaccia basata sull'elaborazione delle immagini: Gesture Hawk è stato presentato in TechEvince 4.0 come una semplice interfaccia uomo-macchina basata sull'elaborazione delle immagini. La sua utilità sta nel fatto che non sono necessari sensori aggiuntivi o indossabili tranne un guanto per controllare l'auto robotica che funziona su diversi
Come smontare un computer con semplici passaggi e immagini: 13 passaggi (con immagini)

Come smontare un computer con semplici passaggi e immagini: questa è un'istruzione su come smontare un PC. La maggior parte dei componenti di base sono modulari e facilmente smontabili. Tuttavia è importante che tu sia organizzato al riguardo. Questo ti aiuterà a non perdere parti e anche a rendere più facile il rimontaggio