Cov txheej txheem:

MidiIdentifier: 6 Kauj Ruam (nrog Duab)
MidiIdentifier: 6 Kauj Ruam (nrog Duab)

Video: MidiIdentifier: 6 Kauj Ruam (nrog Duab)

Video: MidiIdentifier: 6 Kauj Ruam (nrog Duab)
Video: Dab neeg tu siab-Sib txeeb ntsuag poj niam 11/6/2023 2024, Kaum ib hlis
Anonim
MidiIdentifier
MidiIdentifier
MidiIdentifier
MidiIdentifier
MidiIdentifier
MidiIdentifier

Nyob zoo, zoo siab tos txais "tsim koj tus kheej midi/piano/nkauj/nkauj/nkauj tus cim los ntawm kos". Hauv cov kauj ruam hauv qab no peb yuav coj koj los ntawm kev txhim kho cov software tsim nyog ntawm koj cov raspberry thiab tsim cov casing - txhua cov ntaub ntawv suav nrog.

Yog tias koj tau loj hlob hauv 70s thiab 80s, koj kuj tseem tuaj yeem paub qee qhov ntawm kev tsim. Peb kos peb qhov kev tshoov siab feem ntau los ntawm Apple II. Lub kaum me ntsis nce mus rau hauv qab hauv ntej, nrog rau cov keyboard me ntsis nce lub kaum sab xis yog lub cim (saib cov duab rau kev sib piv).

Yog lawm, cia peb mus!

Kauj Ruam 1: Cov Cheeb Tsam Xav Tau

Yuav tsum tau Cheebtsam
Yuav tsum tau Cheebtsam

Hauv qab no koj tuaj yeem pom cov npe uas peb siv. Puas muaj lwm lub suab nrov nrov lossis cov keyboard sib txawv nyob ib puag ncig? Los ntawm txhua txoj hauv kev, mus tom ntej thiab siv lawv dua! Cov ntu tshwj xeeb tsis tseem ceeb npaum li koj muaj tag nrho lawv.;)

  1. Raspberry Pi 3 Qauv B (lwm yam txiv pos nphuab kuj tseem yuav ua haujlwm)
  2. Capacitive kov zaub 7 "(Waveshare rau Raspberry Pi RPI Raspberry Pi 3.5 nti Touch Screen TFT LCD (A) 320 * 480/Raspberry Pi Model B/Raspberry Pi Model B)
  3. Cov neeg hais lus (Basetech Mini USB PC Speaker)
  4. Midi USB keyboard (AKAI LPK25 | 25-Key Ultra-Portable USB MIDI Keyboard Controller rau Laptops)
  5. Ntoo rau laser txiav (kwv yees li 3 hli tuab)

Kauj ruam 2: Software Dependencies

Software Dependencies
Software Dependencies

Ua ntej txhawm rau txhim kho qhov software tiag tiag rau midiIdentifier, muaj ntau qhov kev cia siab uas yuav tsum tau teeb tsa ua ntej. Feem ntau ntawm lawv tuaj yeem teeb tsa nrog lub cuab yeej "apt-get" uas tau teeb tsa ua ntej ntawm txhua qhov Raspbian OS faib. Cov lus txib tshwj xeeb tsim nyog rau kev txhim kho cov kev vam khom tuaj yeem nrhiav tau hauv qab no, suav nrog cov lus piav qhia luv luv ntawm kev vam khom lub luag haujlwm. Lub dependencies yog raws li nram no:

1. Duab huv Raspbian OS

2. Fluidsynth (yuav tsum tau tso tawm suab thiab tsim suab ntawm piano sau ntawv):

sudo apt-tau nruab fluidsynth

Rub tawm Fluidsynth suab font los ntawm qhov URL hauv qab no:

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

Teeb Fluidsynth Autostart:

crontab -e

Ntxiv cov kab hauv qab no:

@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. Nruab Py-Audio (xav tau rau ntau yam suab tawm tswv yim thiab ua haujlwm tau zoo):

sudo apt-tau nruab python3-pyaudio

4. Telnet (yuav tsum txuas mus rau Fluidsynth server uas yog lub luag haujlwm rau cov suab tso tawm):

sudo apt-tau nruab telnet

5. Screen (yuav tsum tau khiav daim ntawv thov ua haujlwm tom qab):

sudo apt-tau nruab screen

6. Git (yuav tsum tau rub tawm midiIdentifier software / clone qhov chaws cia)

sudo apt-tau nruab git

Kauj Ruam 3: Teeb Teeb

Teeb Teeb
Teeb Teeb

Raspbian OS xav tau qee qhov kev hloov pauv pib ua haujlwm kom raug nrog lub vijtsam kov. Qhov no xav tau ntau yam kev hloov pauv rau cov ntaub ntawv teeb tsa khau raj. Thov nco ntsoov tias kev hloov pauv yuam kev rau cov ntaub ntawv tuaj yeem ua rau Raspberry Pi los ntawm kev pib kom raug.

1. Qhib cov ntaub ntawv teeb tsa khau raj nrog cov ntawv sau uas koj xaiv (piv txwv li nano). Cov cai hauv paus (sudo) yuav tsum tau hloov pauv cov ntaub ntawv. Hais kom qhib thiab kho cov ntaub ntawv:

sudo nano /boot /config.txt

Ntxiv cov kab hauv qab no (yog tias muaj tam sim no, thov tshem tawm cov uas twb muaj lawm)

max_usb_current = 1

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

Thov xyuam xim kom tsis txhob suav ib qho chaw ua ntej thiab tom qab "=" cov cim.

Txuag thiab kaw cov ntawv. Yog tias koj siv nano, ua cov hauv qab no:

Nias CTRL + X Hom "Y" thiab nias Enter

2. Txuas cov zaub rau HDMI thiab mus rau qhov chaw nres nkoj USB random ntawm Raspberry Pi.

3. Qhib lub teeb nrig (qhov hloov pauv nyob rau sab nraum qab ntawm cov zaub)

4. Reboot Raspberry Pi.

Kauj Ruam 4: MidiIdentifier Software

Lub MidiIdentifier Software
Lub MidiIdentifier Software

Hauv qab no, peb xav tias daim ntawv thov yuav raug siv nyob hauv tus neeg siv npe "pi". Yog tias qhov no tsis yog, cov npe kab ntawv yuav tsum tau yoog raws (piv txwv li /home /pi dhau los /home /[koj cov neeg siv]).

1. Clone midiIdentifier repository los ntawm Github nrog cov lus txib hauv qab no:

git clone

2. Ntxiv qhov chaw cia rau Pythonpath.

Qhib cov ntawv ~/.bashrc (piv txwv li nrog nano, saib cov kauj ruam dhau los).

Ntxiv cov kab hauv qab no:

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

Txuag cov ntawv, tom qab ntawv rov ua nws nrog cov lus txib hauv qab no:

. ~/.bashrc

Ntawd yog: dot space tilde slash dot bashrc. Reboot Raspberry Pi.

3. Teeb autostart ntawm daim ntawv thov.

Tsim cov ntaub ntawv hu ua "start_gui.sh" hauv cov npe hauv tsev thiab ntxiv cov kab hauv qab no:

#!/bin/tsoo

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

Qhib cov ntawv ~/.config/lxsession/LXDE-pi/autostart thiab ntxiv kab hauv qab no:

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

4. Txhawm rau kom midiIdentifier ua haujlwm, ib txheej ntawm cov ntaub ntawv midi xav tau theej los ntawm tus kheej mus rau hauv phau ntawv teev npe midi. Txhawm rau zam kev ua txhaum cai txhaum cai, cov ntaub ntawv no tsis suav nrog hauv peb qhov chaw cia khoom git. Txawm li cas los xij, lawv tuaj yeem rub tawm los ntawm ntau qhov chaw hauv online raws li tuaj yeem pom nrog kev tshawb nrhiav Google yooj yim. Thaum koj rub tawm cov ntawv, lawv yuav tsum tau theej rau hauv cov npe hauv qab no:

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

Tom qab qhov no, cov ntaub ntawv midi yuav tsum tau txheeb xyuas nrog cov lus txib hauv qab no:

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

5. Reboot Raspberry Pi.

6. Nrog koj zoo siab, koj ua tau! Txog tam sim no midiIdentifier yuav tsum tau nce thiab khiav!

Kauj Ruam 5: Tsim Rooj Plaub

Tsim Rooj Plaub
Tsim Rooj Plaub
Tsim Rooj Plaub
Tsim Rooj Plaub
Tsim Rooj Plaub
Tsim Rooj Plaub

Qhov no yog qhov zoo nkauj ncaj nraim rau pem hauv ntej - yog tias koj nkag tau rau lub tshuab txiav laser. Qhov kawg casing muaj qhov ntev ntawm kwv yees li. 450mm x 100mm x 300mm (W/H/D), yog li koj yuav xav tau lub tshuab txiav laser uas tuaj yeem txiav tsawg kawg 450mm x 250mm (uas yog ib daim loj tshaj plaws). Xwb, koj tuaj yeem faib qee qhov ntawm ntu mus rau hauv ntu uas yuav pab koj tsim rooj plaub nrog lub tshuab txiav me me. Tsis tas li, yog tias koj siv cov keyboard me me koj tuaj yeem tuaj yeem khiav tawm nrog kev tsim me dua. Peb siv 3 hli tuab plywood. Koj yuav tsum tau sim nrog qhov nrawm thiab lub zog teeb tsa ntawm koj lub tshuab txiav laser kom tau txais txiaj ntsig zoo.

Txhua cov ntaub ntawv koj xav tau los txiav lub npov rau lub vijtsam thiab rooj plaub tag nrho tuaj yeem pom nyob hauv qab ntawm cov theem no.

Yeem: Yog tias koj xav hloov kho peb tsim lossis yog tias koj tsuas yog xav nyob hauv cov txheej txheem ntawm kev tsim cov ntawv rau lub tshuab txiav laser, nyeem ntawm:

Tom qab kos cov duab kos yooj yim ntawm daim ntawv kom tau txais kev xav rau qhov ntev, peb tau siv Adobe Illustrator los tsim cov ntaub ntawv rau lub tshuab txiav laser (koj tuaj yeem tau txais 1 lub lis piam xeem sim los ntawm lawv lub vev xaib). Peb tsis tau kos tus kheej qhov cim tseg txawm li cas los xij, vim muaj cov cuab yeej online dawb zoo los pab koj nrog qhov ntawd, Joinery. Peb tau xa tawm peb cov ntaub ntawv AI ua SVG thiab tau xa lawv tuaj rau hauv cov koom nrog, qhov uas peb txuas cov ntug sib txawv nrog txhua lwm yam. Kev koom nrog tso cai rau koj txheeb xyuas cov ntaub ntawv rau ntau lub kaum ntse ntse los rov siv dua tom qab thiab tseem tso cai txuag ib qhov haujlwm. Yog li ntawd, peb tau suav nrog peb cov koom nrog koom nrog thiab cov haujlwm hauv qab no. Cov no muaj txiaj ntsig tshwj xeeb yog tias koj xav hloov pauv me me rau peb cov qauv tsim, vim tias lawv tuaj yeem hloov pauv tau yooj yim dua li adobe illustrator cov ntaub ntawv thaum nws los txog rau kev zam rau kev txiav thiab cov zoo li.

Kauj Ruam 6: Muab Txhua Qhov Ua Ke

Muab Nws Tag Nrho Ua Ke
Muab Nws Tag Nrho Ua Ke
Muab Nws Tag Nrho Ua Ke
Muab Nws Tag Nrho Ua Ke
Muab Nws Tag Nrho Ua Ke
Muab Nws Tag Nrho Ua Ke
  1. Thaum koj tau teeb tsa software ntawm Raspberry Pi (thiab sim tias nws ua haujlwm raug) thiab txiav tag nrho cov plywood koj tuaj yeem pib ua ke software thiab kho vajtse. Tsis muaj txoj hauv kev yooj yim los ua qhov no thiab nws yuav tsum koom nrog qee qhov thawb, rub, ua pob, ntsuas, txiav, ua kua nplaum thiab qoj ib ce.
  2. Ua ntej tshaj, koj yuav tsum muab lub casing ua tiav, tshwj tsis yog rau phaj tom qab. Tsis tas li, tsis txhob muab lub thawv tshuaj ntsuam tsis tau, qhov no yuav yog qib kawg. Yog tias koj xav siv kua nplaum rau kev txhawb nqa ntxiv, mus tom ntej.
  3. Ntxig lub piano tom qab rau hauv lub casing, xyuas kom nws tau ntsaws, vim nws yuav nyuaj rau ntsaws nws tom qab. Tuav nws tawm tsam ntoo thiab ntsuas qhov siab ntawm daim uas koj yuav tsum tau txiav kom tuav nws hauv qhov chaw. Txiav cov ntawv no (2 lossis 3) thiab txuas lawv mus rau lub piano thiab lub hauv paus ntawm lub thawv, khaws lub piano hauv qhov chaw nws yuav tsum nyob hauv thiab ua kom ntseeg tau tias nias lub pob yuav tsis txav nws.
  4. Nthuav cov phaj cov loudspeakers tom qab ntawd yuav muab tso rau ntawm lub hinges rau rooj plaub loj. Koj tuaj yeem siv cov kua nplaum kub lossis ob daim nplaum rau qhov ntawd. Muab qee qhov kev txhawb nqa ntoo hauv qab kom lawv nyob twj ywm kab rov tav txawm tias lub thawv tau muab tso rau lawv tom qab.
  5. Txuas lub thawv tshuaj ntsuam kom tiav (tshuaj ntsuam sab hauv, cov kab hluav taws xob nthuav tawm los ntawm lub qhov nyob hauv qab ntawm lub thawv) ntawm hinges mus rau rooj plaub tseem ceeb.
  6. Ntxiv cov ntoo thaiv sab hauv rooj plaub kom tuav lub thawv tshuaj ntsuam nyob hauv txoj haujlwm kab rov tav thaum rov qab los rau hauv rooj plaub loj (saib duab). Qhov kev txhawb nqa no tseem yuav siv los txuas lub nqaj me me rau, txhawm rau tshuaj xyuas qhov sib txawv ntawm qhov ncaj ncaj.
  7. Txuas lub suab nrov nrov rau lawv cov phaj (peb siv daim kab xev yooj yim ob sab). Txog kev thauj mus los, lub vijtsam nrog rau cov thawv tuaj yeem muab tais rov qab rau hauv rooj plaub!
  8. Thaum kawg, txuas tag nrho cov kab txuas mus rau raspberry.

Thiab qhov ntawd yog nws, koj ua tiav! Peb vam tias koj txaus siab rau peb qhov kev qhia thiab yuav nyiam hnov los ntawm koj yog tias koj txiav txim siab tsim lub midiIdentifier koj tus kheej!

Pom zoo: