Newbie Hardware Questions

Hi,

I stumbled across Zynthian whilst searching for something else, glad I did, what an awesome project, thanks for all your efforts.

I’m new to Zynthian, but not new to Linux, ARM, basic electronics, dremeling project boxes etc. I think your “standard” hardware platform is a very good idea, but, I’m always on a budget these days, so looking at ways to keep my costs down. So, hackable, great for me !

After reading up a little, I just wanted to clarify a few things hardware related, apologies if this has been asked before …

  1. Can I use HDMI/VGA/Composite video for the display ? From reading the forum It seems probably just a case of switching frame buffer and editing settings files ?

1a. With a touchscreen display, are rotary encoders still required ?

1b. Zynthian headless with xRDP ?

  1. USB sound / USB MIDI card or adapter ? From what I’ve read the worry here is latency issues, but, anyone tried it, and what was conclusion ?

  2. MIDI over ip, is it possible with things like MIDIrtp and the open source versions of Apple MIDI ?

  3. Given Zynthian runs on Raspbian, a Debian derivative, then is it possible to run on other ARM boards, eg Banana PI, Beaglebone, Odroid Etc. on Debian And what about Intel/AMD PC motherboards (which probably has sound card built in already).

  4. Given that GPIOs could be freed with HDMI/VGA/Composite display, and maybe sound card moved to USB, then would it be possible to hack/change the 2in1 to a 1in1 that just does MIDI in, or maybe even MIDI IN/Thru/Out ?

Thanks for your help.

Hi @DonCharisma!

Welcome to Zynthian’s community! :wink:

Yes. Currently you can do it, but it’s not the “official” way, so you have to invent a little bit and change some config files, etc. Read the related topics , please :wink:

No. But you will lost some features, like the X-Y pad controller.

If you like xRDP, yes. But it’s not really needed for getting a remote display. You don’t need a full desktop environment, only the Zynthian GUI window, so i think you can use the native remote display features from the X protocol.

You can use it, but you will have to modify the config files. As far as i know, nobody is using this right now.

Of course. Everything is possible but currently there is not a working version of MIDIrtp for linux, only the “Scenic” implementation. Perhaps you would like to try this:

https://qmidinet.sourceforge.io/

Of course, but nobody has reported a success with it until now. You could be the first one :wink:

Of course. You are very welcome to do it. It’s not a difficult task.

And that’s all by now. I will be looking forward to hear of your Zynthian experiments very soon! :wink:

Kind Regards!

Hi @jofemodo

Thanks for super quick response.

I’m just getting started with Zynthian and what I want to do musically, so I imagine as I put my Zynthian system together, I’ll learn more about what I need/want and don’t need/don’t want … so I’ll take a best guess on hardware, and work it out from there.

I had been looking around at Korg/Roland modular synths, but, realistically, at the moment I can’t justify the expense for a hobby.

Totally understand you guys having an officially supported platform, makes developing the code easier/faster for mainline release, and also puts Zynthian in the hands of people who don’t have hands on skills via your kits - I wouldn’t want to see it any other way :slight_smile:

Wasn’t aware of the Linux limitation with MIDI-over-ip, thanks for highlighting, I’ll do more research for sure.

Headless - I’m not tied to xRDP, so if there’s a way to do it, I can figure the rest out.

Probably I’ll go for RPI hardware with a DAC board to start with, composite video display is looking very economical right now, MIDI “to be advised” will either duplicate your circuit on stripboard or one of the arduino circuits ones I’ve seen around for MIDI, and have USB MIDI cable on standby. Once I have it working, and understand the environment, I can experiment with PC motherboards or other ARM boards.

Perhaps I will be the first to Intel/AMD’ify it, who knows … I’ll try and report back with progress over the next few months.

Thanks for your time and help, it’s appreciated. And thanks once again for putting the project together for us, great work.

Hi @jofemodo

I’ve ordered most of the major components, so a quick update, before I forget …

It seems that most of the sounds cards (IQ / HIFiBerry / Etc) are based on Texas Instruments/Burr Brown, either the 5122 or 5102 chips. I’ve order a IQAudio PI-DAC Zero, based on cost/availability (TI/BB 5122). I did really like the look of the Audio Injector card - good price, Wolfson DAC, Audio in and out, but sadly wasn’t able to source one right now, maybe later.

samplerbox.org for USB sound card recommend PCM2704, which are dirt cheap, so I’ve ordered one of those well as an experiment.

I intend to build the MIDI IN/OUT/THRU circuit from your github in hw section, so ordering parts for that.

Rotary encoders, I’ve ordered generic ones, will try with the two ceramic capacitors as per your circuit, fingers crossed.

Screen wise I have a cheap 7" HDMI and a 4.3" composite on order. Will try both and see what works best.

RPI 3 will be the mainboard to start with.

Case wise will probably be a generic project box with some drilling and dremelling. I’ve ordered a Brother label printer with “White on clear” tape to label ports/knobs etc.

Only have one more question right now - Obviously I understand the limitations (512MB RAM, no built in network, USB limited, etc), but - Is Zynthian possible on RPI Zero ?

Thanks again :smiley:

Hi @DonCharisma!

In the single controller PCB there are 3 capacitor, but normally i only use one of them (c1=100nF), for the switch. The other 2 are for the encoder pins, but it should be smaller. I tryed with 100nF but it doesn’t work. Many pulses are lost with this value when you move the encoder fast. Perhaps 10nF could work better, but i haven’t tried yet.

I’m finishing a lasser cutter design just now. I will upload the schemes to the “case” repository very soon. Perhaps you want to try this too :wink:

It should work without big problems. Of course, less CPU means less polyphony with some presets, but for some use cases could be fine. Try it!! :wink:

Kind Regards

@jofemodo thanks for info.

Some circuits for rotary encoders call for resistors, some caps, my basic understanding is that caps/resistors being used to try to “clean” the signal in advance of hitting GPIO pins. Thanks for advice, looks like I’m building circuit on breadboard and testing first, then, soldering later :wink:

Thanks for making the laser cut designs available, will take a look, and see what’s involved in getting it cut locally in Asia.

I managed to get a couple of RPI zeros in UK, so can experiment, thanks for clarifying as I have no experience with how Zynthian software works yet.

@DonCharisma – I used the onboard RPi sound card and a USB to MIDI adapter. When I upped my Jack2 settings to where stuff sounded decent through headphones, I noticed about a 300-500ms delay. Enough to throw me off as a keyboard player.

I’m honestly not sure if the latency was because of the crappy on board bcm for RPi 3 or if it was because of my USB to MIDI cable. I’m assuming the bcm, though, because I’ve used that cable for recording using Logic Pro on a Mac and it worked fine… the Mac was the clock source though, which may make the difference.

@programsam - thanks for reply :slight_smile:

Hard to know what’s causing the delay, if cable tested good elsewhere, then probably not the cable itself. Was the USB-MIDI connected direct to RPI, or was the Mac sending MIDI to RPI ?

Should be fairly easy if USB-MIDI connected directly to RPI, to sniff the MIDI data and throw it out onto a display. Then pressing the notes vs them appearing on the display might rule out that issue ?

Also, found this on web regarding the RPI “built in sound” :

“While you can get ALSA working on the Raspberry Pi, it appears only partly supported, maybe buggy, and poorly documented. If you just want to simply get sound out of the device (like I do), you’ll be fine. But if you have some desire to do some sound processing with ALSA, your likely to be very frustrated.”

Source - https://jeffskinnerbox.wordpress.com/2012/11/15/getting-audio-out-working-on-the-raspberry-pi/

Dunno if things have improved with RPI 3, or the 5 years since article was written, but could easily be (as you suggest) the built in sound …

And yes, totally, latency for live stuff is going to be deal breaker. For sequenced music, I imagine it’s a headache to resync.

PS, I found some info here about “low-latency audio” on RPI :

http://wiki.linuxaudio.org/wiki/raspberrypi

Seems there’s quite a lot of factors involved, but might help in debugging the latency issue :slight_smile:

Most of the tweaks are already done for Zynthian :wink:

Hi @programsam!

The onboard RBPi soundcard is not suitable at all. It’s PWM based (no DAC!) and only 10 bits of resolution. Also, it has a huge latency. Forget getting a decent result with it. You have to use a decent soundcard (with a DAC!) for RBPi.

Regards!

Hahaha. Yeah, @jofemodo is totally right. I only used the onboard sound card because I was desperately wanting to hear samples and don’t have a DAC yet (he’s graciously building me a Zynthian Box for some Euros :wink: )

I used alsa_seq to test the MIDI input from my USB MIDI cable and it prints out the midi events pretty immediately when I push a key–I’m thinking it’s the onboard BCM soundcard that is causing my latency issues.

Sorry I couldn’t be more help :frowning: