This project is an open source hardware project that is intended to be an automated way to play a recorder instrument. Build it for yourself and use the Python Interface to send your MIDI files to the robotic recorder player and hear them played on the recorder!
demonstration_video_hot_cross_buns.mp4
This project had been designed so that it only requires a limited toolset and you don't have to be an expert to build it. An overview is below but more detailed instructions can be found in each folder.
- FDM 3D Printer and slicer software such as Cura.
- Basic workshop tools including spanners, screwdrivers, allen keys, drill.
- A computer with the Arduino IDE and Python installed.
- Get the hardware you need (you may even have some of what you need!) and follow the Hardware build instructions.
- Upload the Firmware to the Arduino.
- Load the Python Interface onto your computer.
- Create your song in MIDI format as a
.mid
file (guide), use one of our examples, or find one someone else has made. - Connect your computer to the robotic recorder player and use the Python Interface to hear your song played on the recorder!
This is an open souce hardware project and anyone is welcome to use and develop this project in line with the licences. We also encourage anyone interested to contribute to this development, especially in the areas outlined below.
These are some of the areas we intend to focus future development:
- Double-sided or twin lung hardware and control to allow playing with reduced pauses.
- Half-hole thumb technique to reach highest notes.
- Tounging mechanism to implement the tounging technique and achieve staccato notes.
- Increase OSH depth adapt the project to depend more on open source components.
- Improved usability through an improved, maybe graphical, user interface.
- Improved documentation and build instructions.
- Increased robotic intelligence such as giving foresight of notes to make decisions on breathing.
- Expanded scope of calibration to include timing and facilitate robot musicians playing together.
Contributing to the project is easy and we encourage anyone who is interested to make pull requests.
The general process of contributing on GitHub is widely documented however the outline process is below:
-
Identify where you want to host the project locally. This could be a Music Makers projects folder for example.
-
Clone or fork the repository using GitHub desktop or the CLI into this location (CLI is recommended as this helps you become more familiar with Git in general). You can do this with the following command:
git clone https://github.com/ICMC22-tmp/OSH_Automated_Recorder
-
Update the project and then make a pull request!
Just for fun we thought it would be interesting to include other robotic music players. They range from the sublime to the wacky, but each one is beautiful.
- Shimon, the robotic marimba player https://www.shimonrobot.com
- Squarepusher x Z-Machines https://www.youtube.com/watch?v=VkUq4sO4LQM&t=66s
- Andrew Henry's self playing guitar https://www.youtube.com/watch?v=I_BBCmcAXcs
- Yamaha Disklavier self playing robot piano https://www.youtube.com/watch?v=m_GROsS4I7A
- Waseda Flutist Robot https://www.youtube.com/watch?v=jx8U1FgILCE
- The original Flute automaton - Floutiste https://www.youtube.com/watch?v=1TxrjpWGRXU
- A variety of robotic players including violin, piano, guitar, bongos, xylophone and others https://www.youtube.com/watch?v=rwh_acqT6J0
- Wintergaten - Marble machine https://www.youtube.com/watch?v=IvUU8joBb1Q
- Automatica - Robots Vs Music https://www.youtube.com/watch?v=bAdqazixuRY
- Music genie - Hierarchical Music https://www.youtube.com/playlist?list=PLjrJD5nSYNjoQebwV7TWPe83k7g2FjIO6
The inspiration for this project was Andrew Henry's automated guitar player.
This project is licensed under the GNU General Public License v3.0 and CERN-OHL-W