Navigate the ui with piano touch and export midi by usb

Thanks you for taking time.
For the USB midi out, i couldn’t because i have juste a simple raspberry with only a waveshare screen.
But it’s not primordial.

For the MIDI CUIA, i’m not sure to understand.
In the midi option menu, master midi bank is set to 16.

Heres my midi filter rules :
MAP CH#0 NON#11 => CH#15 NON#53
MAP CH#0 NON#9 => CH#15 NON#52
MAP CH#0 NON#10 => CH#15 NON#51
MAP CH#0 NON#12 => CH#15 NON#65
MAP CH#0 NON#13 => CH#15 NON#67

The 5 left key on my 88 keys piano must do in order SELECT, SELECT_UP, SELECT_DOWN, SWITCH_SELECT_SHORT, SWITCH_SELECT_LONG.
It’s not working…

Two others question :
With my waveshare sreen, i have a cursor. In the UI options the case “Enable cursor” is not check.
And when i shut down raspberry, the screen is the screen stays on. Is it normal?

Bonjour Boc… si ce que tu veux, c’est piloter ta tablette à partir de ton piano USB, il te faut juste un câble OTG…
Piano 》 cable USB 》 cable OTG 》tablette

Salut Opus,
Piloter ma tablette, pour utiliser SImply Piano et Synthesia par exemple, j’y arrive déja en branchant le piano en usb sur la tablette, sans câble OTG d’ailleur. Le truc c’est que maintenant la sortie usb du piano est branchée sur la zynthian box. Ce n’est pas dramatique mais quand je voudrais utiliser la tablette je devrais débrancher la zynthian box.

Hi Opus,
Driving my tablet, to use SImply Piano and Synthesia for example, I already get there by plugging the piano into USB on the tablet, without OTG cable from elsewhere. The thing is that now the usb output of the piano is plugged into the zynthian box. It’s not dramatic but when I want to use the tablet I should unplug the zynthian box.

Hi @jofemodo , regarding midi CUIA i was trying to map my Novation Impulse as @Micki did (but still without using dremel :grin: ) But i’m experiencing mismatches: list reported on zynthian wiki is old? i would create a Novation Impulse Template working with any zynthian attached, so would not change on mine but would followi official mapping…

1 Like

I personally think so. I also went to do some mapping, and I was getting mismatches. See this post for more.

1 Like

/zynthian/zythian-ui/zynthian_gui.py from memory. . .

2 Likes

ok, now a pair of questions:

  1. why “BACK” switches are mapped backwards (64-63-62)

and “LAYER” switches are mapped back and forth (60-61-59) :rofl: ?

  1. To be sure not to make mistakes, on Impulse i’m assigning absolute note codes to buttons, not trying from keyboard, who could be transposed and so could mismatching notes.
    The result is always an octave down. Actually on wiki the zynthian note number table has 4th octave marked bold. Assuming it’s a choice to have different center octave from others, but note number should be the absolutely the same… don’t understand :thinking:

anyway yes, CUIA midi list on wiki is outdated.

Going logical, CUIA mapping related to encoders should be strictly sequential.
like this:
(except for “select”, who has priority on up-down selection despite others)
“51”: “SELECT”,
“52”: “SELECT_UP”,
“53”: “SELECT_DOWN”,

“59”: “SWITCH_LAYER_SHORT”,
“60”: “SWITCH_LAYER_BOLD”,
“61”: “SWITCH_LAYER_LONG”,

	 "62": "SWITCH_BACK_SHORT", 
	"63": "SWITCH_BACK_BOLD",
	"64": "SWITCH_BACK_LONG",
	
"65": "SWITCH_SNAPSHOT_SHORT",
	"66": "SWITCH_SNAPSHOT_BOLD",
	"67": "SWITCH_SNAPSHOT_LONG"

“71”: “SWITCH_SELECT_SHORT”,
“72”: “SWITCH_SELECT_BOLD”,
“73”: “SWITCH_SELECT_LONG”,

@Micki would forgive me… this could mess up your mappings :roll_eyes:

I have solde map problem :
MAP NON#23 => CH#15 NON#53
I was 1 octave out of my piano, and i have removed CH#0. I have also uncheck Single Channel Mode.

Can someone tell me if your screen stays on if you power off raspberry by the UI?

I can’t remember exactly why i use this bizarre mapping. I suppose i was using my keyboard for testing and i thought that this was better, although currently i don’t see much sense, apart from having short select aside short back…

I have no problem with changing this, but i don’t want to cause headaches to people currently using this mapping and to be honest, i don’t think the order is really important in this case.

Regarding the wiki, i just updated the list :wink:

Regards!

2 Likes

Impulse Note Names are 1 octave deeper. C3 instead of C4.
KeyNo 71 has to be B4 (B3 on Impulse) and not B5

yes, actually me too just finished mapping with this setup shifted 1 octave down :grin:

The question of shifted octave: Now i read there are 2 standards:
c3=60 and c4=60 oook… after 30 years of digital music approach i discovered it now :rofl: :laughing:

Zynthian= C4=60
Novation=C3=60

Anyway: i think CUIA it’s one of most wonderful options implemented in zynthian.
Is there a way to use it with CC ?
for example for audio/midi recorder would be useful instead of wasting keys or pads. there are transport buttons available on most keyboard controllers, but obviously their custom mappings are fixed to specified CCs.(at least on Impulse…)

kindly warm regards :slight_smile:

The zynthian has a "midi-learn-"function. You can adress the most controllers to CC-Numbers.
Then you can edit the Impulse-controllers to that numbers.
The Zynthian has a Audio- and Midi-Recorder-function. You can Midirecord all commands comming from the Impulse.

Hi Jose,
please update the key 71. Its not B5, its B4!
And perhaps you can notice, that the Impulse has another kind to count (1 octave deeper)
keep healthy

Yes Micki I know it. But my goal would be to map transport buttons to audio or midi recorder instead of wasting drum pads or keys. Transport controls on impulse can be set in MMC or cc mode, but their parameters are read-only. (And maybe wouldn’t be editable as note numbers) for this Reason asked about using cuia with cc instead of notes. From rewind to record button they cover cc112>117. If there was a way to adapt cc numbers to audio-midi recorder section using Zynthian ui script… Would give a try (even if not familiar with python)

[EDIT]
In theory the option “system message” on midi options should satisfy use of transport protocol, but for a reason i don’t know i noticed it works with DAWs only…

I think that was probably me !
The original concept was driving the GUI interface entirely from a MIDI keyboard, as you could pretty much guarantee they might be available. The keys where mapped so the select or back,or its nearest equivalent sat under the thumbs . . .

MIDI GUI Control.

You make me look at the Motor61 Transport buttons in light of this. :smiley:

And pushing the buttons from left to right, twice each, produces

zynthian-ceed.local is on MIDI Channel 3

So we have:
Control 115 << 127 on each press Rewind
Control 116 >> 127 on each press Fast Forward
Control 117 [ ] 127 on each Press Stop (red Square)
Control 118 > 127 on each press Play
Control 120 @ alternates 0 (Not Lit) ,127(Lit) Loop
Control 119 O alternates 0 (Not Lit), 127 ( Lit) Record.

1 Like

cute,ah? :rofl:
Anyway, midi filter mapping on webconf should do the trick, routing uneditable CC to note numbers corresponding tu CUIA but… master channel seems to be protected. if i set ch#16 (my actual master channel) nothing happens. and if i set ch 16 in wizard, the result is #ch15 . is it normal?

Chipping in as I have an impulse, and while i don’t have a solution for this without changing zynthian itself, I can share the idea I’d prefer to use:

  • zynthian ‘transport functions’ (rec/play/pause of audio and midi) could be remapped to whatever CC codes an instrument uses (as stated, at least the impulse has them hard coded, so can’t use MIDI learning for it)
  • the 8 knobs in the Impulse can be MIDI-taught. But it would be great if we could map those to the 4 zynthian knobs main function - maybe using channel 16 for that.
  • we have 8 (+1 for master) assignable buttons+sliders and 8 pads on the impulse. While we could map 4*3 buttons/pads to get the equivalent functionality of the zynthians short/medium/long presses, it would be great if the same MIDI CC could achieve the three presses based on durations.

I’ve been reading these forums a lot, and I don’t think these are possible - but does anyone knows if there’s a technical reason, or is it just because nobody has shown interest for it?

Finally - I’ve been using a nanokontroller2, just because it’s easier to map all those 4*3 zynthian push button functions, and the transport buttons are assignable in that one. But I’d love to have everything in just the impulse, one day!

@ivanmonterosso suggested using midi filter mapping - I’ve never tried, maybe some of the above are already possible. Will report after trying that! Thanks

hi edgar, actually i mapped CUIA related to encoders action exactly on those buttons instead of drumpads (they accept note number, surprise!! ) decided to map just some of switches (ignored some bold-long) but enough to control a touch-only zynthian.


These can be enough.
Regarding zynthian knobs, actually just one is important for UI navigation: select knob.
As you can see, a special select knob emulation exists (value up/down) not useful in others.
The others are mainly used on instruments and that stuff is completely midi cc assignable, so impulse knobs know their job very well :smirk:.
Seriously, Midi filter works. but not on master channel. doing a scan with midi log, discovered channel 16 is totally masked…by now i tested other channels and works… play button now plays a note on synth over channel 1 :laughing:

1 Like

honestly, i can tell you after having tried all day (we have too much time, at the moment… ) , having a bold/long press coded in a simple one is not as terrible as i would expect…

I noticed it’s important to map short/bold select and short/bold snapshot, absolutely. One for layer post-editing, the second for load/save snapshot page, you can reach only with bold press.

Short/bold Layer are second in priority, but serves layer switching and it’s somewhat important in single layer setups.
Back switch can stay single.

I’ve not played in this area in a while. I will see if I can get The Motor61 controlling the expected behaviour for the Audio Recorder. ( Not sure how to do the MIDI recorder control except via a change of MIDI environment using MIDI Profiles).

These don’t seem to be standard MIDI Machine control codes, presumably Behringer has just kept it simple and highjacked some of the undefineds.

119 Would Toggle Audio Record
118 Would Restart Play of current selected audio from Start.
120 would Start Loop Play.

Controlled from the MIDI channel 2 ( Channel 3 in the Human world)
But it seems to do something!!!
No MIDI Rules …
The Play and stop buttons function as expected, but repeated presses of stop produce .
ERROR STOPPING MIDI PLAY
‘NoneType’ object has no attribute ‘pid’

Interestingly it also controls zynthian-touch.local as well across QMIDInet :smiley: