# Navigate the ui with piano touch and export midi by usb

**URL:** <https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954>\
**Category:** Using Zynthian\
**Created:** [March 26, 2020, 5:49pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954 "2020-03-26T17:49:47Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![ivanmonterosso](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ivanmonterosso/32/503_2.png) [@ivanmonterosso](https://discourse.zynthian.org/u/ivanmonterosso)\
**Post date:** [March 28, 2020, 4:47pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/21 "2020-03-28T16:47:14Z")

</div>

> [@edgargoncalves](#):
>
> it would be great if the same MIDI CC could achieve the three presses based on durations.

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.

---

<div class="post-metadata">

**Author:** ![wyleu](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/wyleu/32/514_2.png) [@wyleu](https://discourse.zynthian.org/u/wyleu)\
**Post date:** [March 28, 2020, 4:52pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/22 "2020-03-28T16:52:18Z")

</div>

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 😃

---

<div class="post-metadata">

**Author:** ![edgargoncalves](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/edgargoncalves/32/1778_2.png) [@edgargoncalves](https://discourse.zynthian.org/u/edgargoncalves)\
**Post date:** [March 28, 2020, 5:00pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/23 "2020-03-28T17:00:16Z")

</div>

That’s quite valid! I confess I was just going for a future-proof feature mapping (zynthian encoders - impulse knobs/buttons), but it is true, i don’t use more than 6 buttons on “daily” use. It’s just that I’ll always have that feeling that there’s something possible with the software that I can’t really access that easily 🙂

---

<div class="post-metadata">

**Author:** ![edgargoncalves](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/edgargoncalves/32/1778_2.png) [@edgargoncalves](https://discourse.zynthian.org/u/edgargoncalves)\
**Post date:** [March 28, 2020, 5:05pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/24 "2020-03-28T17:05:32Z")

</div>

> we have too much time, at the moment

Silver linings, huh? 🙂

I wouldn’t say it’s a top priority, at least for the impulse - there’s buttons/pads aplenty. But I do second that I use snapshot/select bold/short presses more than the layer/back ones. That said, I’m definitely not as frequent a player as others here, so use cases may differ!

---

<div class="post-metadata">

**Author:** ![wyleu](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/wyleu/32/514_2.png) [@wyleu](https://discourse.zynthian.org/u/wyleu)\
**Post date:** [March 28, 2020, 5:08pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/25 "2020-03-28T17:08:08Z")

</div>

> [@edgargoncalves](#):
>
> 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?

Don’t remember any discussion about it. I think that would have been the original concept, as I was thinking of how to work entirely without encoders, and I think we added mouse control ( Well turned the cursor on anyway) so I started to use that as my GUI control, so would have moved on to that, then we got into using GPIO pins to allow selection of functions, then we got involved in Keyboard over USB as that was the easiest way of adding nicely formatted controllers ( I use foot swithes that behave like ASCII keyboards), an so the concepts got implemented but possibly not refined.

---

<div class="post-metadata">

**Author:** ![edgargoncalves](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/edgargoncalves/32/1778_2.png) [@edgargoncalves](https://discourse.zynthian.org/u/edgargoncalves)\
**Post date:** [March 28, 2020, 5:17pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/26 "2020-03-28T17:17:21Z")

</div>

This is already a hugely customisable little beast, and it does so much more than I’ve been able to explore. But we’ll always find different use cases, specially if we have to reorganise space to accommodate office working that takes over the space previously used as a studio… Hence, trying to make do with less gadgets 🙂

Thanks for your input guys!

---

<div class="post-metadata">

**Author:** ![Micki](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/micki/32/3872_2.png) [@Micki](https://discourse.zynthian.org/u/Micki)\
**Post date:** [March 28, 2020, 6:51pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/27 "2020-03-28T18:51:47Z")

</div>

Hi Ivan,  
there are a lot of ideas for solving this problem.

I try to make a difference between editing and playing. With the impulse, we have 25 patches. So it is possible for me to use one for editi-purposes and the other for playing.

Now I am working on a playback-controller with an old R3. That will send all needed commands if it’s ready. (time is no question…)

another idea is to use the bulk-dump feature of the impulse. I think it could be possible to send and receive bulk dumps to the R3 and then we have uncountless patches.

But you are right. If we have transport-knobs, they should work like transport-knobs, with the possibility to change between audio and midi. I think that’s only a question of the time. And the guys here are the best 💐🌈

---

<div class="post-metadata">

**Author:** ![ivanmonterosso](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ivanmonterosso/32/503_2.png) [@ivanmonterosso](https://discourse.zynthian.org/u/ivanmonterosso)\
**Post date:** [March 28, 2020, 7:12pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/28 "2020-03-28T19:12:20Z")

</div>

> [@wyleu](#):
>
> These don’t seem to be standard MIDI Machine control codes,

On impulse it’s the only choice for transport buttons - MMC or CC. As expected, CCs are different between devices, but it’s fine.  
So, i don’t know if Midi filter totally excludes master channel for some reason… if it’s an issue, could be a lot easier doing routings for these buttons,. practically everything would be possible.

---

<div class="post-metadata">

**Author:** ![ivanmonterosso](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ivanmonterosso/32/503_2.png) [@ivanmonterosso](https://discourse.zynthian.org/u/ivanmonterosso)\
**Post date:** [March 28, 2020, 10:51pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/29 "2020-03-28T22:51:57Z")

</div>

> [@Micki](#):
>
> I try to make a difference between editing and playing

yes, two templates it’s the best deal. No doubts.  
R3? you mean the Korg R3? it’s soooo cute…

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [March 29, 2020, 1:47am UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/30 "2020-03-29T01:47:08Z")

</div>

Hi @wyleu!

> [@wyleu](#):
>
> 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.

You can change the behaviour of transport keys on the ROTOR. They can work in 3 different modes, being CC one of them. You also can use MIDI MMC and MIDI System Real-Time, the later is currently implemented (but quite untested) on zynthian. Simply change the MIDI transport mode from the ROTOR config menu and enable system messages on your zynthian.

Regards,

---

<div class="post-metadata">

**Author:** ![wyleu](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/wyleu/32/514_2.png) [@wyleu](https://discourse.zynthian.org/u/wyleu)\
**Post date:** [March 29, 2020, 7:03am UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/31 "2020-03-29T07:03:39Z")

</div>

Ahead a play in that menu but was a little bit confused by the clunky interface…

---

<div class="post-metadata">

**Author:** ![Micki](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/micki/32/3872_2.png) [@Micki](https://discourse.zynthian.org/u/Micki)\
**Post date:** [March 29, 2020, 11:14am UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/32 "2020-03-29T11:14:57Z")

</div>

No, Raspberry Pi 3B. As I realized that the R3 cannot play the pianotec sounds very good, the R4 was offered, with much better equipment. So I decided to make sounds with the R4.  
I have had a Morningstar M6 (wonderful piece). It was stolen …  
But now I have the time to program a little and learn new things. If it’s ready I think during the performance I can play with my hands at the keys and to control with my feet.  
But in the editing situation the impulse is unbeatable. 🤓👍🌈

---

<div class="post-metadata">

**Author:** ![ivanmonterosso](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ivanmonterosso/32/503_2.png) [@ivanmonterosso](https://discourse.zynthian.org/u/ivanmonterosso)\
**Post date:** [March 29, 2020, 8:34pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/33 "2020-03-29T20:34:07Z")

</div>

Hi @jofemodo, I tried to use MMC but Zynthian recorders don’t react. I saw it working from DAW accidentally, time ago. Regarding master channel masked on midi filter rules, maybe could be caused by this. I temporarily solved it mapping transport cuia on a different channel, but if MMC works, could be better.  
I encountered another issue with second zynthian (just rpi 4 and touchscreen) but will do a new topic

---

<div class="post-metadata">

**Author:** ![edgargoncalves](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/edgargoncalves/32/1778_2.png) [@edgargoncalves](https://discourse.zynthian.org/u/edgargoncalves)\
**Post date:** [March 30, 2020, 7:59am UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/34 "2020-03-30T07:59:49Z")

</div>

This is how I mapped the transport buttons on Novation Impulses (specifically select up/down, play audio, stop rec audio, stop all sounds and start record audio):  
MAP CC#112 =\> CH#15 NON#52  
MAP CC#113 =\> CH#15 NON#53  
MAP CC#114 =\> CH#15 NON#25  
MAP CC#115 =\> CH#15 NON#26  
MAP CC#116 =\> CH#15 NON#12  
MAP CC#117 =\> CH#15 NON#24

Impulse will send those CC on whatever channel the keyboard is pointing at, and Zynthian’s Master is set to 16 (the default). I don’t quite get why using a filter target channel of 15 works - but it does 🙂

One problem I see with the above is that these transport buttons show up in the MIDI log as having a value of 0 and 127 (equivalent to notes on and off). And so, Zynthian receives each command twice. This makes toggle commands pretty useless, as Zynthian reverts to the original state on the second CC. And as mentioned before in this thread, this is only an issue as Impulse’s transport buttons can only be swapped from MMC to CC, they can’t be set to single/toggle/step or configured for specific events and channels (as the other 9 buttons, sliders, 8 knobs and 8 pads can)  
That said, all the other commands seem to work fine for me (including the specific mappings above). One thing I’ve noticed - if you press Stop recording while it’s not recording, Zynthian shows an error message. But we can just wait 5 seconds and it goes away. Is it a bug or a feature?

---

<div class="post-metadata">

**Author:** ![mheidt](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/mheidt/32/773_2.png) [@mheidt](https://discourse.zynthian.org/u/mheidt)\
**Post date:** [March 30, 2020, 9:30am UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/35 "2020-03-30T09:30:56Z")

</div>

The midi filter rules are 0 based…like the MIDI protocol.  
Unfortunately in the 80s we had to save bits and bytes and couldn’t afford enough to neglect the 0.  
Actually the midi devices in the world should have educated the humans that 0 is a valid channel.  
Saying that…15 is 16

---

<div class="post-metadata">

**Author:** ![mheidt](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/mheidt/32/773_2.png) [@mheidt](https://discourse.zynthian.org/u/mheidt)\
**Post date:** [March 30, 2020, 9:34am UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/36 "2020-03-30T09:34:11Z")

</div>

But @jofemodo planned to change the rules to 1-16

---

<div class="post-metadata">

**Author:** ![edgargoncalves](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/edgargoncalves/32/1778_2.png) [@edgargoncalves](https://discourse.zynthian.org/u/edgargoncalves)\
**Post date:** [March 30, 2020, 9:39am UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/37 "2020-03-30T09:39:02Z")

</div>

Thanks for clearing that up @mheidt - I’m perfectly fine with 0-based indexing (specially if there’s a rationale for it, as it seems to be). It’s just I thought I had used a filter set up to channel 1 that received a controller’s events on channel 1, not on 2 - but I can’t replicate it now 😕 I did too many experiments, I think my mind played some tricks on me!

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [March 30, 2020, 6:26pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/38 "2020-03-30T18:26:51Z")

</div>

> [@edgargoncalves](#):
>
> One problem I see with the above is that these transport buttons show up in the MIDI log as having a value of 0 and 127 (equivalent to notes on and off). And so, Zynthian receives each command twice. This makes toggle commands pretty useless, as Zynthian reverts to the original state on the second CC.

Curious because zynthian should ignore system NOTE-ON messages with value 0:

> <https://github.com/zynthian/zynthian-ui/blob/527236f0cc8787735e45d249b2cca47f3987c0fd/zynthian_gui.py#L1117>

Is your software up-to-date?

Regards,

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [March 30, 2020, 6:33pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/39 "2020-03-30T18:33:41Z")

</div>

> [@ivanmonterosso](#):
>
> tried to use MMC but Zynthian recorders don’t react. I saw it working from DAW accidentally, time ago. Regarding master channel masked on midi filter rules, maybe could be caused by this. I temporarily solved it mapping transport cuia on a different channel, but if MMC works, could be better.

Hi @ivanmonterosso!

MMC messages are not supported by zynthian. Only System Real-Time messages are supported by now.

I didn’t express my thought correctly here:

> [@jofemodo](#):
>
> You can change the behaviour of transport keys on the ROTOR. They can work in 3 different modes, being CC one of them. You also can use MIDI MMC and MIDI System Real-Time, the later is currently implemented (but quite untested) on zynthian.

It’s the ROTOR that supports the 3 modes (CC, MMC & System Real Time).

To be clear, for transport control Zynthian currently supports:

- System Real-Time messages
- NOTE messages, that can be mapped to CC with MIDI filter rules

Regards,

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [March 30, 2020, 6:51pm UTC](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954/40 "2020-03-30T18:51:45Z")

</div>

BTW, I fixed the MIDI filter for allowing to MAP/IGNORE Master Channel and Program Change messages, so you can now re-map all the Master Channel messages (CUIA notes, etc.) to whatever you like (this doesn’t include SysEx messages like MMC, etc.)

Simply update and enjoy! ;-9

[Previous page](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954.md?page=1)

[Next page](https://discourse.zynthian.org/t/navigate-the-ui-with-piano-touch-and-export-midi-by-usb/3954.md?page=3)
