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·2 yıl önce·194 comments

comments

chipweinberger
·2 yıl önce·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
·2 yıl önce·discuss
made improvements. It's now about 12ms constant. Usable for real-time playback.
chipweinberger
·2 yıl önce·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
·2 yıl önce·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
·2 yıl önce·discuss
agreed. We are on the same page with the UX.
chipweinberger
·2 yıl önce·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
·2 yıl önce·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
·2 yıl önce·discuss
I will!
chipweinberger
·2 yıl önce·discuss
Thats for V2!
chipweinberger
·2 yıl önce·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
·2 yıl önce·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
·2 yıl önce·discuss
send me an email I'll add you to a list. [email protected]
chipweinberger
·2 yıl önce·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
·2 yıl önce·discuss
I think its well under 1ms, but it's can't remember off-hand.

But definitely not humanly noticeable.
chipweinberger
·2 yıl önce·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
·2 yıl önce·discuss
It was a workaround for a crash: https://github.com/espressif/esp-idf/issues/8702

In theory it should be fixable now.
chipweinberger
·2 yıl önce·discuss
for me, started by watching EEVBlog for a decade :)
chipweinberger
·2 yıl önce·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
·2 yıl önce·discuss
noted! It's something I've thought about as well. Will probably add it!
chipweinberger
·2 yıl önce·discuss
yes, exactly. Passthrough is the highest priority thread on the device, preempting anything else.