Мазмуну:

Synesthesia Player Piano: 4 кадам
Synesthesia Player Piano: 4 кадам

Video: Synesthesia Player Piano: 4 кадам

Video: Synesthesia Player Piano: 4 кадам
Video: Chopin - Etude Op. 10 No. 4 (Torrent) 2024, Ноябрь
Anonim
Image
Image
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano
Synesthesia Player Piano

Бул оюнчу пианино түстүү дөңгөлөктү жана камераны колдонуп музыканы ойнойт! Сүрөттөр камерага тартылып, иштетилет жана музыкалык ноталар катары чечмеленет. Учурда ал питомниктердин рифмдерин ойнотуу үчүн программаланган, аны жаңы ардуино эскизин жүктөө аркылуу өзгөртүүгө болот, анда кайсы ноталар ойнотулушу керектиги көрсөтүлгөн (камерага кайсы түстөр көрсөтүлүшү керек).

Борттогу Linux PC жүктөө учурунда кызматты баштайт, ал камера менен сүрөткө түшөт, сүрөттөгү RGB маанилеринин функциясын эсептейт жана функциянын кайтарымдуулугунун негизинде үн чыгарат. Үндү ойнотуудан мурун, ал Arduinoго сервону айлантууну айтат жана кийинки нотага туура келген түстү көрсөтөт. Андан кийин цикл кайра башталат, сүрөт тартылат, түстүү дөңгөлөк айланат жана үн чексиз ойнотулат.

Бул долбоор музыканы, заманбап Linux системаларын программалоону, микро контроллер программалоону, inkscape doodlingди, лазердик кесүүнү жана кээ бир керексиз картон кутучаларды кайра пландаштыруунун кызыктуу жолу.

Бардык коддор жана inkscape SVGлери githubда жеткиликтүү:

github.com/melvyniandrag/pyMusic

Колдонулган материалдар:

  1. Бош ак этикеткалар
  2. Картон куту
  3. Веб -камера
  4. Карандаштар
  5. Arduino
  6. Beagleboard-xM
  7. Зымдар
  8. Сериялык кабель
  9. Сүрөт иштетүү жана музыка боюнча негизги билим

1 -кадам: Компьютердик материалдар

Компьютердик материалдар
Компьютердик материалдар
Компьютердик материалдар
Компьютердик материалдар
Компьютердик материалдар
Компьютердик материалдар

Бортто сизге Raspberry Pi сыяктуу кичинекей Linux жөндөмдүү компьютер керек болот. Мен эски BeagleBoard-xM колдондум, анткени ал кокусунан тегеренип калыптыр, менде SD картта операциялык система бар болчу. Сиз каалаган нерсени колдоно аласыз, ал веб -камераны башкара алат, OpenCV (түстүү дөңгөлөктүн сүрөттөрүн тартуу жана иштетүү үчүн колдонулган компьютердин көрүү китепканасы) иштей алат жана аудио чыгуучу уячасы бар.

Мен операциялык тутумду системанын үйрөткүчүнөн кийин жүктөө учурунда сүрөттөрдү тартып турган python кодун иштетүү үчүн орноттум. Сценарийди иштетүү үчүн көрсөтүлгөн китепканаларды алуу үчүн sudo apt-get install python-pyaudio python-opencv керек болот. Ошол китепканаларды алуу үчүн numpy pyserialди орнотууңуз керек болот. pyaudio үндөрдү ойнотуу үчүн колдонулат, opencv сүрөт тартуу жана иштетүү үчүн колдонулат, numpy сүрөт иштетүү үчүн дагы колдонулат жана pyserial Arduino менен байланышуу үчүн керек.

Arduino түстүү дөңгөлөк орнотулган servo моторду айлантуу үчүн колдонулат. Эгерде сизде Raspberry Pi бар болсо, анда GPIO казыктарын колдонуп, Arduino'yү таштап койсоңуз болот, бирок Python кодун өзгөртүү керек болот.

Сүрөттөрдө сиз операциянын технологиялык түйшүгүн жана бир -эки код үзүндүнү көрө аласыз.

2 -кадам: Пианино

Пианино
Пианино
Пианино
Пианино
Пианино
Пианино

Мен пианинону картонду колумдагы эски кутулардан жасадым. Мен лазер кескичке ээ болгон мейкиндиктин жанында жашоо бактысына ээ болдум. Бир жыл бою мен лазердик кескичтин эмне кереги бар деп ойлонуп жүрдүм, акыры мен аны колдонууну таптым.

Мен компьютерди, ардуино менен сервону ченеп көрдүм, ошон үчүн мага канча орун керектигин билдим, фортепианонун бөлүктөрүн inkscapeте чийип, лазердик кескичке кесип салдым. (Түзөтүү: Мен корпусту компьютер менен arduino кармап туруу үчүн картонум түгөндү, ошондуктан мен аларды киргизген жокмун. Алар иштин сыртында. Мааниси жок, бир жерден башка куту алмакмын, бирок андай болгон жок аягында мааниси жок.)

Бөлүктөр эпоксид менен бириктирилген.

3 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Бул жерде фортепианонун чогултулган жана түстүү болгон сүрөттөрү бар. Принтердин сыясы түгөнгөндүктөн, түстөрдү мен ойлогондой ак этикеткаларга басып чыгара алган жокмун. Ошентип кызымдын карандаштарын колдондум. Мен этикетканы картонго окшоштуруу үчүн xacto бычагын таба алган жокмун, ошондуктан мен стейк бычакты колдонуп, ашкананын үстөлүнө коргоочу нерсени койдум. Алган нерсеңизди колдонуңуз!

4 -кадам: Техникалык кыйынчылыктар жана келечектеги ойлор

Техникалык кыйынчылыктар жана келечектеги ойлор
Техникалык кыйынчылыктар жана келечектеги ойлор
Техникалык кыйынчылыктар жана келечектеги ойлор
Техникалык кыйынчылыктар жана келечектеги ойлор

Бул долбоордун татаал бөлүгү туура RGB баалуулуктарын камера окушу үчүн алган. Менде веб -камерада укмуштуудай жаркыраган светодиоддор бар, мен Linuxта кантип өчүрүүнү билбейм. Менин оюмча, аларды иштетүүгө жана өчүрүүгө мүмкүндүк берген Windows драйвери бар. Мен светодиоддорду лента менен жабыштырып, күйгүзүү боюнча эксперимент кылдым. Мен ошондой эле түстүү кагазды көрсөтүү менен эмес, түстөрдү көрсөткөн кичинекей веб -сайтты жазуу менен да программалык камсыздоонун бекемдигин сынап көрдүм.

Компьютер чыгарган үндөрдүн ичинде кээде поп -при жана чырылдап турат, бул менин Linux аудио программалоо боюнча тажрыйбамдын аздыгынан келип чыгат. Пяудио китепканасы JACKтын PCге орнотулбагандыгы боюнча бир топ арыздарды төгөт, бирок демейки боюнча JACK башсыз иштегиси келбейт (gui столу жана монитору жок). Бул программалоо тапшырмасы, мен аны өркүндөтүү деп ойлогом, бирок мен ойлогон пианинонун маңызын билдирүү үчүн зарыл болгон эмес.

Түстөрдү өзгөртүү үчүн кол манжаны колдонууну ойлодум, жана балким, аларды жылдыргыч сыяктуу нерсеге ээ кылууну ойлондум, бирок бул өзүнүн татаалдыктарын алып келет. Серво бир аз ызы -чуу, бирок азырынча жакшы иштейт.

Оюнчу пианино учурда 4 нотаны ойнотуу үчүн гана программаланган. Себеби, серво 180 градуска гана жылат, көпчүлүк питомниктерди 3-4 ноталар менен гана ойнотууга болот, мен түстүү дөңгөлөктүн түстүү аймактарга аралашып кетишин каалаган эмесмин, балким камераны чаташтырып алган. Ошентип, музыкалык ийгилик менен техникалык чектөөлөрдүн айкалышы аркылуу 4 нота жакшы.

Сунушталууда: