Monday, July 29, 2013

MaKey MaKey Musical Construction Kit: Update

Since the research group began this summer, the MaKey MaKey Musical Construction Kit has come a long way. The Summer Music Education Research Group started with nothing but an idea, and now at the end of the summer have a working product and resources that the public can use to create the kit.



Initially the concept was created for a single tool to be used incorporating the MaKey MaKey, a custom Arduino developed by graduate students at MIT, and Scratch, an online programming environment (click here to see one of the group's Scratch studios, links to other studios on this page). Starting in June, the Summer Music Education Research Group worked to develop this one tool that is now one of the three tools that the group has created blueprints for using the kit.

The MaKey MaKey Chord Board, the original tool created using
the MaKey MaKey Musical Construction Kit, click the picture to learn more

With this tool, the Summer Music Education Research Group went to the Music Education Hackathon in New York City on June 28 and 29 to compete against amateur and professional developers for prizes including web hosting, development time, and cash. The event, hosted by Spotify, was designed to draw in hackers to create tools for music educators in a competitive setting. Developers came from all over the country to compete. Over the course of twenty-four hours, the MaKey MaKey Chord Board evolved from a single tool to a component something much greater: a set of musical building blocks with resources accessible enough for anyone to use and the versatility to create nearly any tool with these resources.

With a revamped concept and a new product to pitch, the Summer Music Education Research Group presented their MaKey MaKey Musical Construction Kit to the panel of judges. The judges loved the concept, and out of over forty projects entered in the competition, the MaKey MaKey Musical Construction Kit took second place overall. The second place win was unexpected by the students (the product that they created did not include any of the sponsored API that the Hackathon was promoting) but a huge confidence boost for the group. The prize included $2,000 in Amazon Web Services credit and twenty-five hours of development help from the NYC Dev Shop.


With this success, the Summer Music Education Research group rapidly began developing more tools that can be created with the MaKey MaKey Musical Construction Kit. Throughout July, the research group created two more tools with the construction kit and chronicled their progress on their blog. In addition to the MaKey MaKey Chord Board, there is now a tool called the MaKey MaKey Portable Chorus and another called the MaKey MaKey Multipurpose Kalimba that can all be created using the same set of materials found in the MaKey MaKey Musical Construction Kit.

MaKey MaKey Portable Chorus
MaKey MaKey Multipurpose Kalimba
The group hopes to continue work on the MaKey MaKey Musical Construction Kit for as long as they can. One hope is that the kit will become a marketable product that can be sold to music teachers. The group hopes to work with the Difference Maker program at UMass Lowell to continue exploring the entrepreneurial opportunities associated with the kit. Another is to keep developing tools for the kit for people to access and remix on their own. The ultimate goal with the MaKey MaKey Musical Construction Kit is to create a cost-effective accessible tool that music teachers and students can use to create and learn as a community.

Saturday, July 6, 2013

Update: Music MaKey

On Friday, July 5 I (Alex) spent the day with Eric Rosenbaum at the MIT Media Lab. We made some progress on the Music MaKey...
Eric's original prototype idea
 Above was Eric's first prototype idea, an idea similar to what we were also considering. The thinking was to provide more inputs and include a design that mirrored 2 octaves of a piano keyboard and a drum kit.

To get started, we simplified the keyboard layout to one octave and went to the FabLab to use the vinyl cutter to cut a copper foil template.
3rd times the charm (top) on the vinyl cutter
As you can see, we tried 3 times before we got a good cut. For the first try, the knife pressure (set to 50gf) was too light and it did not cut through the foil. The 2nd try with a setting of 130gf was too hard and tore the foil. We settled on a final cut pressure of 80gf and the top cut was the result.
Carefully transferring to side of MaKey box
Though masking tape was recommended as the transfer tape, we didn't have any nearby and instead used gaffers tape to transfer the foil cut out from the original tape to a cardboard side of a MaKey MaKey box.  This is a very careful process of finding a tape with an adhesive strong enough to lift the foil cutouts from foil, but weak enough to transfer the foil onto the prototype surface, in this case cardboard.

Successful test with Teensy2.0++ - Sending MIDI to GarageBand
Above is our first test clipping leads on the copper foil interface prototype onto Eric's Teensy2.0++ running custom MIDI code. Just like the MaKey MaKey a 22MOhm resistor is added between power (+5V from the USB cable) and the input pin. It worked! We were successfully able to trigger MIDI notes on and off in GarageBand, as well as send Control Change messages.

Once that worked, we tried creating a graphite potentiometer testing analog input to the Music MaKey prototype. 
Bottom right corner - graphite potentiometer prototype.
This test did not go so well. We tried mapping the resistance values to the MIDI pan control change message (10). There was simply too much "noise" on the ports and in the reading to be accurate. We'll have to think more about this, because we would like to also have analog inputs for the Music MaKey.

Possible alternative layout for a Music MIDI MaKey

After trying the above tests, we started discussing an alternative layout with the two octaves of the virtual keyboard's on Music MaKey mirrored. This would enable a more compact layout and possibly make it easier for users to connect two octaves worth of alligator clips. Alternative, it introduces the possibility to an embedded feature of splitting the keyboards onto different channels and sounds. That adds additional complexity to the design and user interface, so we may not keep that for the default firmware build.

We also moved ground connections to the sides and added 3 general purpose pin connections in the middle. By default, these might be initially mapped to sustain, octave + and octave -.

Next steps:

  • Investigate ways of smoothing the analog input sensing for variable, homemade resistors.
  • Mock up a design in Eagle and build an actual PCB prototype; begin first user tests.
  • Decide on initial keyboard mode computer key mapping. Home row one octave mapping (GarageBand) vs. full two octave keyboard mapping (JamWithChrome.com).
  • Design custom, cross-platform web audio API app for keyboard mode use?
  • Prototype a custom remixing/visualization app based on remix.js from EchoNest.




Congrats on 2nd prize!

I'll use this post to collect and document the links, press and images around the Music Ed Hack event in NYC.

Links:
A video of Graham and Matt being awarded 2nd Prize.

Monday, June 24, 2013

Update: Week before Music Ed Hackathon

Music Ed Hackathon - June 28-29, 2013 - NYC

  • Sign up via Hacker League
  • Depart Friday morning, arrive back Sunday afternoon/early evening
  • What materials do we need to take/have on hand/purchase for the event?
  • Other questions?

MaKey MaKey Chord Board 

Today, Matt and I figured out how to debounce keyboard inputs in Scratch 2.0 in an efficient manner. Check out the generic debounce code here: http://scratch.mit.edu/projects/11051284/.

Version 1 of the Chord Board seems to be finished. :)

What next?
  • Develop Music MaKey Construction Kit-in-a-box.
    • Materials? Tacks, paper clips, conductive thread, foil, rubber bands, conductive ink, tape, etc.
  • Develop 3 additional MaKey music projects
    • Simple drumset (with original samples) - and a sample shift button for close, mid and far mic'ing exploration
    • Simple keyboard (8 diatonic notes over 1 octave, with [2] +/- 12 buttons)
    • Chromatic MaKey Circle layout - inner -1 offset circle; outer +1 offset circle, plus octave up/down buttons.
  • Re/Code & Re/Build everything based on default MaKey MaKey layouts (11 key inputs MAX - w,a,s,d,f,g, up, down, left, right, space).
  • Develop versions of project code WITH and WITHOUT a responsive GUI. The GUIs make things complicated when initially remixing, though, it would be nice to provide a version with and without for those who want to explore that. The code itself becomes more complicated, but the benefit is in making the concepts experienced visible in addition to audible.
  • Map projects & builds onto Next Generation Science Standards and relevant Common Core standards... in addition to current Music National Standards (in general).
  • Create open sample sets for Scratch

Friday, June 14, 2013

Emerging Ideas

Questions:


  • What might "design thinking" and "engineering design" look like in music classrooms K-12?
  • How can design experiences with MaKey MaKey in music and audio contexts reinforce and connect to the Next Generation Science Standards" and the "Common Core?"
  • How can the authenticity of musical experiences be maintained when making connections to non-music/arts standards?



Music MaKey MaKey Ideas

From Eric Rosenbaum:

* I built a working proof-of-concept prototype on a breadboard. it uses a teensy++, which has MIDI HID functionality and is arduino compatible. I was able to port the makey makey code to it, and use it to send MIDI instead of keystrokes. pretty sweet. I'm pretty sure it can easily switch between MIDI and keyboard/mouse- good idea!  

* I started sketching what I would want the front of the board to look like- just a piano layout, with pairs of holes for alligator clips like makey makey. (I also started adding a drum set, but not sure about that yet). I've attached a png of it. actually I'm also attaching an ai file in case you want to play around with it. 

* my idea for the next step is to use the vinyl cutter to make a copper foil circuit of the whole thing- I'll add pads for resistors, and a sort of socket for the teensy. Then I think I can make a laser cut base to adhere it to, out of wood maybe, including the various holes for the teensy and clips. one challenge will be that the through-holes will be un-plated so it might not make a good connection to the alligator clip. so I think I'll try leaving flaps inside each that can fold down into the hole. 

* of course there's a lot more to consider for the design... what about analog inputs? like you mentioned there could be built in knobs and sliders- but what if you could make your own analog sensors as well? the problem is calibrating them, so the system knows the range you're using. but maybe we could invent a system for this (not an easy design problem I think). It would probably be a capacitance sensing thing but I'm not sure.

AI file for Piano Keyboard
Teensy++ Projects & Sample Code (including MIDI)

Friday, May 31, 2013

Getting Started - To-Do

  1. Create a blog (hosted anywhere)
  2. Provide link to Alex for posting here
  3. Set personal goals for this summer and post to your blog
  4. Explore various projects and links to familiarize yourself with our work
  5. Start MaKey MaKey instructable - Deadline June 30

Next Steps

  1. Sign up for ScratchEd google group
  2. Take Online Scratch course (June through mid-July) and document your experiences (daily) taking the course. What's working well? What could we adopt as "best practices" in our music education work?
  3. Create Sound Thinking YouTube Channel
  4. Create Sound Thinking Scratch 2.0 Studio
  5. Create Creative Music Projects Scratch 2.0 Studio

Project Overview

  • Noteflight.com Forum Analysis 
    • Paper for publication
    • Forum analysis tool development
  • Performamatics Media
    • Sound Thinking Course Material Organizing and Archiving
      • YouTube Channel - project videos
      • ScratchEd - post curricular materials
      • Scratch 2.0 - Code examples
    • Scratch Music Projects
      • YouTube Channel
      • Scratch 2.0 - code examples
      • Curate cool Scratch Music projects as Studios
  • MaKey MaKey Music Projects
    • Public blog
      • Videos of projects
      • Code for projects 
        • Scratch
        • Arduino Hacks
        • Wireless
    • Websites for MaKey Music Hacking
      • Custom Music Remix site ala
  • Online Music Making and Learning Supports Documentary Blog
    • Reflections on learning via CodeAcademy
    • Reflection on Scratch Online Conference Learning
    • Reflections on learning through OAIM or ArtistWorks?

Expectations

  • Ask questions ... often!
  • Work independently; check in often
  • Create a blog and make daily entries (during work days) summarizing and presenting what you've worked on. These will be linked here, so that we can all follow along.
  • Create goals and work toward them
  • Have fun!

Thursday, May 23, 2013

Summer Email 2


I would like you both to follow this ScratchEd Google group: https://plus.google.com/communities/116632236256522474009

They will be launching an online creative computing workshop from early June to mid-July. I'd like you both to participate in it, taking notes about your experiences learning in the workshop. It will culminate in a visit to Harvard on July 12. As part of your work with me this summer, I'd like you to document your experiences learning in this format... what worked well, what did not work so well, especially paying attention to the design of the learning experience and the tools used to help facilitate learning. You might also be interested in the content. :)

Matt, how is your CodeAcademy work going? Which language(s) are you learning? How is that experience going? I am going through the javascript, python, and API courses right now, too. 

As you might be able to see, part of our work this summer is figuring out best practices of blended and online learning and professional development around web-based creative tools. In Codeacademy, it's the coding tools; in the Scratch workshop, it's Scratch 2.0. What I hope to gain out of our study is a set of tools and best practices that we can use to develop similar workshops in future summers and years around Noteflight.com and some of the EchoNest hack tools I will be developing. Even though I'm going to NYU this Fall, there will be opportunities (hopefully funded!) for you all to continue to work with me if you'd like. 

Part of taking our Scratch+Music work further is developing similar workshops and tools for learning for students and teachers. Our work this summer will help move our team toward that. It would be great to be able to run some online short courses for teachers around Scratch and MaKey MaKey using similar formats and tools this coming year. 

Another aspect of our upcoming work will be to assemble, preserve and present many of the student projects - code, audio files, images, and videos - from our Sound Thinking and MaKey MaKey computing+music classes and workshops in an online site for educators. We'll also want to tag and cross-reference this content to computational and musical concepts and processes. Keep your eyes peeled for technologies and sites that may be good models for us. We'll definitely populate a couple YouTube/Vimeo channels and at least set up a learning community/blog... possibly as a part of the ScratchEd website - http://ScratchEd.media.mit.edu/.

If there are any specific goals or things you'd like to have as outcomes from this summer project, please let me know. I know I asked you about these before, but they might have clarified or shifted in the intervening time. Just let me know. 

Are you all free for an all-day meeting on Friday, May 31? We could use that as our first orientation day. Also, I would like to invite you to participate in our Music Technology Educator Meetup on Saturday June 1 from 10am-1pm.  This is our last one of the year. Teachers have met the first Saturday of each month on campus to share projects and to learn more about music education technology throughout the year. It would be great to have you there. 

Tuesday, May 7, 2013

Summer Email 1


I'm looking forward to working with each of you as a team this summer on a variety of research projects. I've waited until now to bring you all together because I know you're busy with end of the semester projects, concerts and finals. We have a number of cool projects that we will work hard on finishing up this summer!

I will be leaving this weekend to attend my brother's graduation from Med school later this week. I plan on being back around May 26. So, to keep things simple, let's plan on our work happening starting June 1 and going through July 31. If you have any travel coming up during those dates, please simply let me know now and we'll work around them. 

In the intervening last weeks of May, I hope you'll do some prep work for things. I am working on assembling this now and will get it to you ASAP. I've put an initial list of things at the end of this email.

In other news, I wanted to let each of you know that I've accepted a new position at NYU as a tenured Associate Professor of Music Education and Music Technology starting in September. It's an amazing opportunity for me and for my wife Anne. We'll be living in faculty housing in Washington Square in Greenwich Village, and I'll be launching a research center in music education and technology. The work we work on this summer will continue with me at NYU and I hope you'll stay involved to the degree that you'd like to. 

There are many opportunities for you all to help co-author some papers and co-present workshops and presentations at professional conferences. I'll talk more about that if that is something you'd like to do when we meet up in person in June.

So, I'm very much looking forward to working with you individually and as a team. I want you to get as much out of this experience as possible, so please reply to this email telling me some of your goals for this summer. Are there any specific skills or experiences you'd like to have? Any content you'd like to learn?


Stuff to take a look at to prepare yourself:

1. Familiarize yourself with the Noteflight.com forums - http://www.noteflight.com/forums
2. Familiarize yourself with the various music "hacks" at - http://labs.echonest.com/
3. Familiarize yourself with Music Delta - http://us.musicdelta.com/ (login with your Google account)
4. Familiarize yourself with our Performamatics research - http://performamatics.com/

Projects:

Our projects for this summer will revolve around the above listed sites and technologies. We'll be developing research tools for exploring the Noteflight.com forums, assembling computing+music exemplars from our Performamatics research, working with the new Scratch 2.0 environment (http://scratch.mit.edu), and developing some new tools and content for Music Delta. 

Once I hear back from you about your goals, I'll be better able to define your job description and work plan. The three of us will regularly join with 3 undergraduate computer science students and 1computer science graduate student. 

Please let me know if you have any questions!