Tartalomjegyzék:
- 1. lépés: A számítógépes dolgok
- 2. lépés: A zongora
- 3. lépés: Összeszerelés
- 4. lépés: Technikai kihívások és jövőbeli szempontok
Videó: Synesthesia Player Piano: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ez a játékos zongora zenét játszik egy színkerék és egy kamera segítségével! A képeket a kamera rögzíti, feldolgozza és hangjegyként értelmezi. Jelenleg úgy van programozva, hogy olyan mondókákat játszik le, amelyek megváltoztathatók egy új arduino vázlat feltöltésével, amely meghatározza, hogy mely hangokat kell lejátszani (mely színeket kell megjeleníteni a kamerának).
A fedélzeti Linux PC elindít egy szolgáltatást a rendszerindításkor, amely képet készít a kamerával, kiszámítja a kép RGB értékeinek függvényét, és hangot ad ki a függvény visszatérési értéke alapján. A hang lejátszása előtt jelzést küld az Arduino -nak, hogy forgassa el a szervót, bemutatva a következő lejátszandó hangnak megfelelő színt. Ezután a ciklus újra elindul, kép készül, a színkör forog, és a hang végtelenül lejátszódik.
Ez a projekt szórakoztató módon integrálja a zenét, a modern Linux-rendszerek programozását, a mikrovezérlő-programozást, az inkcape doodling-ot, a lézervágást és néhány szemét kartondoboz újratervezését.
Az összes kód és inkScape SVG elérhető a github webhelyen:
github.com/melvyniandrag/pyMusic
Felhasznált anyagok:
- Üres fehér címkék
- Kartondoboz
- Webkamera
- Ceruzák
- Arduino
- Beagleboard-xM
- Vezetékek
- Soros kábel
- Alapvető ismeretek a képfeldolgozásról és a zenéről
1. lépés: A számítógépes dolgok
A fedélzeten szüksége lesz egy kicsi Linux-kompatibilis számítógépre, például egy Raspberry Pi-re. Egy régi BeagleBoard-xM-et használtam, mert véletlenül ott feküdt, és már volt egy operációs rendszer az SD-kártyán. Bármit használhat, mindaddig, amíg képes kezelni egy webkamerát, futtatni tudja az OpenCV -t (a számítógépes látókönyvtárat, amely a színkerék képeinek készítésére és feldolgozására szolgál), és rendelkezik audio kimeneti csatlakozóval.
Az operációs rendszert úgy állítottam be, hogy futtassa a rendszerindításkor képeket rögzítő python kódot. A szkript futtatásához meg kell adnia a sudo apt-get install python-pyaudio python-opencv parancsot a jelzett könyvtárak beszerzéséhez. A könyvtárak beszerzéséhez pip -telepítenie kell a numpy pyserial -t is. A pyaudio hangok lejátszására szolgál, az opencv a képek készítésére és feldolgozására, a numpy pedig a képfeldolgozásra is, a pyserial pedig az Arduino -val való kommunikációhoz szükséges.
Az Arduino -t a szervomotor forgatására használják, amelyre a színes kerék fel van szerelve. Ha volt egy Raspberry Pi, akkor használhatja a GPIO csapokat, és kihagyhatja az Arduino -t, de módosítania kell a Python kódot.
A képeken láthatók a művelet technológiai zsigerei és pár kódrészlet.
2. lépés: A zongora
A zongorát néhány régi dobozból készítettem kartonból. Szerencsém van egy lézervágóval rendelkező gyártótér közelében lakni. Egy egész évig azon töprengtem, hogy mi a fenének akarna egy lézervágót, és kiderült, hogy végre találtam rá alkalmazást.
Megmértem a számítógépet, az arduino -t és a szervót, így tudtam, hogy mennyi helyre van szükségem, rajzoltam a zongora részeit az inkcape -ben, és kivágtam a lézervágón. (Szerkesztés: elfogyott a kartonpapír, hogy a ház tartsa a számítógépet és az arduino -t, ezért nem tettem be őket. A tok külső oldalán találhatók. Nem számít, szerezhettem volna egy másik dobozt valahonnan, de nem végülis mindegy.)
A darabokat epoxiddal állították össze.
3. lépés: Összeszerelés
Íme néhány kép a zongora összeszereléséről és színezéséről. A nyomtatóból kifogyott a tinta, így nem tudtam úgy nyomtatni a színeket a fehér címkékre, ahogy elterveztem. Szóval a lányom ceruzáját használtam. És nem találtam xacto kést, amellyel a címkét a karton formájára vághatnám, ezért csak egy steak kést használtam, és valami védelmet tettem a konyhapultra. Használd, amit kaptál!
4. lépés: Technikai kihívások és jövőbeli szempontok
Ennek a projektnek egy kihívást jelentő része volt a megfelelő RGB értékek elérése a fényképezőgéppel. A webkamerámon hihetetlenül fényes LED -ek vannak, amelyeket nem tudok kikapcsolni Linux alatt. Azt hiszem, van egy Windows illesztőprogram, amely lehetővé teszi a be- és kikapcsolást. Kísérleteztem a LED -ek elektromos szalaggal történő rögzítésével és bekapcsolva hagyásával. A szoftver robusztusságát is teszteltem azzal, hogy nem csak színes papírt mutattam, hanem írtam egy kis weboldalt, amely színeket mutat.
A számítógép által keltett hangokban néha pattog és pattog a hang, és ez abból adódik, hogy nagyon kevés tapasztalattal rendelkezem a Linux audio programozásában. A pyaudio könyvtár egy csomó panaszt köp ki amiatt, hogy a JACK nincs telepítve a számítógépre, de alapértelmezés szerint a JACK nem akar fej nélkül futni (gui asztal és monitor nélkül). Ez egy programozási feladat, amelyet finomításnak gondoltam, de nem volt szükséges ahhoz, hogy kifejezzem a zongorajáték lényegét.
Arra gondoltam, hogy kézi hajtókar segítségével változtatom meg a színeket, és esetleg egy sodrófára is, de ez saját bonyodalmakat okoz. A szervó kicsit zajos, de egyelőre jól működik.
A zongorajátékos jelenleg csak 4 hang lejátszására van programozva. Ez azért van, mert a szervó csak 180 fokban mozog, a legtöbb mondókát csak 3-4 hanggal lehet lejátszani, és nem akartam, hogy a színkerék tele legyen színterületekkel, esetleg megzavarva a kamerát. Tehát a zenei szerencse és a technikai korlátok kombinációján keresztül 4 hangjegy jó.
Ajánlott:
Pick-a-Player: 4 lépés
Pick-a-Player: Ez az oktatóanyag végigvezeti Önt, hogyan hozhat döntéshozó Arduino-t. Egy gombnyomással a LED -ek véletlenszerűen felvillannak. Néhány másodperc múlva egyetlen LED világít. Ez az Arduino végső döntése
A DFMini Player MP3 modul használata Arduino -val: 4 lépés
A DFMini Player MP3 -modul használata az Arduino -val: Számos projekthez hangvisszaadásra van szükség bizonyos funkciók hozzáadásához. Ezek közül a projektek közül kiemeljük: a látássérültek akadálymentesítését, az MP3 zenelejátszókat és a hangok robotok általi végrehajtását. Ezek mindegyikében
Keyboard Piano: 3 lépés
Billentyűzongora: Ez az oktatóanyag bemutatja, hogyan lehet egy 8 hangból álló zongorát létrehozni egy 4x4 -es billentyűzet és egy passzív hangjelző segítségével. Ebben a projektben az 1-8 billentyűk hangokat játszanak a zongorán, az A-D gombok pedig előre beállított dallamokat
Breadboard Touch Piano: 5 lépés
Breadboard Touch Piano: Érintőzongora készítéséhez csak attiny 85, CD4051 (bármely analóg multiplexer) és csengő szükséges
Makey Makey Fruit Piano: 13 lépés
Makey Makey Fruit Piano: Tanulja meg a kódolás alapjait egy egyszerű zenei szintetizátor készítésével, ahol minden „gyümölcs” kulcsot jelent