Obsah:

Synesthesia Player Piano: 4 kroky
Synesthesia Player Piano: 4 kroky

Video: Synesthesia Player Piano: 4 kroky

Video: Synesthesia Player Piano: 4 kroky
Video: Chopin - Etude Op. 10 No. 4 (Torrent) 2024, Červenec
Anonim
Image
Image
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano

Tento hráčský klavír přehrává hudbu pomocí barevného kolečka a kamery! Obrázky jsou zachyceny fotoaparátem, zpracovány a interpretovány jako hudební noty. Právě teď je naprogramováno tak, aby hrálo dětské říkanky, které lze změnit nahráním nové skici arduino, která určuje, které noty se mají hrát (Které barvy se mají ukázat kameře).

Integrovaný počítač Linux spustí při spuštění službu, která pořídí snímek kamerou, vypočítá funkci hodnot RGB v obrazu a vydá zvuk na základě návratové hodnoty funkce. Před přehráváním zvuku vyšle signál, který řekne Arduinu, aby otočil servo, a představí barvu odpovídající další notě, která má být přehrána. Poté se smyčka znovu spustí, pořídí se snímek, otočí se barevné kolečko a zvuk se přehraje do nekonečna.

Tento projekt je zábavný způsob, jak integrovat hudbu, programování moderních systémů Linux, programování mikrořadičů, kreslení do inkoustu, laserové řezání a přeměnu některých nevyžádaných kartonových krabic.

Všechny SVG s kódem a inkscape jsou k dispozici na github na:

github.com/melvyniandrag/pyMusic

Použité materiály:

  1. Prázdné bílé štítky
  2. Lepenkové krabice
  3. Webová kamera
  4. Pastelky
  5. Arduino
  6. Beagleboard-xM
  7. Dráty
  8. Sériový kabel
  9. Základní znalosti zpracování obrazu a hudby

Krok 1: Věci z počítače

Počítačové věci
Počítačové věci
Počítačové věci
Počítačové věci
Počítačové věci
Počítačové věci

Na palubě budete potřebovat malý počítač s operačním systémem Linux, například Raspberry Pi. Použil jsem starý BeagleBoard-xM, protože jsem ho náhodou položil a na kartě SD jsem již měl operační systém. Můžete použít cokoli, pokud zvládne webovou kameru, může spouštět OpenCV (knihovna počítačového vidění používaná k pořizování a zpracování obrazů barevného kolečka) a má zvukový výstupní konektor.

Nastavil jsem operační systém pro spuštění kódu pythonu, který zachycuje obrázky při spuštění, po tutoriálu systemd. Ke spuštění skriptu budete potřebovat sudo apt-get install python-pyaudio python-opencv, abyste získali uvedené knihovny. K získání těchto knihoven budete také muset pip install numpy pyserial. pyaudio slouží k přehrávání zvuků, opencv se používá k pořizování a zpracování obrázků, numpy se používá také ke zpracování obrazu a pro komunikaci s Arduinem je zapotřebí pyserial.

Arduino se používá k otáčení servomotoru, na kterém je namontováno barevné kolečko. Pokud jste měli Raspberry Pi, mohli byste tam použít GPIO piny a Arduino vynechat, ale museli byste upravit kód Pythonu.

Na obrázcích vidíte technologické vnitřnosti operace a několik fragmentů kódu.

Krok 2: Klavír

Piano
Piano
Piano
Piano
Piano
Piano

Klavír jsem vyrobil z lepenky ze starých krabic, které jsem měl. Mám to štěstí, že žiji poblíž tvůrčího prostoru, který má laserovou řezačku. Celý rok jsem přemýšlel, k čemu by sakra chtěl laserový řezač, a ukázalo se, že jsem pro něj nakonec našel využití.

Změřil jsem počítač, arduino a servo, abych věděl, kolik místa potřebuji, nakreslil jsem části piana v inkscape a vyřízl je na laserové řezačce. (Upravit: Došla mi lepenka, aby skříňka pojala počítač a arduino, a tak jsem je nevložil dovnitř. Jsou na vnější straně skříně. Nevadí, mohla jsem odněkud dostat další krabici, ale nestalo se tak. na tom nakonec nezáleží.)

Kusy byly spojeny epoxidem.

Krok 3: Sestavení

Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění

Zde jsou některé obrázky sestaveného a barevného piana. V tiskárně došel inkoust, takže jsem nemohl tisknout barvy na bílé štítky, jak jsem plánoval. Použil jsem tedy pastelky své dcery. A nemohl jsem najít xacto nůž, který by nařezal štítek na tvar lepenky, takže jsem použil nůž na steaky a na kuchyňskou linku položil něco ochranného. Použijte to, co máte!

Krok 4: Technické výzvy a budoucí úvahy

Technické výzvy a budoucí úvahy
Technické výzvy a budoucí úvahy
Technické výzvy a budoucí úvahy
Technické výzvy a budoucí úvahy

Náročnou částí tohoto projektu bylo získání správných hodnot RGB pro čtení kamerou. Webová kamera, kterou mám, má neuvěřitelně jasné LED diody, které nevím, jak vypnout v Linuxu. Myslím, že existuje ovladač systému Windows, který vám umožňuje jejich zapnutí a vypnutí. Experimentoval jsem s lepením LED diod elektrickou páskou a ponecháním zapnutých. Také jsem testoval robustnost softwaru tím, že jsem ukázal nejen barevný papír, ale také napsal malý web, který ukazuje barvy.

Zvuky produkované počítačem někdy praskají a praskají, a to vyplývá ze skutečnosti, že mám velmi málo zkušeností s programováním zvuku Linux. Knihovna pyaudio chrlí spoustu stížností na to, že JACK není nainstalován na PC, ale ve výchozím nastavení nechce JACK běžet bez hlavy (bez pracovní plochy gui a monitoru). Toto je programovací úkol, který jsem považoval za zdokonalení, ale nebyl nezbytný k vyjádření podstaty hráčského klavíru, který jsem měl na mysli.

Uvažoval jsem o použití ruční kliky ke změně barev a možná bych je chtěl použít na válečcích, ale to s sebou nese komplikace. Servo je trochu hlučné, ale zatím funguje dobře.

Hráčský klavír je v současné době naprogramován pouze na hraní 4 not. Důvodem je, že servo se pohybuje pouze o 180 stupňů, většina říkanek pro děti se dá hrát pouze s 3-4 notami a nechtěl jsem, aby se barevné kolečko zaplnilo barevnými oblastmi, což by mohlo matit kameru. Díky kombinaci hudebního štěstí a technických omezení jsou 4 noty v pořádku.

Doporučuje: