Korg Forums Forum Index Korg Forums
A forum for Korg product users and musicians around the world.
Moderated Independently.
Owned by Irish Acts Recording Studio & hosted by KORG USA
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Unable to select an XG sound from an external device

 
Post new topic   Reply to topic    Korg Forums Forum Index -> Korg Pa4X
View previous topic :: View next topic  
Author Message
jeanloop



Joined: 23 Nov 2007
Posts: 36

PostPosted: Wed Oct 20, 2021 12:48 pm    Post subject: Unable to select an XG sound from an external device Reply with quote

Hello

When I load a XG midi file in the PA4X, in Song-Play mode or in Sequencer mode, the PA select the correct XG sounds (if any, of course) when playing the sequence.
When I load the same midi file in a Daw (I try with Sonar and PowerTrack Pro) the XG sounds are not selected when playing the sequence from the Daw.

Example:
If the midi file have a program change for 'Violin XG' (msb=0, lsb=0, pc=40) when playing from the PA sequencer or SongPlay this sound is selected.
When playing from a Daw the corresponding GM sound is selected in place of XG sound, in this example : 'Violin GM' (msb=121, lsb=0, pc=40).
This behavior is the same for all XG sound.

The midi file have in this heading the sysex for GENERAL MIDI ON (F0,7E,7F,09,01,F7) then the sysex for XG SYSTEM ON (F0,43,10,4C,00,00,7E,00,F7) and my Daws send these sysex.

I have also write a short program sending these sysex(s) then the program change (msb, lsb, pc) and I have the same behavior : the PA replace the XG sound by the corresponding GM sound, as in the example above.

(Note : These behavior is only for XG sound, for example selecting from bank GM-GX/Strings : 'Suspense Strings' (msb=0, lsb=40, pc=44) works when sending from a Daw or my program.)

Does anyone know how to select an XG sound from an external device ?
_________________
Korg PA4X 76. Korg PA700. Yamaha DGX-670
Back to top
View user's profile Send private message
siebenhirter
Platinum Member


Joined: 13 Oct 2011
Posts: 1825

PostPosted: Wed Oct 20, 2021 4:38 pm    Post subject: Re: Unable to select an XG sound from an external device Reply with quote

jeanloop wrote:
.. I load a XG midi file in the PA4X, .. I load the same midi file in a Daw (I try with Sonar and PowerTrack Pro) the XG sounds are not selected when playing the sequence from the DAW ...


The simplest thing I can imagine is a MIDI-in filter with"SysEx" in your Pa4x
- or maye MIDI-Out-filter of "SysEx" of your DAW
_________________
kind regards
- siebenhirter, austria -

Interesting facts about styles and stylePlayer functions can be found at http: www.elmarherz.de


Last edited by siebenhirter on Thu Oct 21, 2021 6:32 pm; edited 1 time in total
Back to top
View user's profile Send private message
jeanloop



Joined: 23 Nov 2007
Posts: 36

PostPosted: Wed Oct 20, 2021 7:22 pm    Post subject: Reply with quote

Thank you for the answer.

I of course check the midi-in filters on the PA.

It seems that this is an implementation flaw on the PA.

Indeed we can select without problems (and without initialization sysex) all the XG Drumkits sounds (lsb = 127).

I think it is impossible to select an XG sound (other than drumkit) from an external device.

(If anyone succeeds, I'm very interested.)
_________________
Korg PA4X 76. Korg PA700. Yamaha DGX-670
Back to top
View user's profile Send private message
siebenhirter
Platinum Member


Joined: 13 Oct 2011
Posts: 1825

PostPosted: Thu Oct 21, 2021 6:14 pm    Post subject: XG sounds from external/internal sequencer Reply with quote

jeanloop wrote:
.. It seems that this is an implementation flaw on the PA ..... I think it is impossible to select an XG sound (other than drumkit) from an external device .....


Be sure this is no implementation flaw on the Pa and it really is not impossible to select XG sounds or drumkits from external devices, because:

Pa4X is compatible with the GM1, GM2 standards and compatible with Sounds and Drum Kits of the XG standard.
But that only means the internal Players are compatible with SMFs format 0 and 1 - nothing else but does not mean a Pa4x would change Midi-BankSelects from Midi-Input.

Using external sequencer it is regardless of which mode the Pa-4x is in. For example a sent of MSB / LSB / PC = 0/0/0 should switch to AcousticPiano XG (Bank GM / XG / Piano) or for an MSB / LSB / PC = 121/3/0 should switch to the GrandPiano (Factory bank).

You can only know which midi command the Pa-Arranger is receiving if you send the MIDI command in a controlled manner from a monitor software of a DAW (Midi-OX).

To do so connect Midi-Out of monitor software to Midi-In of a Pa-arranger, send MSB/LSB=0/0/0 via Bank/Patch control panel of monitor software and return MIDI via Midi-thru of your Pa4x to Midi-in of your monitor software. With display of monitor-input and monitor-output your can see what really happend with sent and received Bank/Patch commands from a DAWs sequencer.

You shouldn't be fooled by the fact that a SysEx = F0 43 10 4C 00 00 7E 00 F7 puts a Pa-Arranger into the status "XG SYSTEM ON", because such a SysEx command is skipped, because it is invalid for the Pa keyboard due to the manufacturer ID "43". A valid SysEx command for the Pa4x is "F0 42 7F 60 ........ F7" (42 = manufacturer ID Korg).

That is because each instrument's System Exclusive messages have their own special format according to an assigned manufacturer's ID number.

For the use of SMFs in Pa-Arranger it is recommended to remove such "foreign" SysEx from the SMFs and to enter all bank / patch changes as you need them as you can find in corresponding in manuals list, instead of using the conversion of the internal sequencer.
*
SysExs in SMFs a Pa4x will accept from external sequencers are:
F0 7E 7F 09 01 F7 GENERAL MIDI ON Enables General MIDI mode (Bank Select and NRPN messages will be ignored)
F0 7E 7F 09 01 F7 GM1 Mode ON message
F0 7E 7F 09 03 F7 GM2 Mode ON message
These are Universal Sysex message that are obeyed by all manufacturers.

In the past approximately 50ms was required to execute such messages and it was recommended to be sure to leave an appropriate interval before a subsequent message, but I don't know if that is still valid.

https://www.midi.org/component/edocman/m1-v4-2-1-midi-1-0-detailed-specification-96-1-4/fdocument?Itemid=9999

*
If your SMF sent sysex for GENERAL MIDI ON F0,7E,7F,09,01,F7 via external sequencer, than that will be received from Pa-Arranger via Midi-IN but ignores sysex for XG SYSTEM ON (F0,43,10,4C,00,00,7E,00,F7) because of "foreign" ID of manufacter.

Therefore I think that ONLY THE INTERNAL SEQUENCER REACTS TO XG SYSTEM ON AND PA4x AUTOMATICALLY SELECTS THOSE XG SOUNDS (0/0/0) from its memory that correspond most closely to the GM sounds (121/3/0)!
*
If you want, send me one of these SMFs for checking, which you think are being processed incorrectly by the external sequencer, to my address siebenhirten@post.com.
_________________
kind regards
- siebenhirter, austria -

Interesting facts about styles and stylePlayer functions can be found at http: www.elmarherz.de
Back to top
View user's profile Send private message
jeanloop



Joined: 23 Nov 2007
Posts: 36

PostPosted: Thu Oct 21, 2021 8:55 pm    Post subject: Reply with quote

Thank for the response.

I understand what you say about manufacturer ID in sysex and sysex XG SYSTEM ON is not an universal sysex message.

I made my tests with the downloadable files at :
https://reasonstation.nl/downloads/yamaha/licensed-midi-files/Yamaha-XG-Midi-Library/BALLADS/
(5 midi files)

As you can see loading one of theses file in PA Sequencer and the XG sounds are selected, from an external sequencer GM sounds corresponding are selected.
Deleting the yamaha sysex does not matter.

Actually, the behavior of DAWs doesn't really matter to me.

I wrote a program which, when I drive my PA from an 88-note master keyboard, allows me to select (from the infos of a .SET file) syles, Keyboard Set, Sounds, and songBook entries from my PC.

And I noticed that it was not possible to select these XG sounds.

It's not a big deal, but I like to try to understand.

(What is not logical, in my opinion, is that XG drumkits are selectable and not other XG sounds, while these XG drumkits also have their GM counterparts)
_________________
Korg PA4X 76. Korg PA700. Yamaha DGX-670
Back to top
View user's profile Send private message
siebenhirter
Platinum Member


Joined: 13 Oct 2011
Posts: 1825

PostPosted: Thu Oct 21, 2021 10:36 pm    Post subject: XG sounds from external/internal sequencer Reply with quote

jeanloop wrote:
.. As you can see loading one of theses file in PA Sequencer and the XG sounds are selected, from an external sequencer GM sounds corresponding are selected. ...


You are right - it does not matter to delete XG SysEx because ignored by Pa-Arranger but couldn't find out that loading SMFs into Pa-sequencer would select XG sounds whereas from external sequencer corresponding GM sounds would be selected.
*

I looked at your SMF Twilight YME'97 and there following bank / PC are found:
MSB
001:1:0800 1 - XG-Soft Tenor Sax Bank select msb=0
001:1:0880 2 - XG-Nylon Guitar Bank select msb=0
001:1:0960 3 - XG-Finger Bass Bank select msb=0
001:1:1040 4 - XG-StringEnsemble Bank select msb=0
001:1:1120 6 - XG-Hard EI.F4ano Bank select msb=0
001:1:1200 7 - XG-Velo.GuitarHarnio Bank select msb=0
001:1:1280 10 - Standard Kit 1 Bank select msb=127
LSB
001:1:0000 Song track name=TWILIGHT
001:1:0808 1 - XG-Soft Tenor Sax Bank select lsb=41
001:1:0888 2 - XG-Nylon Guitar Bank select lsb=0
001:1:0968 3 - XG-Finger Bass Bank select lsb=0
001:1:1048 4 - XG-StringEnsemblel Bank select lsb=0
001:1:1128 6 - XG-Hard EI.F4ano Bank select lsb=40
001:1:1208 7 - XG-Velo.GuitarHarnio Bank select lsb=43
001:1:1288 10 - Standard Kit 1 Bank select lsb=0
PC
001:1:0816 1 - XG-Soft Tenor Sax Program change=66
001:1:0896 2 - XG-Nylon Guitar Program change=24
001:1:0976 3 - XG-Finger Bass Program change=33
001:1:1056 4 - XG-StringEnsemblel Program change=48
001:1:1136 6 - XG-Hard EI.F4ano Program change=4
001:1:1216 7 - XG-Velo.GuitarHarnio Program change=24
001:1:1296 10 - Standard Kit 1 Program change=0
****************************************************
When I send this SMF from a DAW (Cakewalk Pro9), the Pa-Arranger selects exactly the sounds as registered in the SMF :
ch1 0/41/66 (XG Soft TenorSax), ch2 0/0/24 (nylon guitar XG) .... ch10 127/0/0 (standard kit GM)
The same thing happens when this SMF is played by the internal sequencer of a Pa-arranger.

So far I can't find any fault and if I send Bankselect/PC for selection with Bank/Patch Panel of MIDI-OX each existing XG-Sound of Pa-Arranger is reachable without any troubles or conversions to GM sounds.

If it is not possible for you to select the XG sounds from a master keyboard, then obviously the corresponding bank selects are not sent (or filtered) by this master keyboard (CC00, CC32) in such a way that they do not select the corresponding XG sounds.

Again I recommend to use a monitor software (MIDI-OX freeware) to look what command (MSB/LSB/PC) your Masterkeyboard send to Midi-In of your Pa-arranger and make sure that the MIDI IN Filters do not prevent the reception of messages.

Soundselection through MIDI messages Bank Select MSB, Bank Select LSB (bank selection, two messages), and Program Change (Sound selection) corresponding with Midi values in the appendix of manual should select the right sound - regardless of whether the selection is done internally or via MIDI.
_________________
kind regards
- siebenhirter, austria -

Interesting facts about styles and stylePlayer functions can be found at http: www.elmarherz.de
Back to top
View user's profile Send private message
jeanloop



Joined: 23 Nov 2007
Posts: 36

PostPosted: Thu Oct 21, 2021 11:11 pm    Post subject: Reply with quote

I have restart the PA and the PC

Then, here is the exact procedure I use with Midi-Ox:

Menu->Actions->Send->Sysex Files...
Cancel the File Open Dialog.
Then in command windows I write:
B0 00 00 B0 20 00 C0 00
Then Menu->Command Window->Send Sysex

(This send not a sysex but the data I entered whose translation is MSB=0, LSB=0, PC=0 on channel 0)

The PA select 'AcousticPiano GM' which is msb/lsb/pc = 121/0/0

If I write and send in command windows:
B0 00 7F B0 20 00 C0 00
The PA select 'Standard Kit1 XG' which is msb/lsb/pc = 127/0/0 and this is Ok.

On the PA in Global Midi In Channel CH01 is Upper 1, There is no filter in Filters-> Midi In and Midi Out

Mid OX is connect directly to the PA Port and no other Midi Soft is in use for this test



I have a PA4X76 International and OS version is 3.1.0
_________________
Korg PA4X 76. Korg PA700. Yamaha DGX-670
Back to top
View user's profile Send private message
jeanloop



Joined: 23 Nov 2007
Posts: 36

PostPosted: Fri Oct 22, 2021 10:37 am    Post subject: Reply with quote

Hello

I have made a test with my PA700 OS version 1.5.0
I have the same behavior : unable to select an XG sound except XG drumkit.

I use another PC to the test.
It run on Windows8.1
Korg USB driver is 1.15.00.3 x64 Edition

The PA4X is connect to a PC under windows7
Korg USB Driver is the same.

I use Mid-Ox for the test.

And I also use this short python script:
####################################
# -*- coding: UTF-8 -*-
import rtmidi
port = 1 # To adjust to Output PA port
def pc(canal, msb, lsb, pc):
.. midiout = rtmidi.MidiOut()
.. midiout.open_port(port)
.. m1 = [0xB0 + canal, 0, msb]
.. m2 = [0xB0 + canal, 0x20, lsb]
.. m3 = [0xC0 + canal, pc]
.. midiout.send_message(m1)
.. midiout.send_message(m2)
.. midiout.send_message(m3)
.. midiout.close_port()
####################################

.. means Tab

So I can write in python console:
pc(0,0,0,0)
pc(0,127,0,0)
etc
_________________
Korg PA4X 76. Korg PA700. Yamaha DGX-670
Back to top
View user's profile Send private message
jeanloop



Joined: 23 Nov 2007
Posts: 36

PostPosted: Fri Oct 22, 2021 3:03 pm    Post subject: Reply with quote

Ok

Here are my conclusions after many tests.

In 'Song Play' mode or in 'Sequenceur' mode.
(Assuming Global->Midi->Midi In Channel -> All channels are affected to Player 1)

If you send the SysEx XG SYSTEM ON which is F0,43,10,4C,00,00,7E,00,F7 .

Then you can select any XG sounds on the 16 channels, with msb/lsb/pc found in manual page 1039 and following.

If you don't send this sysex (even if this is a Yamaha sysex) GM corresponding sounds are selected in place of the XG sounds, except for the XG Drumkit.

When switching to 'Sequencer' or 'Song Play' Mode, SysEx XG SYSTEM ON has to be send only once before selecting sounds.

There is no need to send universal sysex GENERAL MIDI ON (F0,7E,7F,09,01,F7)

My problem was that one of the input channels was set to Global, in this case the sysex XG SYSTEM ON has no effect.

It seems that in 'Song Play' mode or 'Style Play' mode it is not possible to select an XG sound for Upper1, 2, 3 and lower (from an external device).

In 'Style Play Mode' it seems it is not possible to select an XG sound for style tracks (from an external device).

In 'Sound' mode it seems it is not possible to select an XG sound (from an external device).

Also, for me, the mystery is solved.

And thanks to Siebenhirter for his help.
_________________
Korg PA4X 76. Korg PA700. Yamaha DGX-670
Back to top
View user's profile Send private message
siebenhirter
Platinum Member


Joined: 13 Oct 2011
Posts: 1825

PostPosted: Fri Oct 22, 2021 9:10 pm    Post subject: select XG sounds Reply with quote

jeanloop wrote:
... the mystery is solved...


With the conclusions in your posting you got ahead of me.

In your first posting you didn't mention that you didn't try to select the XG sounds in Songplay mode as you would also do with an internally loaded SMF in Songplay mode.

I assumed that you had known that XG Sounds can only be selected in Songplay mode on the 16 channels as classified in the manual "GM / XG Sounds allowing for full compatibility with MIDI Songs based on General MIDI and XG Sounds and Drum Kits " but are not intended for style tracks or realtime tracks.

Thank you for correcting me that, after switching to sound mode for the external control of XG sounds, in any case SysEx XG SYSTEM ON has to be send. I am sorry about my mistake, because it really is not good to delete XG SysEx in SMFs as I recommend mistakenly.

Now I thank you that no questions remain unanswered.
_________________
kind regards
- siebenhirter, austria -

Interesting facts about styles and stylePlayer functions can be found at http: www.elmarherz.de
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Korg Forums Forum Index -> Korg Pa4X All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group