Many industries have been transformed to better perform in today’s digital age. In this project a solution for digitalizing printed sheet music as well as automating piano playing is researched, developed and built. The project was divided into three sub-systems, the first focusing on the digitalizing of sheet music, the second on identifying and classifying the notes and the third on playing the piano. These were later combined to form a demonstrator called Mozart2000, or M2k. The result was a robot which could determine the note pitch of an arbitrary note, or note combination, written in common music notation, and furthermore play these on the piano. The algorithm is based of off finding coordinates for stafflines and notes using image processing. Programming was done in Python with some functions extracted from the library OpenCV (Open Source Computer Vision). The piano playing mechanism uses solenoids and lever arms, controlled by electrical signals from a Raspberry Pi. Due to scope in budget and time some restrictions were made. The note range for the robot was limited to one octave, meaning 8 piano keys. Moreover, other musical information such as rhythmical and coloring were overlooked and set to a predetermined value. For the digitalizing part, a camera was used, taking a snapshot of one musical bar. The final solution however can be expanded to include additional keys and music segments by replicating the existing mechanism. / I detta projekt söks en lösning för digitalisering av tryckt notskrift, mot bakgrund av en ökande efterfrågan på digitala lösningar. Parallellt undersöks möjligheterna till att automatisera pianospel. För att underlätta arbetet delades projektet in i tre delsystem; det första fokuserade på digitalisering av notpapper, det andra på att hitta och identifiera noter, och det tredje på pianospelet. Delsystemen kunde därefter integreras och resulterade då i Mozart2000, M2k. Den slutgiltiga lösningen är en robot som kan bestämma tonhöjden från ett notpapper och spela dessa på ett piano. Den framtagna algoritmen bygger på att hitta koordinater för notlinjer och noter, jämföra dessa sinsemellan och tilldela dessa utgångar på en Raspberry Pi. Från dessa skickas elektriska signaler till en krets bestående av bland annat transistorer och frihjulsdioder, som i sin tur är kopplade till solenoider. Dessa solenoider kopplade till egentillverkade fingrar kommer sedan att slå an tangenterna på pianot. Eftersom projektet var begränsat i tid och budget gjordes ett antal förenklingar. Till exempel skulle Mozart2000 hålla sig till en oktav, det vill säga åtta toner. Vidare skulle rytmen vara en konstant och endast en takt skulle analyseras och spelas åt gången. Det bedöms dock möjligt att duplicera systemet för att täcka ett större notomfång och/eller fler takter.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-264443 |
Date | January 2019 |
Creators | Malm, Lukas, Phan, Anna |
Publisher | KTH, Skolan för industriell teknik och management (ITM) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf, video/mp4 |
Rights | info:eu-repo/semantics/openAccess, info:eu-repo/semantics/openAccess |
Relation | TRITA-ITM-EX ; 2019:58 |
Page generated in 0.0021 seconds