Restoring and MIDI-Fying a Baby Grand Piano
jacquesmattheij.com
jacquesmattheij.com
A few years ago, my dad found a Bluetooth adaptor for it, but the process of streaming songs to it was a convoluted mess that involved downloading MIDIs, putting them in Dropbox, opening them on an iPad in a different app, etc.
I was home for the holidays that week, so I threw together a Chrome extension that streams songs with WebMIDI:
https://github.com/appsforartists/midicast
Super fun project. Far from perfect, but it's neat to programmatically control a musical instrument.
Gave me a chance to try the Cycle architecture too, which works really well for a Chrome extension. Chrome extensions are all about message passing between various contexts. Cycle's reactive model abstracts all that away, so you don't have to think about which piece is running where - you just describe how data gets transformed as it flows through the system.
Disklavier control boxes also have MIDI in, and you can get fairly cheap USB->Midi adapters. That way you can sidestep the bluetooth link if you want to use a computer to drive it.
WebMIDI doesn't care, so either adaptor should work with it.
No. 36 is a 4 part canon where each part moves in a different tempo, forming a tempo ratio 17:18:19:20. Imagine taking a Bach fugue and applying a skewX or perhaps a Gaussian blur to it. All the voices converge roughly in the middle of the piece to create a striking texture unplayable by humans.
No. 37 is a twelve-voice canon with an esoteric relationship among the voices (based on pitch-interval ratios of a particular scale from a book by Henry Cowell.) It's basically a series of little episodes where he trains the listener to focus on the texture-- because what else could you focus on in a twelve-voice canon? Then at the end, he introduces this low, enigmatic ricercare tune that builds into this enormous, sprawling texture of harmonic and melodic surprises, like aliens slowly descending upon Eisenach 300 years too late to find their lost ancestor.
Trimpin made MIDI recordings of the 50+ player piano etudes back in the 90s.
And if copyright weren't full of anachronistic concepts, one of them would be the Lenna of MIDI piano demos in the 21st century.
Unfortunately, copyright is still full of anachronistic concepts.
So instead you get an early Debussy piece. And where you would have said, "Holy shit, that is wild!" to a demo that properly shows off all the work the author put into MIDI-fying a baby ground, you instead say, "Hm, neat."
The veneer layer had already been sanded at least once and was super thin in places and of course that is where the bulk of the water damage was. In the end in a few places there was only a super thin layer of veneer left and in one or two places none at all. Wood grain filler was used to make the first layer more even, then three layers of red stain were added and finally two layers of high gloss transparent.
I would have loved to use only two layers of stain but the wood left underneath just wasn't good enough for that anymore. Anyway, so it isn't quite as dire as you make out from the pics but it also could have come out a lot better if there was more to start with. In person it looks quite good, especially the combination of brass with the red stain.
Supper happy to see this at the top of the front page.
Thank you for sharing.
On a less serious note, you could totally freak out your future house guests with stories about a ghost that occasionally plays the piano at night!
There are enough personal projects out there to absolutely flood this site and it seems on weekends there are more of them (maybe my imagination). But still the site doesn't get flooded.
Hm... that's some inspiration I may not be able to ignore.
I don't feel like stressing it to the point where it might break using 'black MIDI' or some equivalent, the power supply is 35 years old and might give up the ghost.
What did you do with the G3? Do you now have two baby grands?
For me, the best part was the link to the PianoBooster software http://pianobooster.sourceforge.net/ That software looks like a great way to help newbies overcome the early hump in learning to play the piano.
Pianobooster has an interesting internal architecture, it works completely in 'streaming' fashion which makes it quite hard to operate on the input files, you can't really look ahead because the whole file is never entirely in memory. It took me a while to get my head wrapped around that, it is so completely different from how I would have approached that particular problem. I can see some advantages to this way of doing things. Another interesting point is that it has a lot of the business logic in two places, one where it deals with the audio part of things and one where it deals with the visual part. These then sync up again at the currently playing note(s).
Anyway, regardless, it is an awesome project and I'm super happy to see that someone has taken up the mantle.
I've got a mid-80's U3 Disklavier I bought a couple of years ago, one with a floppy disk controller. It was about £4k, bought it from a dealer who imports them from Japan. I love it - the strings are longer than a standard upright, but doesn't take as much space as a baby grand.
I only have one wish for it - that someone would make a new ( ideally open source) controller unit that works with old Disklaviers!
The unit has midi I/O but has about 500ms of latency on playback - still very nice as a party trick and for recording ideas - but somewhat limits the usability with a sequencer.
Still, it's pretty mad I am using a Japanese robot piano from nearly 40 years ago that still works exceptionally well.
As for the 500 ms, there is a setting on the wagon that allows for realtime during playback.
If you could control the position, maybe you can create some interesting tonal effects that a human pianist could not achieve, by holding the hammer close to the string to partially damp it
(Similar to what guitarists can do)
As for the tonal effects, you can't really manipulate a piano hammer like that through the action, and this mechanism still uses the normal action the way it is intended, only it strikes from below the pivot rather than above, so at the back of the key. The whole function of the piano action is to give a uniform response to uniform input so the hammer can only describe a particular arc with a speed relative to the force with which the key is struck. You can't 'freeze' the hammer at the top of that arc, it will just fall back down until it gets caught by the back-checks.
What you can do and what would be impossible with just one pianist and just your fingers is to strike key combinations that would be otherwise impossible. For instance to make a chord that uses more than the normal number of fingers or that would require extreme contortions or more than two hands.
edit - just noticed that it seems you hadn't yet been able to get the key sensors working, only the output
And yes, that would require input, but I will be working on that next and I can already play using a digital keyboard on the piano (which gives a very eerie effect), and that way I can do such stuff.
Happy to read that it's still being updated.
https://dspace.mit.edu/handle/1721.1/32122
https://dspace.mit.edu/bitstream/handle/1721.1/32122/0827896...
>A Melody Description System for Jazz Improvisation
>This thesis describes a program which embodies several computational aspects of music improvisation and composition. Given an initial melody and harmonic outline, the program produces a single voice of improvisation. While the improvisation is intended to resemble a jazz (eg. "swing" or "bebop") solo, the program's descriptive techniques reflect computational elements common to a range of tonal music. These include building up phrases from partial descriptions, recognizing interesting features, and re-examining a remembered phrase to produce a variation in a new context. Throughout, the program uses various ideas of similarity, repeated patterns, defaults, and mutually constraining structures, trying to anticipate the audience's expectations to make the improvisations understandable and interesting.
David also developed an early musical/graphical Mac app called "Harmony Grid", and a visual programming language called "Hookup" for controlling and integrating MIDI and hardware and software like the Macromedia Director player library. David shared an office at the MIT AI Lab's "Music Hacker's Hangout" with Miller Puckette, who developed Max/MSP and PD. He later worked on Body Electric aka Bounce, another MIDI supporting visual programming language for real time VR simulation developed by Chuck Blanchard at VPL.
https://link.springer.com/chapter/10.1007/978-3-642-58126-7_...
>Representing Musical Relationships in the Harmony Grid
>One of the most difficult questions of multimedia design is when is it appropriate to use a given medium or mode of interaction. Sometimes the answer is not as obvious as it might seem. For instance, a program which manipulates music obviously has to be capable of playing music, presenting auditory information, but to what extent should the interface to the program be an auditory one? This chapter describes one such program which teaches about music, but with which the student interacts using a two-dimensional spatial representation of musical relationships. In other words a cross-modality mapping occurs. This kind of mapping appears to be especially successful because variants of it have been applied to good educational effect more than once. Indeed, Chapter 12 describes a successful use of a different but closely related cross-modality mapping. A very interesting and open question is: why is this mapping appropriate, where others may not be?
>1. Introduction
>The Harmony Grid was developed to help musicians and non-musicians visualize harmonic relationships in the traditional western 12-semitone chromatic system. It spatially represents some of the thinking that goes on when a composer or improvisor describes a melody or chord progression: 'Now the chord root is descending on the circle of fifths; now the melody is ascending . . chromatically; now it's descending on the whole tone scale~ .. ' and so on. Articulately or not, we create these structures when we make and appreciate music - dynamic ways of thinking about notes as 'near' each other. The Harmony Grid lets us visualize these musical relationships as adjacencies in fields of spatial intervals, displayed as two-dimensional grids.
Here he is demonstrating his "Music Box" software, and talking about his research at the MIT AI Lab and Atari Cambridge Research Lab:
https://www.youtube.com/watch?v=ocwsVkqEKys
There'a a link to great old photo of David in this comment:
https://news.ycombinator.com/item?id=8860722
More stuff about Hookup and Bounce:
You might like this.
A: A flat minor.
If the author is willing to mic up the piano properly with a good mic, and publish a few hours of uncompressed samples of piano playing along with the associated MIDI files -- it doesn't have to be good playing, but preferably better than "random" playing, it would be super cool to play with that data.
Most of even the top of the line digital pianos seem to get the resonances and cross-talk between the strings wrong in my opinion, and I think a neural net should possibly be able to learn the internal physics of the piano from enough samples.
really, really cool hack btw. always inspiring to see people put "unreasonable" amounts of time into labors of love like this. :)
I agree. A well-maintained, in-tune acoustic piano, especially a grand, has a richness of tone that digital pianos cannot match. The main problem with digital seems to be the resonance between the strings, which has apparently been difficult to model well. Your neural-net suggestion might work better.
Decent digital pianos, though, are superior to mediocre acoustic pianos, which can be unpleasant to play or listen to. They also require little or no maintenance and can be played with headphones, a definite advantage for many living situations.
The free stuff section of craigslist has many pianos, for some weird reason. Just go to "For sell" > "Free stuff" and search "Piano".
CL isn't very active here in NL as far as I know but Marktplaats has lots of listings and there are also quite a few thrift stores that will sell pianos for very little money. Even so, you can expect about a 100 euros or thereabouts to move one.
I did a quick search and I could find baby grand pianos and grand pianos for free.
Cool article, I enjoyed the demo.
Neat, that would be worth watching to see if anything nice and worth restoring comes by. Even so, plenty of old pianos are simply so worn out that any work on them is probably lost effort, this one was a border case. For instance, replacing the 'dead' bass strings would be way too expensive. A useful trick is that you can rotate them 90 degrees to get some more life out of them (because they've been struck by the hammer at the bottom they typically vibrate in only one direction!), but there is a fair chance the string will break when you re-tension it after rotating it.
It made me recall a nice memory as well. A while ago we (me and some friends) were helping out in some hurricane struck area. We were basically cleaning and throwing away stuff. In one house there was a Disklavier that was ruined and almost completely covered with mud. We asked the owners if we could keep it and they were like 'sure yeah just take it from here'. We spent a good month just playing with it, taking out everything, then trying to put it back together. Aside from the physical keys, nothing was salvageable but it was a very fun experience.
Your comment sent me into a rabbit hole where I didn't knew the Disklaviers were capable of measuring and recording release velocity. That made me look up which MIDI controllers do the same and turns out I have one that does (Axiom Pro), and since I'm a music nerd now I'm using that on some software synths (and want to learn the proper technique for playing with it, which will take me months probably).
Thanks!
If I was doing a project like this, I'd definitely do one key first and test it thoroughly before moving on with the rest.
The essential dimensions are: hole: 6.05 mm (drill 6 mm, it drills a tiny bit larger), pushrods about 5.72 mm. That gives minimum friction. But you can't buy 5.72 mm rods so you end up buying 6 mm rod and then sanding that down for every key to the right diameter. This is not the most precise process so you'll end up with 5.72 +- a few 100th of a mm. And then there is the humidity to deal with.
In the end I simply took a slightly larger bite out of the back of the action so it would have some more room between the edge there and the row of pushrods, that took care of any precision issues with where the holes were drilled and I matched each hole to it's rod individually based on how much play there was at the top, which is fairly easy to measure (deflection left/right).
The failure modes are: action not far enough back, pushrod will push the key up and then go right by it jamming the stick, pushrod can slip into the space between the plunjer and the wall jamming the stick and front row pushrods binding against the action. And because this only comes out when you have assembled everything it takes some time to analyze and fix.
What did not help is that the action itself is highly irregular, both in force required for a key to activate and in dimensions per key (especially horizontally), this made each key a unique item and my test key ended up not being representative enough.
This:
http://forum.pianoworld.com/ubbthreads.php/ubb/printthread/B...
Two year project is the same thing but then for a grand piano action -> MIDI. It is super impressive but gives me the unspecified feeling that it should be possible to do this in a simpler way.