, 18 tweets, 4 min read Read on Twitter
So I played Natural Machines in Halmstad, Sweden tonight. First time doing it on an upright Disklavier. I figured I’d have to play differently to deal with reduced dynamic range, but what I didn’t realize is that the DKV the presenter found (150km away) is the first 1/
ever made, an MX100A from 1988. Somehow there was a miscommunication, and I thought it would be an MP70, which is a much later model. So anyway, I get to the venue at 11:45am, and I look at the piano and it’s unlike anything I’ve seen before. All the midi settings I need 2/
to change in order to pilot the piano from my computer are hidden in strange menus requiring many button presses. One of the essential functions, turning the 0.5 sec delay off, is nowhere to be seen, and stranger still, every time I send the DKV a note from my computer, 3/
the piano plays the note, but then sends a midi message to my computer telling it that that note has just been played. This I’ve never seen on a Disklavier before; only the notes I physically play on the keyboard get sent to my computer usually. This one’s sending everything. 4/
So eventually I find a PDF of the original manual online, and in this particular PDF someone’s included an appendix at the end with “undocumented functions”. Turns out if you turn the thing off, then hold special combinations of buttons down as you’re turning it on,
these special things happen. One of them solves my first problem, how to turn the 0.5 sec delay off. But there doesn’t seem to be a solution to the bigger problem, the piano sending me back the notes I send to it, which is causing endless loops. Susanna, the promoter, has
a friend who’s dealt with this DKV before. I call him and he says he had the same problem, and that his conclusion was there’s simply no easy way to fix it. The MX100A won’t separate the notes it plays from the ones I play, the way later models do. So I tweak my code a bit
so that instead of sending commands to the Disklavier to physically play, my computer sends them to a software piano living in my computer, which will generate sound we can put through the house PA. But this sucks. The whole point of Natural Machines is that the computer
makes the exact same acoustic sound as I do, on the same piano. It completely changes the project to have it make an electronic piano sound in response to my acoustic one. You wouldn’t think it’d be a huge difference, but it is. Night and day. It’s now 3:50pm and I need to clear
out of the hall because for the next 45 minutes, there’s a wheelchair dance in the space. Physically and mentally disabled people in wheelchairs start streaming in with their caretakers, and they start dancing — or being swirled around in their chairs — to swing music. I decide
I’ve got to find a solution to my problem or else I’ll feel like I’ve trekked all the way here for a compromise. I figure that if My computer sends a note to the piano to play, then we can expect to get a message saying that note has been played a little while later,
depending on how long the piano takes to play it (this depends on how the delay is set in the piano, and also how loud the note is). So every time I send a note to the piano to play, I also send that note to a new program I wrote that maintains a list of notes we should ignore.
In essence, for the window of time in which I can expect the note to be played by the piano, the note gets automatically added to that list, and then the rest of my code will just ignore it when it receives it. Sounds simple, and it is, but like everything in code-land,
it takes 45min to write it and 2 hours to debug it. BUT — I got it working pretty much perfectly by 6:55pm, just in time to open the house doors, run to my dressing room, change, and come back out for the 7pm start. Had a great, warm audience and it felt so good not to have
to present a shadow of what this project is. Plus I learned something. I tell this story not because it’ll be interesting to very many people, but rather to give an idea of what it entails to get this show working. So many things have to come together and work right. The
moral of the story is that necessity is the mother of invention, and that I’m glad I write my own code so that I can make these adjustments if necessary. Also it sure makes me appreciate how amazing it is that, on every other one of my projects, I can just show up & play on a
normal piano, and just focus on the music.
But I wouldn’t have it any other way. I love the endless challenges Natural Machines throws my way, because every single time, I learn and grow. Plus there’s nothing like a good old feeling of victory before you hit the stage.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Dan Tepfer
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!