HackerTrans
TopNewTrendsCommentsPastAskShowJobs

chipweinberger

no profile record

Submissions

Show HN: I made a tiny device for automatically recording digital pianos

jamcorder.com
590 points·by chipweinberger·قبل سنتين·194 comments

comments

chipweinberger
·قبل سنتين·discuss
Yes you can do that.

Buy a standard midi to usb adapter (~$20), then do:

piano -> (usb) -> Jamcorder -> (midi out) -> adapter -> (usb) -> pc

It should give acceptable latency for real-time recording.
chipweinberger
·قبل سنتين·discuss
made improvements. It's now about 12ms constant. Usable for real-time playback.
chipweinberger
·قبل سنتين·discuss
So I took measurments - it's not as great as memory served.

In order to get accurate timestamps, processing midi IN takes priority over OUT.

So OUT can vary in latency between 5ms and 60ms. An unfortunate amount.

Improvements can be made here. I'd recommend a splitter if you need low latency.
chipweinberger
·قبل سنتين·discuss
so glad to hear it! you're the first to report back!

btw check out http://reddit.com/r/jamcorder for ongoing discussions.
chipweinberger
·قبل سنتين·discuss
agreed. We are on the same page with the UX.
chipweinberger
·قبل سنتين·discuss
Wow that is the first hardware product I have heard with this feature.

Up until now I've only known of some DAWs & custom raspberry-pi like solutions.

Though the Fantom X6, you have to push 'record' afterwards. Still cool, though!

Thanks for sharing!
chipweinberger
·قبل سنتين·discuss
yes sysex is recorded too!

thanks for your thoughts, I'll add midi out playback :)

and yes, head deep in midi knowledge by now but that is a good point about hanging notes.
chipweinberger
·قبل سنتين·discuss
I will!
chipweinberger
·قبل سنتين·discuss
Thats for V2!
chipweinberger
·قبل سنتين·discuss
Correct, it has midi thru. I call it 'midi out', since it's technically flexible how it could be used, pending firmware updates.

All midi messages are captured, on all 16 channels.
chipweinberger
·قبل سنتين·discuss
Very custom. By now there is are good USB-MIDI examples and Espressif USB support has come a long way in the past couple years.

modern ESP-IDF: https://github.com/espressif/esp-idf/pull/12566

versus 3 years ago: https://github.com/chipweinberger/xesp-usbh
chipweinberger
·قبل سنتين·discuss
send me an email I'll add you to a list. [email protected]
chipweinberger
·قبل سنتين·discuss
Appreciate your thoughts.

> I am not sure if it will work in 10 years.

This was a big concern of mine too. That's why as much of Jamcorder as possible is open standards.

There is also a local web interface, http://jamcorder.local, that is fully extensible by the user. And the BLE and Wifi APIs are not locked down. You can implement your own app.

The biggest limiting factor IMO, are Wifi and BLE still going to be in common use in 30 years? That's hard to predict. But the SD card will still be there. Its a tough problem.

I think that's about as good as you can do, short of putting a screen on it.

----

There's even a feature identical UART interface for the device. Surely that will still work in 30 years.
chipweinberger
·قبل سنتين·discuss
I think its well under 1ms, but it's can't remember off-hand.

But definitely not humanly noticeable.
chipweinberger
·قبل سنتين·discuss
The octave is configurable :)

And if you choose, you can make it slightly harder to invoke by requiring an additional 'function' note to be held down.

I haven't felt need for a bookmark button in the app yet, but it did cross my mind.
chipweinberger
·قبل سنتين·discuss
It was a workaround for a crash: https://github.com/espressif/esp-idf/issues/8702

In theory it should be fixable now.
chipweinberger
·قبل سنتين·discuss
for me, started by watching EEVBlog for a decade :)
chipweinberger
·قبل سنتين·discuss
I'm with you. That was the main motivation for also having the local web interface.

i.e. http://jamcorder.local

It also has an open API, that's pretty simple. So you could integrate it into other apps or open source software.
chipweinberger
·قبل سنتين·discuss
noted! It's something I've thought about as well. Will probably add it!
chipweinberger
·قبل سنتين·discuss
yes, exactly. Passthrough is the highest priority thread on the device, preempting anything else.