Სარჩევი:

სინესთეზიის მოთამაშე ფორტეპიანო: 4 ნაბიჯი
სინესთეზიის მოთამაშე ფორტეპიანო: 4 ნაბიჯი

ვიდეო: სინესთეზიის მოთამაშე ფორტეპიანო: 4 ნაბიჯი

ვიდეო: სინესთეზიის მოთამაშე ფორტეპიანო: 4 ნაბიჯი
ვიდეო: Synesthesia | სინესთეზია 2024, ივლისი
Anonim
Image
Image
სინესთეზიის მოთამაშე ფორტეპიანო
სინესთეზიის მოთამაშე ფორტეპიანო
სინესთეზიის მოთამაშე ფორტეპიანო
სინესთეზიის მოთამაშე ფორტეპიანო

ეს პიანინო უკრავს მუსიკას ფერადი ბორბლისა და კამერის გამოყენებით! სურათები გადაღებულია კამერით, დამუშავებულია და განიმარტება, როგორც მუსიკალური ნოტები. ამჟამად დაპროგრამებულია საბავშვო რითმების დაკვრა, რომელიც შეიძლება შეიცვალოს ახალი არდუინოს ესკიზის ატვირთვით, რომელიც განსაზღვრავს რომელი ნოტების დაკვრაა (რომელი ფერები უნდა აჩვენოს კამერას).

ბორტ Linux კომპიუტერი იწყებს ჩატვირთვის სერვისს, რომელიც იღებს სურათს კამერით, გამოთვლის გამოსახულების RGB მნიშვნელობების ფუნქციას და გამოსცემს ხმას ფუნქციის დაბრუნების მნიშვნელობიდან გამომდინარე. ბგერის დაკვრის წინ ის აგზავნის სიგნალს არდუინოსთან, რომ გადაატრიალოს სერვო, წარმოაჩენს მომდევნო ნოტის შესაბამის ფერს. შემდეგ მარყუჟი კვლავ იწყება, სურათი გადაღებულია, ფერადი ბორბალი ბრუნავს და ხმა უსასრულოდ უკრავს.

ეს პროექტი არის სახალისო გზა მუსიკის, Linux– ის თანამედროვე სისტემების პროგრამირების, მიკრო კონტროლერის პროგრამირების, მელოდიური ხატვის, ლაზერული ჭრის და არასასურველი მუყაოს ყუთების ხელახალი დანიშნულებისათვის.

ყველა კოდი და inkscape SVG ხელმისაწვდომია github– ზე:

github.com/melvyniandrag/pyMusic

გამოყენებული მასალები:

  1. ცარიელი თეთრი წარწერები
  2. მუყაოს ყუთი
  3. Ვებკამერა
  4. ფანქრები
  5. არდუინო
  6. ბიგლბორდი-xM
  7. მავთულები
  8. სერიული კაბელი
  9. სურათის დამუშავებისა და მუსიკის ძირითადი ცოდნა

ნაბიჯი 1: კომპიუტერის პერსონალი

კომპიუტერის პერსონალი
კომპიუტერის პერსონალი
კომპიუტერის პერსონალი
კომპიუტერის პერსონალი
კომპიუტერის პერსონალი
კომპიუტერის პერსონალი

ბორტზე დაგჭირდებათ Linux– ით აღჭურვილი პატარა კომპიუტერი, როგორიცაა Raspberry Pi. მე გამოვიყენე ძველი BeagleBoard-xM, რადგან მე შემთხვევით მქონდა ის მოთავსებული და მე უკვე მქონდა ოპერაციული სისტემა SD ბარათზე. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი რამ, რამდენადაც მას შეუძლია ვებკამერის დამუშავება, შეგიძლიათ გაუშვათ OpenCV (კომპიუტერის ხედვის ბიბლიოთეკა, რომელიც გამოიყენება ფერადი ბორბლის სურათების გადასაღებად და დამუშავებისთვის) და აქვს აუდიო გასასვლელი ბუდე.

მე დავაყენე ოპერაციული სისტემა პითონის კოდის გასაშვებად, რომელიც იღებს სურათებს ჩატვირთვისას სისტემური გაკვეთილის შემდეგ. სკრიპტის გასაშვებად დაგჭირდებათ მითითებული ბიბლიოთეკების მისაღებად sudo apt-get install python-pyaudio python-opencv. თქვენ ასევე უნდა დააინსტალიროთ numpy pyserial, რომ მიიღოთ ეს ბიბლიოთეკები. pyaudio გამოიყენება ბგერების სათამაშოდ, opencv გამოიყენება სურათის გადასაღებად და დასამუშავებლად, numpy ასევე გამოიყენება სურათის დამუშავებისთვის და pyserial საჭიროა Arduino– სთან კომუნიკაციისთვის.

Arduino გამოიყენება სერვო ძრავის როტაციისთვის, რომელზედაც დამონტაჟებულია ფერადი ბორბალი. თუ გქონდათ Raspberry Pi, შეგიძლიათ გამოიყენოთ GPIO ქინძისთავები და გამოტოვოთ Arduino, მაგრამ თქვენ უნდა შეცვალოთ პითონის კოდი.

სურათებში შეგიძლიათ ნახოთ ოპერაციის ტექნოლოგიური გამძლეობა და რამდენიმე კოდის ნაწყვეტი.

ნაბიჯი 2: ფორტეპიანო

Ფორტეპიანო
Ფორტეპიანო
Ფორტეპიანო
Ფორტეპიანო
Ფორტეპიანო
Ფორტეპიანო

მე ფორტეპიანო მუყაოსგან გავაკეთე ძველი ყუთებიდან, რაც მე მქონდა. მე მაქვს ბედნიერება ვიცხოვრო მწარმოებელთან ახლოს, რომელსაც აქვს ლაზერული საჭრელი. მთელი წელი მაინტერესებდა რისთვის უნდოდა ლაზერული საჭრელი და გამოდის, რომ საბოლოოდ ვიპოვე მისი გამოყენება.

გავზომე კომპიუტერი, არდუინო და სერვო, ასე რომ ვიცოდი რამდენი ადგილი დამჭირდებოდა, ფორტეპიანოს ნაწილები შევიმუშავე მელოდიურ ლანდშაფტში და ამოვიღე ლაზერულ საჭრელზე. (რედაქტირება: მე დამთავრდა მუყაო, რომ შიგთავსს დაეჭირა კომპიუტერი და არდუინო და ასე არ ჩავსვი ისინი. ისინი გარედან არიან. არ აქვს მნიშვნელობა, შეიძლებოდა სადმე სხვა ყუთის მოპოვება, მაგრამ ეს არ მოხდა არ აქვს მნიშვნელობა ბოლოს.)

ნაჭრები მოთავსებულია ეპოქსიდთან ერთად.

ნაბიჯი 3: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

აქ არის რამოდენიმე სურათი ფორტეპიანოს შეკრებისა და შეღებვის შესახებ. პრინტერი მელნის გარეშე იყო, ამიტომ ფერები ვერ დავბეჭდე თეთრ ეტიკეტებზე, როგორც ვგეგმავდი. ასე რომ, მე გამოვიყენე ჩემი ქალიშვილის ფანქრები. და მე ვერ ვიპოვე xacto დანა მუყაოს ფორმის ეტიკეტის მოსაჭრელად, ამიტომ მე უბრალოდ სტეიკის დანა გამოვიყენე და სამზარეულოს დახლზე რაღაც დამცავი დავდე. გამოიყენეთ ის რაც გაქვთ!

ნაბიჯი 4: ტექნიკური გამოწვევები და სამომავლო მოსაზრებები

ტექნიკური გამოწვევები და სამომავლო მოსაზრებები
ტექნიკური გამოწვევები და სამომავლო მოსაზრებები
ტექნიკური გამოწვევები და სამომავლო მოსაზრებები
ტექნიკური გამოწვევები და სამომავლო მოსაზრებები

ამ პროექტის რთული ნაწილი იყო RGB- ის შესაბამისი მნიშვნელობების მიღება კამერის მიერ. ვებკამერაზე მაქვს რამდენიმე წარმოუდგენლად ნათელი LED, რომელიც არ ვიცი როგორ გავთიშო Linux– ში. მე ვფიქრობ, რომ არსებობს Windows დრაივერი, რომელიც საშუალებას გაძლევთ ჩართოთ და გამორთოთ ისინი. მე ექსპერიმენტი გავაკეთე LED- ების ელექტრული ლენტით ჩამოსასხმელად და მათი დატოვებაზე. მე ასევე შევამოწმე პროგრამული უზრუნველყოფის სიძლიერე არა მხოლოდ ფერადი ქაღალდის ჩვენებით, არამედ დავწერე პატარა ვებგვერდი, რომელიც აჩვენებს ფერებს.

კომპიუტერის მიერ წარმოქმნილ ბგერებს ხანდახან უჩნდება და იბზარება, და ეს გამომდინარეობს იქიდან, რომ მე ძალიან მცირე გამოცდილება მაქვს Linux აუდიო პროგრამირების სფეროში. პიაუდიოს ბიბლიოთეკა გამოთქვამს უამრავ საჩივარს იმის შესახებ, რომ JACK არ არის დაინსტალირებული კომპიუტერზე, მაგრამ სტანდარტულად JACK– ს არ სურს უსაქმოდ გაშვება (gui დესკტოპისა და მონიტორის გარეშე). ეს არის პროგრამირების ამოცანა, რომელიც მე მეგონა დახვეწა იყო, მაგრამ არ იყო აუცილებელი გამოვხატო იმ ფორტეპიანოს არსი, რომელიც მხედველობაში მქონდა.

მე განვიხილავდი ხელის ამწეის გამოყენებას ფერების შესაცვლელად და ალბათ მათ მოძრავ პინზე, მაგრამ ეს იწვევს თავის გართულებებს. სერვო ცოტა ხმაურიანია, მაგრამ ჯერჯერობით კარგად მუშაობს.

ამჟამად ფორტეპიანოზე დაკავებულია მხოლოდ 4 ნოტის დაკვრა. ეს იმიტომ ხდება, რომ სერვო მხოლოდ 180 გრადუსით მოძრაობს, საბავშვო რითმების უმეტესობა მხოლოდ 3-4 ნოტით არის დაკრული და მე არ მინდოდა, რომ ფერადი ბორბალი გადატვირთული ყოფილიყო ფერადი რეგიონებით, შესაძლოა კამერა დაებნელა. ასე რომ, მუსიკალური იღბლისა და ტექნიკური შეზღუდვების კომბინაციით, 4 ნოტი კარგია.

გირჩევთ: