Obsah:

Klavír prehrávača Synesthesia: 4 kroky
Klavír prehrávača Synesthesia: 4 kroky

Video: Klavír prehrávača Synesthesia: 4 kroky

Video: Klavír prehrávača Synesthesia: 4 kroky
Video: Organ Sonata No. 4 - II. Andante | Bach | Piano Tutorial | Synthesia | How to play 2024, Júl
Anonim
Image
Image
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano

Tento klavír prehrávača prehráva hudbu pomocou farebného kolieska a kamery! Obrázky sú zachytené fotoaparátom, spracované a interpretované ako noty. Práve teraz je naprogramovaný na hranie detských riekaniek, ktoré je možné zmeniť nahraním nového arduino náčrtu, ktorý určuje, ktoré noty sa majú hrať (Ktoré farby sa majú zobrazovať fotoaparátu).

Palubný počítač Linux spustí pri štarte službu, ktorá nasníma fotografiu fotoaparátom, vypočíta funkciu hodnôt RGB v obraze a vydá zvuk na základe návratovej hodnoty funkcie. Pred prehrávaním zvuku vyšle signál, ktorý Arduinu oznámi, aby otočil servo, a zobrazí farbu zodpovedajúcu ďalšej note, ktorá sa má hrať. Potom sa slučka znova spustí, nasníma sa obrázok, otočí sa farebné koliesko a zvuk sa prehrá donekonečna.

Tento projekt je zábavný spôsob, ako integrovať hudbu, programovanie moderných systémov Linux, programovanie pomocou mikrokontroléra, čmáranie v programe Inkscape, rezanie laserom a opätovné využitie niektorých škatúľ z nevyžiadanej lepenky.

Všetky kódy SVG kódu a inkscape sú k dispozícii na github na:

github.com/melvyniandrag/pyMusic

Použitý materiál:

  1. Prázdne biele štítky
  2. Kartónová krabica
  3. Webkamera
  4. Pastelky
  5. Arduino
  6. Beagleboard-xM
  7. Drôty
  8. Sériový kábel
  9. Základné znalosti spracovania obrazu a hudby

Krok 1: Počítačové položky

Počítačové veci
Počítačové veci
Počítačové veci
Počítačové veci
Počítačové veci
Počítačové veci

Na palube budete potrebovať malý počítač s operačným systémom Linux, napríklad Raspberry Pi. Použil som starý BeagleBoard-xM, pretože som ho náhodou položil a na karte SD som už mal operačný systém. Môžete použiť čokoľvek, pokiaľ zvládne webovú kameru, dokáže spustiť OpenCV (knižnica počítačového videnia používaná na vytváranie a spracovanie obrázkov farebného kolieska) a má konektor zvukového výstupu.

Operačný systém som nastavil na spustenie kódu pythonu, ktorý zachytáva obrázky pri štarte, podľa tutoriálu k systemd. Na spustenie skriptu budete potrebovať sudo apt-get install python-pyaudio python-opencv, aby ste získali uvedené knižnice. Na získanie týchto knižníc budete tiež potrebovať pip install numpy pyserial. pyaudio sa používa na prehrávanie zvukov, opencv sa používa na snímanie a spracovanie obrazu, numpy sa používa aj na spracovanie obrazu a na komunikáciu s Arduinom je potrebný server pyserial.

Arduino sa používa na otáčanie servomotora, na ktorom je namontované farebné koliesko. Ak máte Raspberry Pi, mohli by ste použiť GPIO piny tam a Arduino vynechať, ale museli by ste upraviť kód Pythonu.

Na obrázkoch vidíte technologické vnútornosti operácie a niekoľko útržkov kódu.

Krok 2: Klavír

Piano
Piano
Piano
Piano
Piano
Piano

Klavír som vyrobil z lepenky z niektorých starých škatúľ, ktoré som mal. Mám to šťastie, že bývam v blízkosti tvorivého priestoru, ktorý má laserovú rezačku. Celý rok som premýšľal, na čo by to sakra chcel laserový rezač, a ukázalo sa, že som pre to konečne našiel využitie.

Zmeral som počítač, arduino a servo, aby som vedel, koľko miesta potrebujem, nakreslil som časti piana v inkscape a vystrihol ich na laserovej rezačke. (Upraviť: Došla mi lepenka, aby v skrinke bol počítač a arduino, a tak som ich nevložil. Sú na vonkajšej strane puzdra. Nezáleží na tom, mohla som odniekiaľ dostať inú škatuľu, ale nestalo sa. na tom nezáleží.)

Kusy boli spojené epoxidom.

Krok 3: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Tu je niekoľko obrázkov montovaného a zafarbeného klavíra. V tlačiarni došiel atrament, takže som nemohol tlačiť farby na biele štítky, ako som plánoval. Použil som teda pastelky svojej dcéry. A nemohol som nájsť xacto nôž na vyrezanie štítku do tvaru lepenky, takže som použil nôž na steaky a na kuchynskú linku som položil niečo ochranné. Využite to, čo máte!

Krok 4: Technické výzvy a úvahy do budúcnosti

Technické výzvy a úvahy do budúcnosti
Technické výzvy a úvahy do budúcnosti
Technické výzvy a úvahy do budúcnosti
Technické výzvy a úvahy do budúcnosti

Náročnou súčasťou tohto projektu bolo získanie správnych hodnôt RGB na čítanie z kamery. Webová kamera, ktorú mám, má niekoľko neuveriteľne jasných diód LED, ktoré neviem, ako vypnúť v systéme Linux. Myslím, že existuje ovládač systému Windows, ktorý vám umožňuje ich zapínanie a vypínanie. Experimentoval som s lepením LED diód elektrickou páskou a ich ponechaním zapnutých. Tiež som testoval robustnosť softvéru tým, že som ukázal nielen farebný papier, ale napísal som aj malú webovú stránku, ktorá ukazuje farby.

Zvuky produkované počítačom niekedy praskajú a praskajú, a to vyplýva zo skutočnosti, že mám veľmi malé skúsenosti s programovaním zvuku v systéme Linux. Knižnica pyaudio chrlí množstvo sťažností na to, že JACK nie je nainštalovaný na počítači, ale v predvolenom nastavení nechce JACK bežať bez hlavy (bez pracovnej plochy gui a monitora). Toto je programátorská úloha, o ktorej som si myslel, že je upresnenie, ale nebolo potrebné na vyjadrenie podstaty hráčskeho klavíra, ktorý som mal na mysli.

Zvažoval som použitie ručnej kľuky na zmenu farieb a možno by som ich chcel dať na nejaký valček, ale to prináša svoje vlastné komplikácie. Servo je trochu hlučné, ale zatiaľ funguje dobre.

Hráčsky klavír je v súčasnosti naprogramovaný tak, aby hral iba na 4 tóny. Je to spôsobené tým, že servo sa pohybuje iba o 180 stupňov, väčšinu detských riekaniek je možné hrať iba s 3-4 notami a nechcel som, aby sa farebné koliesko zaplnilo farebnými oblasťami, čo by mohlo zameniť kameru. Vďaka kombinácii hudobného šťastia a technických obmedzení sú teda 4 poznámky v poriadku.

Odporúča: