Inhoudsopgave:

MidiIdentifier: 6 stappen (met afbeeldingen)
MidiIdentifier: 6 stappen (met afbeeldingen)

Video: MidiIdentifier: 6 stappen (met afbeeldingen)

Video: MidiIdentifier: 6 stappen (met afbeeldingen)
Video: Wanneer een douche nemen te duur is... 2024, November
Anonim
MidiIdentifier
MidiIdentifier
MidiIdentifier
MidiIdentifier
MidiIdentifier
MidiIdentifier

Hallo, welkom bij "bouw je eigen midi/piano/muziek/song-identifier helemaal opnieuw". Binnen de volgende stappen zullen we je begeleiden bij het installeren van de benodigde software op je Raspberry en het bouwen van de behuizing - alle bestanden inbegrepen.

Als je bent opgegroeid in de jaren 70 en 80, herken je misschien zelfs delen van het ontwerp. We haalden onze inspiratie vooral uit de Apple II. De lichte opwaartse hoek aan de onderkant van de voorkant, evenals het licht opwaarts gekantelde toetsenbord zijn iconisch (bekijk de foto's voor een vergelijking).

Oké, laten we gaan!

Stap 1: Vereiste componenten

Vereiste componenten
Vereiste componenten

Hieronder vindt u de lijst met gebruikte onderdelen. Heb je andere luidsprekers of een ander toetsenbord liggen? Ga je gang en gebruik ze in plaats daarvan! De specifieke onderdelen zijn niet zo belangrijk zolang je ze allemaal hebt.;)

  1. Raspberry Pi 3 Model B (andere frambozen zullen waarschijnlijk ook werken)
  2. Capacitieve touchscreen 7" (Waveshare voor Raspberry Pi RPI Raspberry Pi 3,5 inch Touchscreen TFT LCD (A) 320 * 480/Raspberry Pi Model B/Raspberry Pi Model B)
  3. Luidsprekers (Basetech Mini USB PC-luidspreker)
  4. Midi USB-toetsenbord (AKAI LPK25 | Ultra-draagbare USB MIDI-toetsenbordcontroller met 25 toetsen voor laptops)
  5. Hout voor lasersnijden (ca. 3 mm dik)

Stap 2: Software-afhankelijkheden

Software-afhankelijkheden
Software-afhankelijkheden

Voordat de eigenlijke software voor de midiIdentifier wordt geïnstalleerd, moet eerst een aantal afhankelijkheden worden geïnstalleerd. De meeste kunnen worden geïnstalleerd met de tool "apt-get", die vooraf is geïnstalleerd op elke Raspbian OS-distributie. De specifieke commando's die nodig zijn voor het installeren van de respectievelijke afhankelijkheden vindt u hieronder, inclusief een korte beschrijving van de functionaliteit van de afhankelijkheid. De afhankelijkheden zijn als volgt:

1. Een schone Raspbian OS-afbeelding

2. Fluidsynth (vereist voor audio-uitvoer en audiogeneratie van pianonoten):

sudo apt-get install fluidsynth

Download het Fluidsynth-geluidslettertype van de volgende URL:

de.osdn.net/frs/g_redir.php?m=kent&f=andr…

Fluidsynth Autostart instellen:

crontab -e

Voeg de volgende regel toe:

@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. Installeer Py-Audio (vereist voor verschillende geluidsinvoer- en uitvoerfuncties):

sudo apt-get install python3-pyaudio

4. Telnet (vereist om verbinding te maken met de Fluidsynth-server die verantwoordelijk is voor de audio-uitvoer):

sudo apt-get install telnet

5. Scherm (vereist om de applicatie als achtergrondtaak uit te voeren):

sudo apt-get installatiescherm

6. Git (vereist om de midiIdentifier-software te downloaden / de coderepository te klonen)

sudo apt-get install git

Stap 3: Weergave-instellingen

Beeldschermopstelling
Beeldschermopstelling

Raspbian OS vereist enkele initiële configuratiewijzigingen om correct te kunnen werken met het aanraakscherm. Dit vereist een aantal wijzigingen in het opstartconfiguratiebestand. Houd er rekening mee dat onbedoelde wijzigingen aan het bestand ervoor kunnen zorgen dat de Raspberry Pi niet goed opstart.

1. Open het opstartconfiguratiebestand met een teksteditor naar keuze (d.w.z. nano). Root-privileges (sudo) zijn vereist om wijzigingen in het bestand aan te brengen. Commando om het bestand te openen en te bewerken:

sudo nano /boot/config.txt

Voeg de volgende regels toe (indien al aanwezig, verwijder de bestaande)

max_usb_current=1

hdmi_group=2 hdmi_mode=87 hdmi_cvt 1024 600 60 6 0 0 0 hdmi_drive=1

Let op dat er geen spaties voor en na de symbolen "=" worden gebruikt.

Sla het bestand op en sluit het. Als u nano gebruikt, doet u het volgende:

Druk op CTRL + X Typ "Y" en druk op Enter

2. Sluit het display aan op de HDMI en op een willekeurige USB-poort van de Raspberry Pi.

3. Schakel de achtergrondverlichting in (de schakelaar bevindt zich aan de achterkant van het scherm)

4. Start de Raspberry Pi opnieuw op.

Stap 4: De MidiIdentifier-software

De MidiIdentifier-software
De MidiIdentifier-software

In het volgende gaan we ervan uit dat de toepassing zal worden uitgevoerd onder de gebruiker met de naam "pi". Als dit niet het geval is, moeten de directorypaden dienovereenkomstig worden aangepast (d.w.z. /home/pi wordt /home/[uw gebruiker]).

1. Kloon de midiIdentifier-repository van Github met de volgende opdracht:

git kloon

2. Voeg de repository toe aan het Pythonpath.

Open het bestand ~/.bashrc (d.w.z. met nano, zie de vorige stap).

Voeg de volgende regel toe:

PYTHONPATH="${PYTHONPATH}:/home/pi/workspace/midiIdentifier/src"

Sla het bestand op en laad het opnieuw met de volgende opdracht:

. ~/.bashrc

Dat wil zeggen: punt spatie tilde slash punt bashrc. Start de Raspberry Pi opnieuw op.

3. Stel autostart van de applicatie in.

Maak een bestand met de naam "start_gui.sh" in de homedirectory en voeg de volgende regels toe:

#!/bin/bash

sleep 3 cd /home/pi/workspace/midiIdentifier/src/guiMI python3 /home/pi/workspace/midiIdentifier/src/guiMI/gui.py sleep 30

Open het bestand ~/.config/lxsession/LXDE-pi/autostart en voeg de volgende regel toe:

@lxterminal -e /home/pi/start_gui.sh

4. Om de midiIdentifier te laten werken, moet een set midi-bestanden handmatig naar de midi-directory worden gekopieerd. Om inbreuken op het auteursrecht te voorkomen, zijn deze bestanden niet opgenomen in onze git-repository. Ze kunnen echter worden gedownload van verschillende online bronnen, zoals te vinden is met een eenvoudige Google-zoekopdracht. Nadat u de bestanden hebt gedownload, moeten ze naar de volgende map worden gekopieerd:

/home/pi/workspace/midiIdentifier/files/new_midi

Hierna moeten de midi-bestanden worden geparseerd met het volgende commando:

python3 /home/pi/workspace/midiIdentifier/src/converterMI/midiToText.py

5. Start de Raspberry Pi opnieuw op.

6. Gefeliciteerd, je hebt het gehaald! De midiIdentifier zou nu moeten werken!

Stap 5: De zaak bouwen

De zaak bouwen
De zaak bouwen
De zaak bouwen
De zaak bouwen
De zaak bouwen
De zaak bouwen

Dit deel is eigenlijk vrij eenvoudig - als je toegang hebt tot een lasersnijder. De uiteindelijke behuizing heeft afmetingen van ca. 450 mm x 100 mm x 300 mm (B/H/D), dus u hebt een lasersnijder nodig die minimaal 450 mm x 250 mm kan snijden (dat is het grootste stuk). Als alternatief kunt u een deel van de onderdelen opsplitsen in subonderdelen, zodat u de behuizing kunt bouwen met een kleinere lasersnijder. Als u een kleiner toetsenbord gebruikt, kunt u in het algemeen waarschijnlijk wegkomen met een kleinere build. We gebruikten triplex van 3 mm dik. Mogelijk moet u experimenteren met de snelheids- en vermogensinstellingen van uw lasersnijder om goede resultaten te krijgen.

Alle bestanden die u nodig hebt om de doos voor het scherm en de algehele behuizing te knippen, vindt u onderaan deze stap.

Optioneel: Als u onze build wilt wijzigen of als u alleen geïnteresseerd bent in het proces van het ontwerpen van de bestanden voor de lasersnijder, lees dan verder:

Nadat we een basisschets op papier hadden getekend om een idee te krijgen van de afmetingen, hebben we Adobe Illustrator gebruikt om de bestanden voor de lasercutter te ontwerpen (u kunt een testversie van 1 week krijgen van hun website). We hebben de individuele inkepingen echter niet getekend, want er is een prachtige gratis online tool om je daarbij te helpen, Joinery. We hebben onze AI-bestanden geëxporteerd als SVG en geïmporteerd in schrijnwerkerij, waar we de verschillende randen met elkaar hebben verbonden. Met schrijnwerk kunt u profielen voor verschillende hoeken definiëren om later opnieuw te gebruiken en kunt u ook een project opslaan. Daarom hebben we hieronder onze schrijnwerkprofielen en projecten opgenomen. Deze zijn vooral handig als u kleine wijzigingen in ons ontwerp wilt aanbrengen, omdat ze gemakkelijker kunnen worden gewijzigd dan de Adobe Illustrator-bestanden als het gaat om toleranties voor snijden en dergelijke.

Stap 6: Alles samenbrengen

Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
  1. Nadat je de software op de Raspberry Pi hebt geïnstalleerd (en hebt getest of deze correct werkt) en al het triplex hebt gesneden, kun je beginnen met het combineren van software en hardware. Er is geen gemakkelijke manier om dit te doen en het zal zeker wat duwen, trekken, raspen, meten, snijden, lijmen en wiebelen zijn.
  2. Eerst moet je de volledige behuizing in elkaar zetten, behalve de achterplaat. Bevestig de schermdoos ook nog niet, dit is de laatste stap. Als je lijm wilt gebruiken voor extra ondersteuning, ga je gang.
  3. Steek de piano vanaf de achterkant in de behuizing, zorg ervoor dat deze is aangesloten, omdat het later moeilijk zal zijn om hem aan te sluiten. Houd het tegen het hout en meet de hoogte van de stukken die je moet zagen om het op zijn plaats te houden. Knip deze stukken (2 of 3) uit en bevestig ze aan de piano en de basis van de doos, waarbij u de piano op de plaats houdt waar hij hoort te zitten en ervoor zorgt dat hij niet beweegt als u op de toetsen drukt.
  4. Bevestig de platen waarop de luidsprekers later worden geplaatst met scharnieren aan de hoofdbehuizing. Je kunt daarvoor hete lijm of twee componenten lijm gebruiken. Plaats wat houten steun eronder zodat ze horizontaal blijven, ook als de dozen er later op worden geplaatst.
  5. Bevestig de complete schermkast (scherm aan de binnenkant, kabels die door het gat aan de onderkant van de doos steken) via scharnieren aan de hoofdkast.
  6. Voeg een houten blok toe aan de binnenkant van de behuizing om de schermdoos in een horizontale positie te houden wanneer deze wordt teruggevouwen in de hoofdbehuizing (zie afbeeldingen). Dit steunblok wordt ook gebruikt om een kleine balk aan te bevestigen, om het scherm in verschillende opstaande hoeken te houden.
  7. Bevestig de luidsprekers aan hun platen (we gebruikten eenvoudige dubbelzijdige tape). Voor transport kunnen zowel het scherm als de dozen weer in de koffer worden geklapt!
  8. Sluit tot slot alle kabels aan op de Raspberry.

En dat is het, je bent klaar! We hoopten dat je onze tutorial leuk vond en horen graag van je als je besluit om zelf een midiIdentifier te bouwen!

Aanbevolen: