Mündəricat:

Synesthesia Player Piano: 4 addım
Synesthesia Player Piano: 4 addım

Video: Synesthesia Player Piano: 4 addım

Video: Synesthesia Player Piano: 4 addım
Video: You'll Cry | Why Christian Prays, Opens Qur'an & CONVERTS ? | 'LIVE' 2024, Iyul
Anonim
Image
Image
Synesthesia pianoçu
Synesthesia pianoçu
Synesthesia pianoçu
Synesthesia pianoçu

Bu oyunçu piano rəng çarxı və kameradan istifadə edərək musiqi çalır! Şəkillər kamera tərəfindən çəkilir, işlənir və musiqi notu kimi şərh olunur. Hal -hazırda, hansı notların çalınacağını təyin edən yeni bir arduino eskizi yükləyərək dəyişdirilə bilən uşaq qafiyələrini oynamaq üçün proqramlaşdırılmışdır (Kameraya hansı rənglər göstərilməlidir).

Bortda olan Linux PC, kamera ilə şəkil çəkən, şəkildəki RGB dəyərlərinin bir funksiyasını hesablayan və funksiyanın qaytarılma dəyərinə əsaslanan bir səs çıxaran bir xidmətə başlayır. Səsi çalmadan əvvəl, bir Arduinoya bir servonun fırlanmasını söyləyən bir siqnal göndərir və çalınacaq növbəti nota uyğun rəng təqdim edir. Sonra döngə yenidən başlayır, şəkil çəkilir, rəng çarxı döndərilir və sonsuza qədər səslənir.

Bu layihə, musiqini, müasir Linux sistem proqramlaşdırmasını, mikro nəzarətçi proqramlaşdırmasını, inkscape doodlingini, lazer kəsməsini və bəzi lazımsız karton qutuları yenidən təyin etmək üçün əyləncəli bir yoldur.

Bütün kodlar və inkscape SVG -ləri github -da mövcuddur:

github.com/melvyniandrag/pyMusic

İstifadə olunan materiallar:

  1. Boş ağ etiketlər
  2. Karton qutu
  3. Vebkamera
  4. Qələmlər
  5. Arduino
  6. Beagleboard-xM
  7. Tellər
  8. Serial Kabel
  9. Şəkil emalı və musiqi haqqında əsas biliklər

Addım 1: Kompüter əşyaları

Kompüter əşyaları
Kompüter əşyaları
Kompüter əşyaları
Kompüter əşyaları
Kompüter əşyaları
Kompüter əşyaları

Gəmidə, Raspberry Pi kimi kiçik bir Linux qabiliyyətli bir kompüterə ehtiyacınız olacaq. Köhnə bir BeagleBoard-xM istifadə etdim, çünki təsadüfən ətrafa düzüldüm və SD kartda artıq bir əməliyyat sistemim var idi. Veb kameranı idarə edə biləcəyi, OpenCV (rəng çarxının şəkillərini çəkmək və emal etmək üçün istifadə olunan kompüter görmə kitabxanası) işləyə biləcəyi və audio çıxışı olan bir yuvası olan hər şeyi istifadə edə bilərsiniz.

Əməliyyat sistemini bir sistem təlimatından sonra açılış zamanı şəkilləri tutan python kodunu işə salmaq üçün qurdum. Skriptin işləməsi üçün göstərilən kitabxanaları əldə etmək üçün sudo apt-get install python-pyaudio python-opencv etməlisiniz. Bu kitabxanaları əldə etmək üçün numpy pyserialı da quraşdırmalısınız. pyaudio səsləri çalmaq üçün istifadə olunur, opencv şəkil çəkmək və işləmək üçün istifadə olunur, numpy də şəkil işləmək üçün istifadə olunur və Arduino ilə ünsiyyət üçün pyserial lazımdır.

Arduino, rəng çarxının quraşdırıldığı servo motoru fırlatmaq üçün istifadə olunur. Bir Raspberry Pi varsa, orada GPIO pinlərindən istifadə edə və Arduinonu tərk edə bilərsiniz, ancaq Python kodunu dəyişdirməlisiniz.

Görüntülərdə əməliyyatın texnoloji cəsarətini və bir neçə kod parçasını görə bilərsiniz.

Addım 2: Piano

Piano
Piano
Piano
Piano
Piano
Piano

Sahib olduğum köhnə qutulardan kartondan fortepiano hazırladım. Lazer kəsici olan bir makerspace yaxınlığında yaşamaq şansım var. Bir ildir ki, nə lazer kəsici istədiyini düşünürəm və nəhayət bunun üçün bir istifadə tapdım.

Kompüteri, arduino və servoyu ölçdüm, buna görə nə qədər yerə ehtiyacım olduğunu bildim, pianonun hissələrini inkscape ilə çəkdim və lazer kəsiciyə kəsdim. (Redaktə edin: Kompüteri və arduinonu tutmaq üçün karton tükəndi və buna görə də qoymadım. Onlar işin xaricindədir. Fərqi yoxdur, başqa bir qutu bir yerdən ala bilərdim, amma alınmadı axırda heç bir əhəmiyyəti yoxdur.)

Parçalar epoksi ilə birləşdirilmişdir.

Addım 3: Montaj

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

Burada yığılmış və rənglənən pianonun bəzi şəkilləri var. Yazıcının mürəkkəbi bitdiyinə görə rəngləri ağ etiketlərə planladığım kimi çap edə bilmədim. Buna görə də qızımın qələmlərindən istifadə etdim. Etiketi karton şəklində kəsmək üçün xacto bıçağı tapa bilmədim, buna görə sadəcə bir biftek bıçağı istifadə etdim və mətbəxin üstünə qoruyucu bir şey qoydum. Əldə etdiklərinizdən istifadə edin!

Addım 4: Texniki Çağırışlar və Gələcəyə dair fikirlər

Texniki Çətinliklər və Gələcək Münasibətlər
Texniki Çətinliklər və Gələcək Münasibətlər
Texniki Çətinliklər və Gələcək Münasibətlər
Texniki Çətinliklər və Gələcək Münasibətlər

Bu layihənin çətin bir hissəsi, kamera tərəfindən oxunması üçün uyğun RGB dəyərlərini əldə etmək idi. Veb kameramda Linux -da necə söndürəcəyimi bilmədiyim inanılmaz dərəcədə parlaq LED -lər var. Düşünürəm ki, onları açmağa və söndürməyə imkan verən bir Windows sürücüsü var. LED -ləri elektrik lenti ilə bantlayaraq açıq qoymağı sınadım. Proqramı yalnız rəngli kağız göstərməklə deyil, həm də rəngləri göstərən kiçik bir veb sayt yazmaqla möhkəmliyi sınadım.

Kompüterin çıxardığı səslərin bəzən içərisində çırpıntılar olur və bu, Linux audio proqramlaşdırma təcrübəmin çox az olması ilə əlaqədardır. Pyaudio kitabxanası, JACK -ın PC -yə yüklənməməsi ilə bağlı bir çox şikayətləri tökür, lakin JACK başsız işləmək istəmir (gui masaüstü və monitor olmadan). Bu bir incələşdirmə olduğunu düşündüyüm bir proqramlaşdırma vəzifəsidir, amma düşündüyüm piano ifaçısının mahiyyətini ifadə etmək lazım deyildi.

Rəngləri dəyişdirmək üçün əl krankından istifadə etməyi və bəlkə də onları yuvarlanan bir pin üzərində saxlamağı düşündüm, amma bu, öz fəsadlarını ortaya qoyur. Servo bir az səs -küylüdür, amma indiyə qədər yaxşı işləyir.

Oyunçu piano hazırda yalnız 4 not çalmaq üçün proqramlaşdırılmışdır. Bunun səbəbi, servonun yalnız 180 dərəcə hərəkət etməsidir, uşaq bağçalarının əksəriyyəti yalnız 3-4 notla çalınır və rəng çarxının rəng bölgələri ilə qarışmasını, bəlkə də kameranı qarışdırmasını istəmirdim. Beləliklə, musiqi uğurları və texniki məhdudiyyətlərin birləşməsi sayəsində 4 not yaxşıdır.

Tövsiyə: