I’ve automagically recorded my digital piano musings starting about 28 years ago. Initially, I used a simple C code on a Linux server using select to dump from dev MIDI to a timestamped file per session (a variation of an answering machine I had previously hacked together with a friend). Later, I used pianoteq recording on an iMac, which also detects gaps and records separate timestamped files. The experience has been very positive and helpful for improving technique and composition, so I do recommend this hardware if you dont already record everything. One piece of advice, however: you want to let people who touch your piano know they get recorded, or ask them to wait until you turn off the recording. I tend to forget that I record everything after a while, and an unsuspecting friend might incorrectly assume that their improv does not lead to a permanent record. I had several people be surprised when they first learned about the automatic recording after the fact, and had to remove one or two files at their request (though the last time I needed to remove a file was around 1998; more recently, people didn’t seem to mind).
I ordered one to use secretly. My dad’s 90 and was a working musician since he was 15 or so. He’s always wanted to make recordings of his playing but gets distracted by the technology, even something relatively plug and play like Garage Band. I’m looking forward to plugging this in and just capturing his playing without distraction.
I'm definitely not the target market for this, but I do want to say that this really scratches an itch for something that should exist, and I really want to compliment you on how fantastic the execution is! Very clean look in both the physical and digital realms, and I really appreciate just how fully featured it is! It really seems like the ideal version of what this product would be. Also love the idea of the bookmark pattern. Out of curiosity, is that customizable too?
-Laptop on battery balancing on the corner of the digital piano
-Launching a custom script piano.sh (I remember that the initial install process on ubuntu was painful)
(The script (3 lines) :
qsynth&
aconnect 24 129
rosegarden&
)
-Then hit record on rosegarden
-It works I can get the music out of my head
-Then I fight with the UI to select the time position to be able to playback
-Then I select another track to record another layer on top while the playback is running, I misconfigured the recording and it recorded over my previous track.
-Then I have lost my music.
-Then I test what happens when I change the instruments on the piano : rosegarden doesn't record the instrument change and the soundfounts are different than what my piano have so it doesn't sound exactly the same
-Then I close rosegarden, remember why I hate it, plug a jack in the line-in start audacity, hit record, play music to calm me down.
-Save wav file in a lossless compression format. Store it in a file somewhere where it most likely won't ever be played again, telling myself in a few years I'll just run a script that will transcribe it and organise it directly.
**
My setup is awful from a cold start, but gets better with practice when I remember how to use the UI.
The ability to playback an existing track while I record a new track is what I used it for. And the metronome.
The main problem with midi is that the sound fonts are not exactly the same.
I probably won't buy it though, I don't want yet another app. I am not sure if it will work in 10 years. The sound is not exactly what I played. It something that should have been an option in the piano and not a $99 option.
It'd be so easy to do a version of the "infamous Dropbox comment" on this ("you can already build such a system yourself quite trivially by getting a MIDI cable, an audio interface, and a raspberry PI...") but of course what you have is exactly a sort of Dropbox Of MIDI here where it Just Works™ and backs up all your music automatically with no hassle.
This is a really cool example of ambient technology. Typically when people talk about ambient technology they're talking about something like an e-ink display that is pushing information to you, but in a way that doesn't require interactivity and isn't screaming for your attention. This is a little different in that it's always _receiving_ information from you without any need for interaction or maintenance, except on your terms.
The interaction model is pretty clever too. Since it's collecting data from the instrument they've found a way to cue the device to perform an action without the user needing to open an app. (black keys to bookmark) There is an app of course, but it connects directly to the device, with no annoying setup requirements. I've seen this same approach with several other devices - Xbloom coffee maker, Combustion thermometers, Week Aqua lights - it works really well. I'm understating it. It's astounding how pleasant it is to use devices like this.
As hardware continues to improve I expect this will be the default mode for pretty much every new technology appliance. Ambient operation, local data, local app, with cloud and accounts as _options_ to extend functionality if it's necessary.
This is so neat, thanks for sharing! I think the killer feature here is syncing with your phone/providing a good interface for searching. My Roland doesn't have auto recordings, but I record myself on it pretty frequently using the built-in functionality. My problem is that I have so many recordings now that moving them over to my laptop/phone and sifting through the garbage is extremely tedious.
From the FAQ it sounds like you have plans to extend the search feature set - excited to see what's in store! I feel like a similar parallel here might be the search functionality in Google Photos. If you can do for MIDI recordings what they did for photos that would be huge.
Amateur Jazz Pianist here. Purchased. I love pianoteq, but also tracking how much I'm practicing every week is great, and love the idea of the bookmarks.
I wrote a bash script [1] with similar functions for my piano, which produces ogg recording and raw midi recording, as well as splitting realtime rendered midi stream (via fluidsynth) into two audiostreams (I've mostly used it for Zoom calls with a piano teacher).
Wow, this is amazing! As a songwriter, the only feature that I’d really need to make it an insta-buy is always-recording audio as well (and then you bookmark it and it only keeps what you sang when you started playing, since obviously audio takes way more storage space). This is probably way out of scope right now, but just adding my feedback. The always-recording piano is brilliant, but I’m not sure how useful it’d be for me without the melodies I’m improvising to go along with it. Honestly, if I wasn’t broke, I’d invest in you building that feature (or entirely separate product?) because it’d be such a gamechanger (and then you could sell it to people who play any instrument).
You can monetize further: provide OEM boards and whitelabel apps/libraries for electric piano manufacturers so that you get a licensing thing and an ecosystem going. This door is not open for long, start cold-calling those companies now!
Looks really great! If I had a standalone keyboard I'd be considering this!
Your project got me thinking - here's one idea: Windows should get MIDI 2.0 support soon, incl. non-blocking MIDI reading if I understood correctly. That should make it possible to create a small background application that records all incoming MIDI from all (or chosen) connected MIDI devices. It would work very much like your recorder and could share the same mobile app?
This I would be interested in. Since it's a software only solution, it could be cheaper and lower entry barrier.
I purchased one! My use case is I have children just getting interested in piano and I think it will be awesome to have a log of their progress and playing over time to show them later.
This is amazing. It's amusing that you can be Roland or Yamaha and have decades of experience building digital pianos and all sorts of other digital music devices, yet even your high-end digital pianos that sell for $3000+ do not have this feature.
Would have loved to not have lost so many improvisations, and consciously recording every time before you start playing is too much hassle.
I'm currently also doing a hardware project (also esp32-s3 based) after a stint in big tech, albeit in a completely different field.
For me, I'm finding that firmware development and app development is an absolute pain compared to mechanical design and PCB design. What was your experience like?
Love the product, love that you don’t need a cloud account. Congrats! I’m in the same situation where I seem to improvise better when I haven’t hit the record button.
Great job on this! With the ability for it to send midi over Bluetooth, it sounds like it could also act as a de facto replacement for my Yamaha Bluetooth USB adapter UD-BT01 (which has always been a bit fiddly), would that be a fair assumption?
What a wonderfully cohesive product that feels like it’s been begging to exist for decades. So cool to see this level of execution. Any suggestions for someone looking to make the jump from software to hardware?
Love the idea. Raspberry Pis (even with swap disabled, logs in memory, etc.) really disabused me of the notion of remotely reliable microSD cards on a longish term. I would suggest considering eMMC.
> phones are a great option for occasional recording, but they don't record automatically, they don't show the notes you played, they don't track your playing history. inspired by the convenience of a phone, jamcorder is a natural step up.
There are MIDI interfaces for phones. It is astonishing that there isn't an app which it's the checkboxes.
This is great! Thanks for creating this - and as someone asked already, I would love to hear more about the process how you did this. Especially I am interested how you came up with injection molded enclosure (I thought it just costs some enormous amount to make the mold).
I was about to order but frankly it does not feel good to pay about the same amount of shipping (to Finland) as the product costs.
If you can do anything about it, I would be happy to order. 90EUR for shipping is just too much, 20-30'ish would be reasonable.
If this launched 5 years ago, I would have immediately purchased it! At the time I was using pencil & paper, Sibelius, or my phone to record improvisations and all of them were very poor solutions.
I've reached the point where I use a DAW (Reaper) + MIDI keyboard + sound libraries. Conveniently, Reaper can record & display everything as editable MIDI output. Pencil + staff paper can be great if you're slowly exploring something though.
This is awesome! One question, though: why not just work with straight audio and convert to midi with some basic* signal processing assuming a use case of instruments/sounds that aren't crazy synthesized. You could then also use this app for certain acoustic instruments as well and make this run all on mobile, potentially with an audio jack dongle/splitter if connecting to a digital instrument. Could also focus the audio processing on specific acoustic instruments out the gate and role out algorithms one at a time for each kind of instrument (e.g. piano vs saxophone)
Love the idea. As the device is recording all MIDI events, you can use it for any device with MIDI output (synth, drums, etc.). Are you envisioning expanding the app usage for other instruments than piano? (Would be great for drumming for instance)
I used to play the piano. The intro video is fantastic, answered all the questions that I had _while_ watching the video, and somehow managed to sell it to the software engineer me, too. Thanks for showing us something amazing!
Instabuy from me. I play piano every day (not great at it) and find that the consistent playing gets me better over time. This will be a great way to track that, and maybe bookmark/share those rare sessions when it actually turns out good.
This does look awesome. All my musical gear runs through a perpetually-on Ableton setup, so I'm not really the target for this. But I did order one as a gift for my band's singer as he never really figured out how to use a DAW and he does all his songwriting on a digital piano and uses a tascam audio recorder when he wants to save an idea. I think he'll really enjoy this.
Looks awesome, does it also record the pedal? Also I am worried that if it just records in MIDI, the output sound may be different from what I was hearing when playing unless I somehow have exactly the same sound banks as my digital piano.
This is pretty awesome! Nicely done! Some questions:
- Can the out be used as a thru MIDI port? So I could just jam the device into my workflow without having to acquire a new MIDI splitter?
- What of MIDI it captures, exactly? I understand note on/off, velocity and such is obviously captured, but what about CC values and everything else? Would be wonderful to be able to hook this up to synths that have more controls, and be able to capture those values too
Did you write your own support for USB-MIDI or are you using some ready-made library?
I remember once hacking on my own project with USB-MIDI support and it was a hassle. I was constantly missing MIDI messages. Had to build a "panic button" in to force "stop all notes".
Although my project was using SAMD21 (Cortex M0+), so possibly it wasn't fast enough for the use case.
There's something so whimsical about this kind of tech. The cost to store the midi is effectively zero, it would be so interesting to see it installed within a keyboard - a journal chronicling the player's progress over decades, and everywhere the keyboard has been. I could see something like this being included in the next OP-1
Ordered, and I'm grateful you showed HN. One of my teenage sons is a brilliant improviser, and I'm thrilled at the idea of having a plug-and-play way to capture what he plays.
Hi Chip, do you have a blog post or can detail the process you went through to produce the device? How did you design the internal components? How did you get it produced?
I have a very minor feature request: MIDI loops! Add a button on top of the device: Press once to record, press again to stop. Quantize on/off available via the app.
Very cool. I recently switched from an acoustic piano to a digital one. Would love to read something about your process getting to market and building the hardware.
I am not a musician so I have no use for this but this is a delightful idea that arguably belongs as a standard feature of every MIDI device being made now.
I had a Fantom X6 and one feature I loved about it is that it was always recording in the same manner as this, you could just push the "Skip Back Sampling" button and then save or do whatever with it. It was also good because the audio samples were synced to the midi clock. A cool feature.
All-around great product - the best part for me is how there's an offline option, no mandatory app or subscription BS. There's too much of the latter nowadays.
I am as far away from the target market as possible, but just want to say a lot of things about this device, from the use cases, the design and the UI, feel so delightful. Good luck with the launch.
Show HN: I made a tiny device for automatically recording digital pianos
(jamcorder.com)585 points by chipweinberger 7 November 2024 | 187 comments
Comments
I ordered one to use secretly. My dad’s 90 and was a working musician since he was 15 or so. He’s always wanted to make recordings of his playing but gets distracted by the technology, even something relatively plug and play like Garage Band. I’m looking forward to plugging this in and just capturing his playing without distraction.
This might be the first Show HN that I insta-purchased after reading your landing page. The mobile interface looks extraordinarily well thought-out.
**
My current setup in comparison :
-Had to grab the USB-B cable from the printer
-Laptop on battery balancing on the corner of the digital piano
-Launching a custom script piano.sh (I remember that the initial install process on ubuntu was painful) (The script (3 lines) : qsynth& aconnect 24 129 rosegarden& )
-Then hit record on rosegarden
-It works I can get the music out of my head
-Then I fight with the UI to select the time position to be able to playback
-Then I select another track to record another layer on top while the playback is running, I misconfigured the recording and it recorded over my previous track.
-Then I have lost my music.
-Then I test what happens when I change the instruments on the piano : rosegarden doesn't record the instrument change and the soundfounts are different than what my piano have so it doesn't sound exactly the same
-Then I close rosegarden, remember why I hate it, plug a jack in the line-in start audacity, hit record, play music to calm me down.
-Save wav file in a lossless compression format. Store it in a file somewhere where it most likely won't ever be played again, telling myself in a few years I'll just run a script that will transcribe it and organise it directly.
**
My setup is awful from a cold start, but gets better with practice when I remember how to use the UI. The ability to playback an existing track while I record a new track is what I used it for. And the metronome. The main problem with midi is that the sound fonts are not exactly the same.
I probably won't buy it though, I don't want yet another app. I am not sure if it will work in 10 years. The sound is not exactly what I played. It something that should have been an option in the piano and not a $99 option.
It'd be so easy to do a version of the "infamous Dropbox comment" on this ("you can already build such a system yourself quite trivially by getting a MIDI cable, an audio interface, and a raspberry PI...") but of course what you have is exactly a sort of Dropbox Of MIDI here where it Just Works™ and backs up all your music automatically with no hassle.
This is a really cool example of ambient technology. Typically when people talk about ambient technology they're talking about something like an e-ink display that is pushing information to you, but in a way that doesn't require interactivity and isn't screaming for your attention. This is a little different in that it's always _receiving_ information from you without any need for interaction or maintenance, except on your terms.
The interaction model is pretty clever too. Since it's collecting data from the instrument they've found a way to cue the device to perform an action without the user needing to open an app. (black keys to bookmark) There is an app of course, but it connects directly to the device, with no annoying setup requirements. I've seen this same approach with several other devices - Xbloom coffee maker, Combustion thermometers, Week Aqua lights - it works really well. I'm understating it. It's astounding how pleasant it is to use devices like this.
As hardware continues to improve I expect this will be the default mode for pretty much every new technology appliance. Ambient operation, local data, local app, with cloud and accounts as _options_ to extend functionality if it's necessary.
From the FAQ it sounds like you have plans to extend the search feature set - excited to see what's in store! I feel like a similar parallel here might be the search functionality in Google Photos. If you can do for MIDI recordings what they did for photos that would be huge.
[1] https://github.com/seletskiy/dotfiles/blob/master/bin/piano
Btw, for anyone that purchases, there is also a (very new) subreddit!
https://www.reddit.com/r/jamcorder/
Your project got me thinking - here's one idea: Windows should get MIDI 2.0 support soon, incl. non-blocking MIDI reading if I understood correctly. That should make it possible to create a small background application that records all incoming MIDI from all (or chosen) connected MIDI devices. It would work very much like your recorder and could share the same mobile app?
This I would be interested in. Since it's a software only solution, it could be cheaper and lower entry barrier.
Would have loved to not have lost so many improvisations, and consciously recording every time before you start playing is too much hassle.
For me, I'm finding that firmware development and app development is an absolute pain compared to mechanical design and PCB design. What was your experience like?
I'll buy it just because of this.
There are MIDI interfaces for phones. It is astonishing that there isn't an app which it's the checkboxes.
I was about to order but frankly it does not feel good to pay about the same amount of shipping (to Finland) as the product costs.
If you can do anything about it, I would be happy to order. 90EUR for shipping is just too much, 20-30'ish would be reasonable.
So relatable.
Congrats, looks like a great product. I just ordered one for my piano-player buddy for Christmas.
If this launched 5 years ago, I would have immediately purchased it! At the time I was using pencil & paper, Sibelius, or my phone to record improvisations and all of them were very poor solutions.
I've reached the point where I use a DAW (Reaper) + MIDI keyboard + sound libraries. Conveniently, Reaper can record & display everything as editable MIDI output. Pencil + staff paper can be great if you're slowly exploring something though.
For the room
The worlds smallest midi synthesizer https://www.youtube.com/watch?v=KTvVS8guBsY
https://hpi.zentral.zone/flash
Is that to be inline with other IoT devices UX, or is there a technical reason like esp devices cannot be in AP mode unless initialized at boot?
- Can the out be used as a thru MIDI port? So I could just jam the device into my workflow without having to acquire a new MIDI splitter?
- What of MIDI it captures, exactly? I understand note on/off, velocity and such is obviously captured, but what about CC values and everything else? Would be wonderful to be able to hook this up to synths that have more controls, and be able to capture those values too
Most interesting!
Did you write your own support for USB-MIDI or are you using some ready-made library?
I remember once hacking on my own project with USB-MIDI support and it was a hassle. I was constantly missing MIDI messages. Had to build a "panic button" in to force "stop all notes".
Although my project was using SAMD21 (Cortex M0+), so possibly it wasn't fast enough for the use case.
There's something so whimsical about this kind of tech. The cost to store the midi is effectively zero, it would be so interesting to see it installed within a keyboard - a journal chronicling the player's progress over decades, and everywhere the keyboard has been. I could see something like this being included in the next OP-1
I assume I can just drop this guy in between my midi controller and my primary interface since it has MIDI I/O, yeah? Does it pass through?
Indexing. The problem you face after recording too much.
If that's not enough, stay tuned! more tools like grouping by chords, songs, melodies, faster navigation, & search, are planned!
Probably needs to have a song database, so it can index by song name.
[1]: https://loogguitars.com/collections/loog-piano
I have a very minor feature request: MIDI loops! Add a button on top of the device: Press once to record, press again to stop. Quantize on/off available via the app.
Awesome stuff!!!
are you using flutter and blue plus ??? because I see your post and someone on reddit asking about bluetooth then I get rerouted on same web page lol
its crazy coincidence because I open both page at the same time
Would love to see anything of the visualizer. Understand it’s beta, but curious what direction it would go
Is it recording 25,000 hours of actual audio which it analyzes, or is it recording midi data?
And I love the name.
I had a Fantom X6 and one feature I loved about it is that it was always recording in the same manner as this, you could just push the "Skip Back Sampling" button and then save or do whatever with it. It was also good because the audio samples were synced to the midi clock. A cool feature.
just curious. Thanks.