So my thought is maybe the Zynthian OS could help with some stuff I’m trying to do but I want to be able to try out the software before investing in a kit.
I started following the Beginners Zynthian Headerless Tutorial using a Raspberry PI 4 I already have inside a NESPI 4 CASE from RetroFlag. Normally it emulates video games, but I thought I’d just swap out the SD card to see what Zynthian OS is like.
I managed to get it to boot and even to get the Zynthian web interface to show up. However, the display doesn’t seem to be working right. Both on my “Sony XBR-75X900H” TV and on the “APROTII RasPi Screen, 7 inch 1024x600 IPS Portable Monitor, 5-Points Capacitive Touchscreen Display” I bought on Amazon, (before I knew what Zynthian was, I was thinking I’d have to cobble together my own custom device) it’ll show the terminal for a second, then the Zynthian logo for a little while, then flake out and stop showing anything for a while, before showing the terminal again. I’ve tried a few different settings under the “Display” section on the web interface but none seem to actually get this going.
Could anyone help?
A few other questions I have:
Is there a good travel case to put the Zynthian v5 and its power adapter inside of? I really like hardshell travel cases for my electronics especially, but soft ones can also work. If there’s a specific one out there that’s good for the Zynthian v5, I’d really appreciate anyone sharing that! Especially if there’s a way to cushion its knobs so they don’t get broken in transit cause those look like they could break off or get bent.
Is there a good way to send presets to external synthesizer gear as SysEx MIDI messages on the Zynthian?
Yamaha, in their infinite wisdom, has elected to limit the Reface line of keyboards to all use MIDI channel 1 and channel 1 only. I’ve collected the entire Reface series and am trying to use them all together in one giant awesome progressive rock keyboard workstation, potentially using the Zynthian v5 as the MIDI host linking them all together. Could I reroute signals from other channels to specific devices? Sort of like what Alsa Patch Bay does, except also with channel re-routing?
Is there a live chat for Zynthian users? Like IRC or Discord or whatever?
If you see the logo in the display, then the display is not the problem. It seems like a problem with your audio configuration. If you are using a RPI4 standalone, without any other audio device, you should select “RBPi Headphones” and plug a minijack in the 3.5 mm connector. HDMI is not working very fine, so i wouldn’t recommend to try this path.
If this not work, i would recommend to re-burn the SD-card and boot again. Perhaps the “first boot process” failed for some reason. You have to wait a few minutes, but “HDMI display + RBPi Headphones” should work out-the-box without further configuration.
Regarding the travel case, we are working on it and hope to have a good one in the first months of 2024.
We just added some SysEx sending capabilities to Zynthian. Currently there is no implementation for sending “SysEx Files”, but it wouldn’t be difficult at all. Could you explain me what exactly do would you like to have? Tell us your use-case and perhaps we can implement it. Zynthian progress just like that
Regarding having several MIDI devices in the same MIDI channel and re-mapping messages from them to different channels. It seems an interesting use-case. Again we are in a sweet moment in that zynthian is moving from a MIDI-channel-only routing to a more flexible “Device + MIDI channel”. All the needed pieces are deployed and implemented and it’s a question of weeks/months that zynthian can make what you describe easily (and much more!).
Wow, I would not have thought of trying to change the audio. I will definitely try that soon and report back!
Regarding the travel case, we are working on it and hope to have a good one in the first months of 2024.
Could you explain me what exactly do would you like to have? Tell us your use-case and perhaps we can implement it. Zynthian progress just like that
Yamaha Reface DX, YC, CP and CS. (all four Reface keyboards)
Casio CDP-S360 Keyboard (to use as a controller because it was the cheapest way to get 88 fully weighted keys)
Alesis Vortex Wireless 2 keytar (MIDI controller)
Tascam Model 12 (mixer for audio)
And I have all these set up next to one another on multi-tiered keyboard stands.
My thought is to plug all four Reface keyboards and the Casio and the Vortex into the Zynthian (with a USB hub probably) and use it as the USB MIDI host. I would not expect the Zynthian device to handle mixing or recording the audio: that’s what the Tascam Model 12 is for.
Things I’d like to do with this:
I’d like to be able to play with one hand on the Casio and have it route the notes to one of the Refaces but with the other hand on the Vortex and have it route to another one of the Refaces. I’d like to be able to quickly and easily change what routes where so that I could have a different setup for each song in a live set. (I also still want to be able to reach over to any of the other keyboards at any time to just play little extra bits. It’s progressive rock)
I’d like to be able to browse through the thousands of .syx files containing presets (as MIDI SysEx messages) in the “Yamaha Reface DX Legacy Project” (it’s on Google) and send them to the Reface DX (and the other Refaces also have a preset saving and loading capability over USB MIDI as well I think, so those too) to be able to try out lots of them real fast and be able to save the good ones I find by copying them to new folders and be able to eliminate ones until I’ve found the one I think is the best and save it. So the idea would be to have all of those presets on the micro SD card. Ideally, being able to do all this using just the touchscreen.
I’d like to be able to set up combinations of signal routes and patches that can be selected on the touchscreen to all happen at once before each song in a live set. This is different from the browsing and selecting: this would be where everything is set up in advance and it’s time to play in front of people. Needs to just work immediately at that point.
I hope I am making sense of what I have in mind. Definitely open to any questions to clarify any part of this!
Also, I am a programmer myself so I might want to get involved coding it. But I definitely do not believe in re-inventing the wheel when somebody else has already made it.
My original idea was to make my own device using the Raspberry PI Zero because, if all it’s doing is sending and receiving MIDI over USB, the low power of the PI Zero is all it would really need. But adding a touchscreen to the Pi Zero has been proving to be too complicated just in how that would even work physically so I am inclined to think that just getting a Zynthian v5 kit might be the way to go instead.
(later edit) I mentioned only re-routing MIDI messages between real physical devices I have, but if the Zynthian can also provide some virtual instruments to add to all this on some songs, that might be great too. One gap in the sounds that the keyboards I have can provide is that they really can’t do a Mellotron. So maybe the Zynthian v5 could help fill in there with a virtual Mellotron. Maybe as a soundfont.
take some raspberry pi 4 or 400 and plug in with your Tascam Model 12 by usb as sound card. Add some small HDMI display /or big/. On the sd card burn image of zynthian a put to rpi and start it. You will then have your original Zynthian through which you will be able to record (multichannel) If you don’t have a way to replace the encoders with a midi controller, then get a monitor with a touch display.
Set your 6 keyboard controllers to each transmit on their individual midi channel. Then, using the program changies on channel 16, you can control the redirection of midi channels to individual zynthian synth chains using the SubSnapShots mechanism. More is on Zynthian UI User Guide - V1/V4 - ZynthianWiki
here, the way would probably be to go with some lv2 plugin that would receive, for example, the program change command and would send sysex. All I could find quickly was this:
this plugin was made for the MOD ecosystem, but may be of some use outside of that application. It is a mini MIDI message maker. Simply compose a midi message and enable it and it will send out the message. It also sends a message whenever you change values so you can use it to control midi CCs for example. It can compose and send sysex type messages, but not practical ones.
MSGTYPE - note on/off, CC, PG, poly pressure, channel pressure, pitchbend
CHAN - channel 0-15
NOTECCPG - note, CC, or PG number
VALUE - value for CCs, pressure, pitchbend, and velocity for notes, ignored for PG
DELAY - send a message N milliseconds after the plugin is first created
AUTOFF - automatically send note-off messages when the enable is turned off and in note-on mode (makes mindi a practical one note trigger)
MOMENT - button to send a midi message with MOMENTARYVALUE when pressed and a second message with VALUE when released (which will be a note-off message when AUTOFF is used to turn off note-on messages)
This can be realized using one Snapshot for the entire performance, when it is loaded at the beginning, which takes a long time, and during the concert, the presets of individual synth chains are changed using subsnapshot. which is faster.
More on Zynthian UI User Guide - V1/V4 - ZynthianWiki
and also a lot of it is here in the discourse
When I said patches there, I meant patches for my real physical external gear, which would have to be sent out as SysEx messages. Although having one of the instruments be something virtual on the Zynthian would also be nice to have as an option.
Connecting the Tascam Model 12 to be the soundcard for the Zynthian device might be the best way to get audio from the Zynthian device to the mixer. I hadn’t thought of that: I had been assuming that it would just use analog for that. It would probably take up one of the stereo channels on the mixer but doing the connection with digital audio over USB would help eliminate interference.
I am strongly inclined for the Tascam to come after the Zynthian and not before in terms of where audio goes because I want to be able to use the multitrack recording feature on the Tascam to capture everything.
Reporting back: Changing the audio did get me past that screen!! Will resume following setup instructions from where I left off after this. Thanks!
I will look into trying to change the MIDI channels on the Refaces but if it fails to remember the channel setting and requires a complex setup to change off channel 1 every single time the device is powered on, then that’d be no good. I couldn’t rely on that.
Still have those other questions about presets for external gear as SysEx messages.
It’s not possible on Zynthian right now, as @jofemodo wrote about it.
The only device I could imagine that would send sysex messages is a BomeBox with the running Translator patch. They could also fix the #1 channel issue on all Yamaha refaces after powering up.
Well I’m a programmer myself. Maybe I could write it and send the PR?
But I would need some help getting started. Like first figuring out what this should even be. (A plugin? What kind of plugin? Or a whole new app? Zynthian can be set up to launch external apps somehow right?)
The boss is @jofemodo so discuss it with him, he can direct you to the right place.
Zynthian uses lv2 plugins that can you enabled in webconfig (only a few are enabled by default)
see on http://zynthian.local/sw-jalv-lv2
Just FYI: What I currently use for sorting through all the thousands of presets from the Yamaha Reface DX Legacy Project is Windows Explorer plus a simple little FOSS app called Sysex-Drop. https://github.com/sourcebox/sysex-drop
It’s just one quick drag-and-drop from the Windows Explorer window into the Sysex Drop window on the PC and the Reface DX is ready to try out that preset. That might prove to be the best way to sort through presets permanently. But of course that’s for choosing presets. I can’t have the PC involved when trying to load up the next song when playing live. That’s why I’m looking into some kind of smaller raspberry pi based device I can hack. Being able to also sort through presets on the device without the PC would be just a bonus.
Thanks. And according to that video from earlier, it sounds like the newer firmware on the Reface keyboards can actually remember what MIDI channel they are set to be on, just the transfer and receive channels are set separately. I’ll need to upgrade the firmware and then try that. Should simplify things!
So we could focus in the SysEx transmiter. You can be sure it will be implemented in the next few weeks.
Are you going to use SysEx for all refaces, or perhaps you will be using bank/program change for some of them?
I’m conceiving the “Zynthian External Synth” controller that would allow to manage SysEx presets library and send it to external devices (synths). It would work like a “normal” zynthian engine, so it would be fully integrated with snapshots and ZS3 system, so you will enjoy fast recall (ZS3) of complex configurations that could involve re-routing and sysex sending. This will be implemented in the next weeks.
Regarding having all the reface devices in the same channel, it’s already solved, so don’t be worried about it. Current testing version is already capable of routing MIDI from any controllers in any channel to any device (synth) in any channel, including having all receiving synths in the same channel. And it’s super easy
Someone else has probably said this already, but just to be sure you’re aware, the headphone jack on the Pi is basically about 12 bit audio, kludged out using PWM instead of a proper DAC. It is, in a word, terrible. Suitable as monitor headphones once you’re doing sophisticated audio chaining, maybe.
Only point being, don’t judge the quality of any sound of the synth based on that jack; an official kit has very good quality hardware, as do all the HifiBerry devices, which are quite affordable, if you get the urge to diy some extra units. You also have the option to plug in a USB interface, which will be as good as the interface is.