Spisu treści:
- Krok 1: Rzeczy komputerowe
- Krok 2: Fortepian
- Krok 3: Montaż
- Krok 4: Wyzwania techniczne i rozważania na przyszłość
Wideo: Synestezja Player Piano: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Ten pianino odtwarza muzykę za pomocą koła kolorów i aparatu! Obrazy są rejestrowane przez aparat, przetwarzane i interpretowane jako nuty. W tej chwili jest zaprogramowany do odtwarzania rymowanek, które można zmienić, przesyłając nowy szkic arduino, który określa, które nuty mają być odtwarzane (jakie kolory powinny być wyświetlane w kamerze).
Wbudowany komputer z systemem Linux uruchamia podczas uruchamiania usługę, która robi zdjęcie za pomocą kamery, oblicza funkcję wartości RGB w obrazie i generuje dźwięk na podstawie wartości zwracanej przez funkcję. Przed odtworzeniem dźwięku wysyła sygnał nakazujący Arduino, aby obrócił serwo, prezentując kolor odpowiadający następnej nucie do zagrania. Następnie pętla zaczyna się od nowa, robione jest zdjęcie, obraca się koło kolorów i odtwarzany jest dźwięk w nieskończoność.
Ten projekt to fajny sposób na zintegrowanie muzyki, programowanie nowoczesnych systemów Linux, programowanie mikrokontrolerów, doodling inkscape, cięcie laserowe i zmianę przeznaczenia niektórych śmieciowych pudełek.
Cały kod i pliki SVG Inkscape są dostępne na github pod adresem:
github.com/melvyniandrag/pyMuzyka
Użyte materiały:
- Puste białe etykiety
- Pudełko kartonowe
- Kamerka internetowa
- Kredki
- Arduino
- Beagleboard-xM
- Przewody
- Kabel szeregowy
- Podstawowa wiedza z zakresu przetwarzania obrazu i muzyki
Krok 1: Rzeczy komputerowe
Na pokładzie będziesz potrzebować małego komputera z systemem Linux, takiego jak Raspberry Pi. Użyłem starego BeagleBoard-xM, ponieważ zdarzyło mi się go leżeć i miałem już system operacyjny na karcie SD. Możesz użyć wszystkiego, o ile obsługuje kamerę internetową, może uruchomić OpenCV (bibliotekę obrazów komputerowych używaną do robienia i przetwarzania obrazów koła kolorów) i ma gniazdo wyjścia audio.
Skonfigurowałem system operacyjny do uruchamiania kodu Pythona, który przechwytuje obrazy podczas uruchamiania, postępując zgodnie z samouczkiem systemd. Aby skrypt mógł się uruchomić, musisz wykonać sudo apt-get install python-pyaudio python-opencv, aby uzyskać wskazane biblioteki. Będziesz także musiał zainstalować pip install numpy pyserial, aby uzyskać te biblioteki. pyaudio służy do odtwarzania dźwięków, opencv służy do robienia i przetwarzania obrazu, numpy służy również do przetwarzania obrazu, a pyserial jest potrzebny do komunikacji z Arduino.
Arduino służy do obracania serwomotoru, na którym zamontowane jest koło kolorów. Gdybyś miał Raspberry Pi, mógłbyś użyć tam pinów GPIO i pominąć Arduino, ale musiałbyś zmodyfikować kod Pythona.
Na zdjęciach widać technologiczne wnętrzności operacji i kilka fragmentów kodu.
Krok 2: Fortepian
Zrobiłem fortepian z tektury ze starych pudełek, które miałem. Mam szczęście mieszkać w pobliżu pracowni, w której znajduje się wycinarka laserowa. Przez cały rok zastanawiałem się, do czego, u licha, potrzebna byłaby wycinarka laserowa i okazuje się, że w końcu znalazłem dla niej zastosowanie.
Zmierzyłem komputer, arduino i serwo, więc wiedziałem, ile miejsca potrzebuję, narysowałem części fortepianu w inkscape i wyciąłem je na wycinarce laserowej. (Edycja: zabrakło mi tektury, aby obudowa mieściła komputer i arduino, więc nie włożyłem ich. Są na zewnątrz obudowy. Nie ma znaczenia, mogłem skądś dostać kolejne pudełko, ale tak się stało w końcu nie ma znaczenia.)
Kawałki zostały połączone żywicą epoksydową.
Krok 3: Montaż
Oto kilka obrazów montowania i kolorowania fortepianu. W drukarce skończył się atrament, więc nie mogłem wydrukować kolorów na białych etykietach, tak jak planowałem. Więc użyłem kredek mojej córki. I nie mogłem znaleźć noża xacto do przycięcia etykiety do kształtu kartonu, więc po prostu użyłem noża do steków i położyłem coś ochronnego na blacie kuchennym. Wykorzystaj to, co masz!
Krok 4: Wyzwania techniczne i rozważania na przyszłość
Trudną częścią tego projektu było uzyskanie prawidłowych wartości RGB do odczytania przez kamerę. Kamerka, którą mam, ma niesamowicie jasne diody LED, których nie wiem, jak wyłączyć w Linuksie. Myślę, że istnieje sterownik Windows, który pozwala je włączać i wyłączać. Eksperymentowałem z oklejaniem diod LED taśmą elektryczną i pozostawieniem ich włączonych. Przetestowałem również oprogramowanie pod kątem odporności, nie tylko pokazując kolorowy papier, ale także pisząc małą stronę internetową, która pokazuje kolory.
Dźwięki wytwarzane przez komputer czasami mają trzaski i trzaski, a to wynika z faktu, że mam bardzo małe doświadczenie w programowaniu audio w Linuksie. Biblioteka pyaudio wyrzuca całą masę skarg na to, że JACK nie jest instalowany na komputerze, ale domyślnie JACK nie chce działać bez głowy (bez pulpitu gui i monitora). Jest to zadanie programistyczne, które uważałem za udoskonalenie, ale nie było konieczne, aby wyrazić istotę fortepianu, o którym myślałem.
Rozważałem użycie ręcznej korby do zmiany kolorów i być może umieszczenia ich na wałku do ciasta, ale to wprowadza własne komplikacje. Serwo jest trochę głośne, ale na razie działa dobrze.
Pianino gracza jest obecnie zaprogramowane tylko do grania 4 nut. Dzieje się tak dlatego, że serwo porusza się tylko o 180 stopni, większość rymowanek można odtwarzać tylko 3-4 nutami, a nie chciałem, aby koło kolorów było zaśmiecone regionami kolorów, co może dezorientować aparat. Tak więc dzięki połączeniu muzycznego szczęścia i ograniczeń technicznych, 4 nuty są w porządku.
Zalecana:
Makey Makey Piano Player: 7 kroków
Makey Makey Piano Player: Zacznijmy więc. ogólnie ten pomysł zajmie około 30 minut, aby cały projekt, ale jeśli chodzi o proces budowania, musisz upewnić się, że uważnie czytasz kroki, więc tak czy inaczej zacznijmy to
Arduino Piano z przełącznikami przyciskowymi: 3 kroki
Arduino Piano With Push Button Switches: Stworzony przez: Haotian YePrzegląd: To jest płyta fortepianowa z ośmioma przyciskami, która pozwala grać jedną oktawę (Do Re Mi Fa So La Si Do) i dzięki tej jednej oktawie możesz spróbować grać niektóre piosenki, które lubisz. W przypadku tego projektu istnieje kilka imp
SMD 555 Timer Piano!: 4 kroki (ze zdjęciami)
SMD 555 Timer Piano !: Witam wszystkich! W tej instrukcji pokażę, jak zrobić małe pianino za pomocą zwykłego Timera 555, ale z komponentami SMD! SMD oznacza urządzenie do montażu powierzchniowego, a te komponenty są montowane lub umieszczane bezpośrednio na powierzchni wydrukowanej
Raspberry Pi LED Light Schroeder Piano: 3 kroki (ze zdjęciami)
Raspberry Pi LED Light Schroeder Piano: Raspberry Pi LED Light Schroeder PianoLED (Light Emitting Diode) i LDR (Light Dependent Resistor lub fotorezytor) są używane do odtwarzania nut przy użyciu sekwencera Raspberry Pi Pygame MIDI. Istnieje 15 paryskich lamp LED & LDR (12 za fu
Piano Player: 10 kroków (ze zdjęciami)
Piano Player: El objetivo del proyecto es elaborar un sistema que pueda tocar mósica preprogramada en las teclas digitales de una aplicación de piano for el iPad 2. Nuestro proyecto consta de un sistema con un grado of l