I found out about this project by googling MIDI translators - essentially I’d like a computerless way to connect and translate between USB and DIN MIDI devices.
Now I read that Zynthian started out as a simple MIDI translator, so I figured it should work, but then reading up it seems that there’s no end to troubles with USB MIDI devices on a RPi, like having to disconnect everything before startup, and stuff like that.
I wonder if anyone has real world experience with using a Zynthian like this - maybe any experiences with a RPi4 based setup? (If I build a Zynth, it will be based on a 4…) A BomeBox is comparatively more expensive, as it costs $200 just for the MIDI translation and nothing else, but I’d be really, really sure that it will not flake out on me. My own experiences with RPi reliability, on the other hand, are not that great.
I use it to connect things from usb to DIN MIDI, it works well. There’s a whole world of filtering and translation with MIDI profiles that I’ve never needed to get in to.
I think the disconnect-before-start issues were fixed weren’t they? They’re usually 98% power related, 2% using a DAC we’ve never used before. As for reliability, I’ve use my zynth for Church stuff, for synths rather than MIDI translators, and it’s behaved impeccably.
There a decent enough list on Reddit too https://www.reddit.com/r/synthesizers/comments/d39su2/usbmidi_hosts_currently_available_solutions_xpost/
Yes, I can vouch for the fix of multi USB issues. You can connect multiple USB MIDI connections and it all gets passed into the MIDI Router. I’ve had multiple USB MIDI devices ( Roland A-88, Alesis Trigger i/0 & Behringer Motor 61), all on the same Zynth and they’ve been restarted 100’s of times and I don’t even think about the problems that used to occur.
All my machines are RPi3’s so I can’t comment on the Pi4 approach.
The MIDI logging is a godsend in this sort of environment !
That’s good to hear, actually. Fundamentally, I want two things from a Zynthian build: Impeccable MIDI translation and processing, and Pianoteq running at 44kHz. (Because lo-fi Pianoteq is just too sad.)
For the latter, I’m considering designing a case that allows for a Seeed Studo Ice Tower cooler, and overclocking the RPi4.
Seen this… https://blokas.io/midihub/ ?
Allows standalone midi processing via web based editor.
Currently Zynthian doesn’t support SysEX commands. It will discharge any SysEX.
Apart from this limitation, it works pretty well
Currently, Pianoteq is running at 22KHz internally. Probably you can run at 44KHz with RBPi4, but you could be too close to the limit…
Anyway, running at 22KHz, sound is really good and rich. You loose the higher frequencies over 11KHz, but probably you don’t care about it when playing in a gig or rehearsal. Things change when you make a serious recording…
Pianoteq will trigger xruns if set to 44100 on a RPi4 - it is one of the first things I tried when I got my RPi4. 11kHz roll-off is disappointing for studio / recording but you probably wouldn’t notice live (except for classical concert hall type performance). I would love to hear Pianoteq play with full bandwidth but I think it is still not possible with the RPi4
Can often be the difference between what you hear and what you know…
Yea I guess 22kHz should be good enough for most cases. That said it’d be nice to have a proper CD quality output. I mean I find the angelic overtones on the high notes one of the most magical things about the piano as an instrument, I guess that would definitely suffer at an 11kHz Nyquist rate.
Have you tried with a cooled RPi4? Apparently a passively cooled (or uncooled) RPi4 will inevitably thermal throttle under load, so just plain adding cooling is a form of “overclocking”. (@jofemodo that might be something to note for the RPi4-based kit and case… It needs a CPU fan to do the hardware justice.)
I have a large heatsink with forced air (fan) cooling. RPi 4 doesn’t seem capable of 44100.
This old chestnut. I’ve been running an uncooled RPi4 for my zynth and it’s never even got close to the throttling temp (80C) https://io.adafruit.com/Baggypants/dashboards/zynthian-cpu-temp I’ve run the Pianoteq demo, OB-Xd, XPolyMonk, foo-yc20, compiling and segfaulting Surge synthesizer and any number of lv2 plugins. i.e. all sorts of cpu intensive engines. I got inventive and ran 8 OB-XD’s in parallel driven by an arpeggiator for 4 hours, It got xruns, sure, and high load, but it didn’t ever throttle the cpu due to temperature. Chrome running on a desktop will send it over, yes, but Zynth stuff doesn’t.
I have to wonder what the heck is wrong with the web if this is the case though.
"compiling and segfaulting Surge synthesizer " - how’s going with it? Any success?
Maybe, just maybe they aren’t doing their hacking outdoors in a snowstorm. Lol!
Well, anyway I really wonder what’s up with that. The people whose experiences I’ve read were mainly doing artificial benchmarking, and that invariably sent the Pi over 80C in a few minutes. Maybe these real world use cases are much lighter on the CPU than a benchmark.
I believe you were running these stuff one at a time, and not all together, right? As for the Jack xruns at low temp… Realtime / low latency is hard as f… so my second guess is that there are some short bursts of CPU intensive jobs with lots of nothing inbetween, so overall temps can stay low while the CPU is still struggling to keep up when the shit suddenly hits the fan. My first guess was that it might also be a preemption / thread priority thing rather than a CPU hardcap.
To be clear, the 8 OB-Xd’s were run in parallel. I misremembered the 4 hours, that must have been for something else Pi4 temperature