News:

PsrStyles.com
- Download Styles and Expansion Packs

Main Menu

Genos-Midi-External Controller

Started by vlbrgt, November 11, 2022, 07:51:02 AM

Previous topic - Next topic

vlbrgt

Hello,

Menu - Menu 2 - Midi - External Controller.
Strange that the MIDI Port and MIDI Ch are not saved into the MIDI settings.
Is that normal ? Is that a bug ?
Am I missing something ?

Regards
Etienne
If plan A doesn't work, don't forget that the alphabet has 25 more letters.
Volbragte@telenet.be
https://voetsoft.be
Genos

vanzee

Hello Etienne,

please take a look at the data list on page 92.
External Controller:
Midi Port & Channel are stored in
"Bacup Restore" & "System"
Best Regards
Eddy Vanzee

Michael Trigoboff

You might want to look at this post from pjd, which basically says that the External Controller page is a legacy item that is best avoided.

I wasted a ton of time trying to figure this page out before pjd kindly put me out of my misery.
retired software developer and Computer Science instructor
Grateful Deadhead emeritus

"He had decided to live forever or die in the attempt."
-- Joseph Heller, Catch-22

vlbrgt

Hi Michael,

I only use the external cpntroller from line CC#0/C#-1 up to the end.
Receiving these notes on the MIDI or USB port does activate the functions that are setup in the MIDI settings.
I never had any problem with this. It's a kind of MFC10 emulation.

The 'problem' I was talking about is that I use 2 different MIDI settings.
One does receive the notes on the MIDI B Ch16 and another receives the notes on USB1 Ch16.
The settings are saved under a different name.
But calling one of these settings does not change the USB Port neither the Receive Channel !!!
It keeps the last setting that was loaded.

The receive channel is always 16 for my setup (MIDI or USB), so that does not really matters.

Regards
Etienne
If plan A doesn't work, don't forget that the alphabet has 25 more letters.
Volbragte@telenet.be
https://voetsoft.be
Genos

Michael Trigoboff

Pjd would definitely know more about this than I do. But I think it might be possible for you to more easily (and in a more straightforward manner) accomplish whatever you want to do without using that External Controller page. That, at least, is how it has worked out for me.
retired software developer and Computer Science instructor
Grateful Deadhead emeritus

"He had decided to live forever or die in the attempt."
-- Joseph Heller, Catch-22

JeanLoop

Hello

It is true that the Midi config does not memorize the Midi port and the channel of 'External Controller'.
That said, I use the 'External Controller' configuration a lot.
What Pjd says about the MFC10 is wrong, unfortunately MFC10 it's no longer sold, but it's the most powerful foot controller I know.
I've had one for over 10 years and it still works perfectly. It is currently connected to my Genos.

The MFC 10 has 10 programmable switches and there are 100 banks which can memorize the programming of these 10 switches.
Each switch can independently send:
1) One note (Midi code 9n) with note number (0 to 127), Velocity On (1 to 127) and Velocity Off (0 to 127).
2) A Control Change (Midi Bn code) with CC number (0 to 127), switch value pressed (0 to 127), switch value released (0 to 127), an on/off toggle code.
3) A program change on a given channel with, and in addition to the code PC Midi code Cn , an optional MSb and an optional LSB.
4) A song selection code from 0 to 127 (midi code: F3)
5) A Midi Start (FA) code
6) A Midi continuation code (FB)
7) A Midi Stop code (FC)
It can also send a section control code (Intro, MainA, etc)
or a tempo control code. But I think these codes relate to old Yamaha arrangers (I have not tested them)

Each switch can send 4 Midi codes of the same category simultaneously (ex: 4 Control Change or 4 Notes or 4 Program Change, etc.)

The MFC 10 has an expression pedal, 4 other expression pedals can be connected to it.
Each of these 5 pedals can be programmed to send:
1) A continuous Control Change (Midi code Bn) with Max value (0 to 127), min value (0 to 127)
2) The after touch per channel (Midi Dn code) with Max value (0 to 127), min value (0 to 127)
3) The Pitch Bend (Midi En code) with Max value (0 to 127), min value (0 to 127)

(NB: in the Midi codes that I give n = channel from 0 to 15)

I know few foot controller that do as much!

Finally, apart from the port and channel memorization bug, I don't consider the 'External Controller' mode as obsolete.
I use it with 2 Midi config:

1) with the Midi Port = MidiB (which of course I reselection each time because of the bug) with the MFC10 directly connected to the Midi socket of the Genos.

2) Another Midi config with the Midi Port = USB2, when I use my DGX-670 as a master keyboard and I control the Genos with a Line 6 FBV Shortborad pedalboard under my DGX and a nanoKontrol 2.
The codes of these 2 devices are intercepted and transformed by a script under Bome Software either in Control Change for the 'External Controller' config to USB port 2 (Digital Workstation2) or in Sy*** or Control Change to USB port 1 (Digital Workstation1).

JeanLoop

In addition to my previous post:

Why, when I use the DGX-670 as a master keyboard, do I need to send Control Changes on USb port 2 for 'External Controller' and Control Changes and Sy*** on port 1:

1) I don't know of any sy*** that allows you to select, start and stop the Multi Pads.
2) Control Changes 80,81,82 (Super Articaltion 1,2,3) are not recognized in Midi reception except in Song mode (cf: datalist page 95-96)

On the other hand, Mulipads and Super articulations codes can be received in 'External Controller' mode.

For the rest (part selection on/off, left hold, section selection, harmony echo on/off, etc.) I use the sy*** on Port 1 (see datalist) and thank you to MixMaster who helped me to dissect those sy***!

vlbrgt

Hello,

I ONLY use the 'note codes' used by the MFC10. Notes from C#-1 up to F#1 (30 notes in total).
Each note send to the Genos can be given a function when received on the correct port/channel.
That's what the MFC10 does too.

I always use a midi file that includes the chords and the notes I need to play.
These chords and notes are visible on my external monitor connected to my Genos (the screen of the Genos is too little for me to read correctly).
The external monitor is my music sheet that I need to play.

Since I always use a midi file I had the idea to use this midi file for some functions that a MFC10 could do.
I do not use a MFC10, but I use a 'Midi Event Processor' that is connected betweem MIDI B OUT en MIDI B IN from the Genos.
In MixMaster I made a list of 'User defined sy***'es'.
F0 44 00 xx F7 with xx is the note value (13 - 42) for the needed function (programmed in the Genos).
These sy***'es are outputted on MIDI B into the 'Processor' and the corresponding note is send to the MIDI B In, and will result in the action programmed for that note in the Genos.

The advantage of the processor is that it is fully programmable with all kind of options.
For my use it detects these sy***'es and transforms it into the correct note for the Genos.
All other midi events are ignored for my use, and will not be send to the Genos.

Functions I use the most are :
Start MuPad 1,2,3 or 4
Stop all MuPads
Transpose +1
Goto next Reg button (SEQ +)
Or GoTo a specific Reg button (1,2,3 ..., 10)
Harmony On/Off
Voices R1,R2,R3 and Left On/Off
...

For me this works perfectly. I can keep my hands on the keyboard playing chords and notes - hard enough.
The Midi Event Processor is rather expensive (about 200 €)
So I created a program for PC that does the same as the processor (should he ever fail or for other people who like to use this).
But for the PC I must make use of the USB connection from the Genos to transmit the note codes.
That is how I found out that the Port and Channel are not saved in the Midi template.

Regards
Etienne
If plan A doesn't work, don't forget that the alphabet has 25 more letters.
Volbragte@telenet.be
https://voetsoft.be
Genos

JeanLoop

Hello

Can you tell me what is your  'Midi Event Processor' ?

vlbrgt

If plan A doesn't work, don't forget that the alphabet has 25 more letters.
Volbragte@telenet.be
https://voetsoft.be
Genos

JeanLoop

Ok, thank you.

( And I know my detailed description of the MFC10 was a bit off topic.
But I wanted to rectify the statement 'the MFC10 had insane limitations' ! )

pjd

Quote from: JeanLoop on November 14, 2022, 07:57:05 AM
What PJD says about the MFC10 is wrong, unfortunately MFC10 it's no longer sold, but it's the most powerful foot controller I know.  I've had one for over 10 years and it still works perfectly. It is currently connected to my Genos.

Hi --

I am "pjd" and I stand by what I said. However, please understand, I regard virtually all current MIDI controllers as "insanely limited."  :o :D From a computer science and usability perspective, they are. Not a single hardware controller is scriptable and they are insanely inflexible. Many controllers do not send a full Bank MSB, Bank LSB and Program Change three message sequence to change a patch, for example. If a MIDI controller cannot do that, I regard it as "broken". Without scriptability, such a limited controller will remain limited until it hits the land-fill.  ;)

Yes, the MFC10 can serve some needs within its capabilities. I agree.

Now, I don't mean these comments to be argumentative, offensive, or confrontational. However, if someone doesn't point out limitations and possibilities, manufacturers will continue to release brain-dead MIDI controllers.

Again, no offense intended, and only good personal vibes to ya -- pj

JeanLoop

Hello

There is no problem (or aggressiveness on my part either), I just wanted to rectify something that seems wrong to me.

If you have read my message you can see that the MFC 10 knows how to send a Program Change with its MSB and its LSB.

But all controllers are limited, you're right, if you want to send a sys ex, for example, of which a field must be modified by a Midi event, you have to go through a program you write or scripts from specialized software ( in my case I use Bome Midi translator and Python).
I just found that for a foot controller the MFC 10 did not have to be ashamed when faced with a FCB1010 for example.

Regards (and sorry for my poor english).

pjd

Hi LeanLoop --

No problem. I like to keep things friendly.  :)

Part of my current frustration is due to experience with Akai MPK Mini, etc. I love the Arturia Keylab Essential, for example, but it too lacks control features that I need for a different, non-Yamaha project. The inflexibility of these things drives me crazy.  :D As you can tell...  :)

I wish it was possible to send multiple MIDI messages in one go (one button press) including Sy*** and RPN/NRPN.

All the best -- pj



JeanLoop

Good evening Pjd

I don't know if I understood your problem correctly (because I use a translator who sometimes misleads me).

But what I can tell you is that I have no problem sending multiple sy*** or Control Changes in response to a single event from a hardware device (controller, keyboard) or even software (DAW for example).

My first "rule": no physical device (keyboard or controller) communicates directly with another physical device or another software (except Bome Software which I use as a router).
Hardware, DAWs and other softwares communicate only via virtual ports, which allows me to control, reroute and transform any Midi message circulating.
The scripts I write under 'Bome' take care of this rerouting and possibly communicate with my softwares in Python via special sy*** and virtual ports.

To take very basic examples:

1) I want, by pressing a foot controller switch (in this example a Line6 FBV) to send the codes to activate the articulation1 of the Upper1, 2 and 3 voices of the Genos.
When pressing a switch the FBV sends a single controller with a value of 127, it sends a value of 0 when the switch is released.
I memorize this value, which I will name vv in this example, and in response to this event, I send the Midi codes: B0 0A vv B0 0D vv B0 0C vv on port 2 of the Genos.
I have configured the Genos in 'External Controller' to send 'Articulation1 Right1' in response to CC 10 on channel 1 port 2 (B0 0A),
'Articulation1 Right2' in response to CC 13  on channel 1 port 2 (B0 0D)
and 'Articulation1 Right3' in response to CC 16  on channel 1 port 2 (B0 0C).

2) When I use the nanoKontrol 2, I like to have visual feedback from the nanoKontrol's leds.
For example, if I press a switch in one row, I want its led to light up and the other leds of the row to turn off.
When I press a switch, nanoKontrol send me a CC on channel 7 with the value of 127, each of the 8 buttons of the row as his CC number (3C to 43).
The nanoKontrol lights its led if it receives the same Control Change with a value of 127, it turns it off with a value of 0.
When I receive a CC from nanoKontrol, I memorize this CC number in a variable named pp and I send back to the nanoKontrol the following string:
B6 3C 00 B6 3D 00 B6 3E 00 B6 3F 00 B6 40 00 B6 41 00 B6 42 00 B6 43 00 B6 pp 7F
Which has the effect of turning off all the LEDs in the row except the one I just pressed, which turns on.


In complex cases, I configure my script so that it sends a special sy*** (with parameters that are specific to me) to a Python program, listening to a special virtual port, which analyzes these sy*** and sends any which combination of Midi message to as many virtual ports as I wish.

I want to show by this, that we can send any sequence of Midi events to any hardware or software in response to a single Midi event from any hardware or software device, having no relation to the events that will be sent.

I hope I haven't been too confused and made too many mistakes in English.

JeanLoop

To complete my previous message:

What I have written assumes the use of a PC and specialized software such as 'Bome Midi Translator Pro' (although you can do without it, if you know how to program in Midi with languages like C, Java and even Python, but it's more complex).

These solutions are not always satisfactory for those who play on stage (this is not my case).

For those who don't know, I wanted to inform that the company Bome sells a box, the size of a 'Midi Solutions' box, which is called 'BomeBox'.
You write and test your scripts on a PC with 'Bome Midi Translator Pro', then you transfer your scripts to the 'BomeBox' and you can do complex routing or transformations without a PC.

The problem is that the Bome Box is quite expensive.
(and I don't work for Bome ;) )

Joe H

Bome offers a free MIDI utility call Bome SendSX.  You can write sy*** and multiple messages to send from your computer and save the file if you like.  SendSX also receives MIDI messages from your MIDI gear which can also be saved.  I use it all the time to save and load bulk dumps, effects setups, etc; to and from my gear.  You can even write dump request messages and send which will in turn receive the bulk dump from you instrument or other gear.

https://www.bome.com/products/sendsx

Joe H
Music is the Universal Language!

My Article: Using Multi Pads in registrations. Download Regs, Styles & MPs:  http://psrtutorial.com/music/articles/dancemusic.html

pjd

Quote from: JeanLoop on November 15, 2022, 03:59:35 AM
To complete my previous message:

What I have written assumes the use of a PC and specialized software such as 'Bome Midi Translator Pro' (although you can do without it, if you know how to program in Midi with languages like C, Java and even Python, but it's more complex).

These solutions are not always satisfactory for those who play on stage (this is not my case).

Hi JeanLoop --

That's almost exactly my point. At home, I am using iPad, MIDI Designer and StreamByter to create zones, layers, splits, etc. and to select voices on a V3 Sound Yammex module. This is a lot of extra stuff to carry to a gig. I would love to have a MIDI controller which runs Python (or whatever) scripts natively in order to extend its basic functionality with zones and so forth.

By the way, if you are happy, I am happy.  :D

I had to use auto-translate many times for German to English, so I empathize.

Cordialement -- pj

JeanLoop