Midi to USB Converter


Today I testet first time my Zynthian. I have two issues i do not find a solution.

  1. When I do the audio test, the sound is very silent. I connected the HifiBerry DAC+ to my amp via chinch. The volume in web config is set to 100%

  2. i have a piano with midi out and a MIDI to USB Converter. This one: https://fr.audiofanzine.com/interface-midi/swissonic/MIDI-USB-1X1/
    Do I have to configure anything in Zynthian for it to work? The midi test doesn’t work.

  1. Hi, try alsamixer in commandline via ssh.Sometimes is restart needed after setup (for example with audioinjector card)
  2. I thing you needn’t so.


Thank you Kiron. I set the volumen in web config to another value as 100% restarted and set it back to 100%. Now it works.

Also my midi usb converter is working now.


Okay, I’d like to revise my statement. Today I started the zynthian and had the same problem. Volume very low and Midi didn’t work at all. Changing the volume in Web Config didn’t work this time.

How can I try alsamixer via ssh. I have ssh but what is the command for alsamixer? Is there a way to do this automaticaly? I would like to start the synthesizer and get started right away.


If you are using the official Gorgona Omega SD image and HifiBerry DAC+, you shouldn’t need to change anything on alsamixer. I regularly mount zynthians with HB DAC+ and never have a problem like this. Audio output from HB DAC+ should be OK out-the-box.

If you have a “low level” problem with DAC+ and Gorgona Omega SD image, probably you have some kind of “hardware” problem. I would check everything, specially the connectors, cables, etc.

Of course, sorry, i suppose you know that HB output is a line-out … almost no power on it. You can not use it directly for headphones, etc.



I’m using it as a line out connected to my amp. So I think I have to check the hardware. But what could be the problem? I can hear the sound very silent. And the line out is directly connected to the HB DAC+.

Does it make sense to check all the GPIO contacts? How does the signal comes from the raspberry pi to the HB DAC+? Should be a digital signal, shouldn’t it? So if I hear the sound silent the signal should be received from the HB DAC+.


No, the sound is going out from the Sound Card.


But if you have Audio Injector, you need to unmute Master Hifi Output in Alsamixer.


I had to do that as well.initially. I added a line of code on the webconf years ago which does that when you change your sound decvice to audio injector. Not sure if you triggered that line of code…


what is Audio Injector? Is it a soundcard? I have the standard Kit2 with Hifiberry DAC+ and 5" waveshare Display.

My Alsamixer Setup looks like this:

And this are my Audio Settings in WebConf (default, nothing changed)


Checked all the GPIO connections => ok
Changed the audio cable.
And i flashed the sd card with gorgona omega again. Still the same issue.

What else could be the problem?


I will disassemble everything again today and then only operate the raspberry pi with the HB DAC+. Without ribbon cable and all-in-one board and display. Can anyone tell me commands for the console over putty that can be used for testing? Can I play the test-mp3 file over console?


The first thing you will have to do is stop the various zynthian services that systemd starts up and will restart if they go down…

so Putty onto the zynth as root

systemctl stop zynthian

will stop the zynthian stack from running…

cd /zynthian/
cd zynthian-ui # the user interface directory . . .

python3 zynthian_gui.py

will restart the User INterface but has the ‘advantage’ that the Putty terminal will display the output details. VERY useful for fault finding…

Also do make sure that the webconf settings are relevant for the setup when you start,
If you have no encoders then Hardware set to Dummies . . etc

That should, at least, allow you to get some idea of where the problems lie. Oh and don’t plug two MIDI USB devices into it on start up . There is a long running linux issue with allocation that confuses the hell out of the zynthin startup :frowning:


ok, if I understand right I will do the following

  • Disasamble everything

  • Put the HB DAC+ direct on the raspberry Pi

  • Start the raspberry and change the settings in Web Config to dummy-devices.

  • Then I restart again to save this changes.

  • Start Putty and type into console:

    cd /zynthian/
    cd zynthian-ui #
    python3 zynthian_gui.py

And then I can choose the audio-test over the UI displayed in Putty?


Yep. It makes more sense to do rather than describe.


ok it doesn’t work. I startet raspberry pi3b+ with HB DAC+ and the Gorgona omega image, changed in web config the wiring to dummies ant connected wie ethernet and putty.

Then i typed and get the following:

root@zynthian:~# systemctl stop zynthian
root@zynthian:~# cd /zynthian/
root@zynthian:/zynthian# cd zynthian-ui
root@zynthian:/zynthian/zynthian-ui# python3 zynthian_gui.py
Traceback (most recent call last):
File “zynthian_gui.py”, line 39, in
import zynautoconnect
File “/zynthian/zynthian-ui/zynautoconnect/init.py”, line 5, in
from zynautoconnect.zynthian_autoconnect import *
File “/zynthian/zynthian-ui/zynautoconnect/zynthian_autoconnect.py”, line 34, in
from zyngui import zynthian_gui_config
File “/zynthian/zynthian-ui/zyngui/init.py”, line 22, in
import zyngui.zynthian_gui_config as zynthian_gui_config
File “/zynthian/zynthian-ui/zyngui/zynthian_gui_config.py”, line 288, in
top = tkinter.Tk()
File “/usr/lib/python3.4/tkinter/init.py”, line 1854, in init
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

I can not see a UI via putty


First can you see the webconf if you point a browser at it ?
You can use zynthian.local in the browser (it sometimes works in Windows :frowning: ) or use the iP address, since you have got on via PUtty I’m assuming you know your IP address (if not type ipconfig on the Putty command line)

Have a look at the display settings, are they correct?


It’s on.
I plugged in the display and selected it in Web Config. After that it worked with the Putty.

The test without the All-in-One board was positive. The audio test worked.

After plugging in the All-In-One board, the sound was quiet again. I soldered all solder points again.

The next test with All-In-One Board WITHOUT Encoder, Midi, and Jack Connector was positive again and I sounded ok.

Then I connected Encoder, Midi and Jack connector one after the other. When connecting the jack connector the sound was quiet again.

But without Jack-Connector it works in any case :slight_smile: The wiring of the Jack-Connector will be checked again this weekend.

What I still have for a problem is that the Zynthian sometimes crashes when I do something at encoder 4. I use the KY-040 encoders without resistors and capacitors. I suspect that it might be a problem that I don’t use capacitors. I will also solder and test the 10nF and 100nF capacitors this weekend.


I lost all my KY-040 credibility with the “just don’t connect the +5V pin”

But I use purest zynthian encoders . . . :face_with_monocle::face_with_monocle::innocent:


I’ll try to build here another Zynthian, takes some time, but this time i don’t remove KY-040 resistors, just connect +5V pin to Vcc. Maybe i add some capacitors too, but my current zynthian works without.
Generally looks like KY-040 is better suited for interfacing with TTL logic circuits thanks to Arduino background.

Don’t be frustated about KY-040-s and your recommendation, those 10k pullups interfere with MCP23017 internal 100k pullups in a puzzling way. But everything takes place, when you think about Ohm and Kirchoff’s laws. I’ll try to explain.

|----(A)-/ ------|---------------------------O----[=100k=]---- +5V internal
| . . . . . . . . . .|----[=10k=]-----|
|–> GND . . … . . . . . . . . . . . |
| . . . . . . . . . .|----[=10k=]-----|
|----(B)-/ ------|---------------------------O----[=100k=]---- +5V internal

O-s on schematics are MCP23017 input pins, left side is encoder, right side is extender. Now if you look at encoder output signals, then A and B overlaps. Which effectively means that at some moments current flows back to another input via 10k encoder resistors (summarily 20k vs 100k). This may be enough to confuse extender interrupt logic (INTx when pin state changes).

Update: Still can’t draw right schematics in a way that web based editor don’t change my graphics. Schematics is wrong - those 10k pullups are connected together and tied to encoder +5V pin, resistor other end is connected to A and B encoder output. Huh, i’ll try to correct my drawing, takes some time.

Update 2: Now schematics is correct. replace dot’s ( ‘.’ ) with spaces. Don’t know, how to add multiple spaces without that damn nice automatic reformatting. :slight_smile: