News:

PsrStyles.com
- Download Premium Styles For Yamaha Keyboards

Main Menu

Using patch change to select a song?

Started by deanspy, May 20, 2025, 01:00 PM

Previous topic - Next topic

deanspy

Hi folks,

PSRSX-700 here. What I would like to do is send patch changes to select a particular style or song. I'm having trouble figuring out how to word the question to find this information.

I also wonder if there are midi commands that can do a fill, using a midi foot pedal for example.

I'm sure I read something somewhere that said this was possible, but my brain is fried.

Any help most appreciated.

D
  •  

FutureAtoB

I don't know anything about PSR900, but AI on Google inform this (sorry for loooong text)

To send MIDI patch information from a Yamaha PSR-SX900, you need to configure the keyboard and your external MIDI device (like a computer or another synthesizer) to communicate via MIDI. This involves setting up the MIDI connection (usually using a USB-to-MIDI cable or a MIDI interface), configuring the keyboard's MIDI settings to transmit the desired patch information, and then setting up the receiving device to recognize and utilize the incoming MIDI data.
Here's a more detailed breakdown:
1. Establish the MIDI Connection:
Hardware:
Connect the PSR-SX900 to your external device using a MIDI cable (if using a MIDI interface) or a USB-to-MIDI cable directly connected to the keyboard's USB-to-HOST port and your computer's USB port.
Software:
Install the necessary Yamaha USB MIDI driver on your computer to allow it to recognize the keyboard as a MIDI controller.
2. Configure the PSR-SX900's MIDI Settings:
Access MIDI Settings:
Navigate to the MIDI settings on your PSR-SX900. This is typically done through a dedicated "MIDI" button or menu option.
Choose a MIDI Template:
Select a MIDI template that suits your needs. The "All Parts" template transmits data from all keyboard parts, while "KBD & Style" separates right-hand parts (upper) and left-hand parts (lower).
Transmit Part On/Off:
Ensure the parts you want to transmit (e.g., right-hand parts, left-hand parts) are switched on in the Part On/Off section of the MIDI settings.
Set MIDI Channels:
Specify the MIDI channels on which the keyboard will transmit data.
3. Configure the Receiving Device:
MIDI Input:
In your external MIDI software or device, select the appropriate MIDI input port (corresponding to the connection from the PSR-SX900).
Program Change Messages:
The PSR-SX900 transmits program change messages (which select the desired patch) when you change sounds or use the "Part On/Off" switches. Ensure your receiving device is set up to recognize and respond to these messages.
Other MIDI Data:
The keyboard also transmits note data, velocity, and other performance information. You can use this data to control sounds and effects on your receiving device.
4. Saving User MIDI Templates:
If you've made specific MIDI setting changes, you can save them as a User MIDI template for later use.
5. Muting the Keyboard:
If you want to use the PSR-SX900 solely as a MIDI controller without generating internal sounds, you can mute the keyboard parts in the MIDI settings or by using the "KBD & Style" MIDI template.
By following these steps, you can successfully transmit MIDI data, including patch information, from your Yamaha PSR-SX900 to other MIDI devices, allowing you to utilize the keyboard's sounds and functionality in conjunction with other equipment.

It sounds quite complicated - I hope I have understood the problem correctly...

FutureAtoB
  •  
    The following users thanked this post: deanspy

Rupp

I'm afraid style selection via MIDI is not possible. But once selected from panel, you can send sysex messages to change style sections and/or chord & harmony, see pg.116:
Guests are not allowed to view links. In order to access the links, please Register or Login
MIDI pedal should be able to define and send sysex messages for this (like sending say F0 43 7E 00 10 7F F7 triggers fill_in_AA).
  •  
    The following users thanked this post: deanspy

FutureAtoB

Quote from: Rupp on Jul 14, 2025, 12:26 PMI'm afraid style selection via MIDI is not possible. But once selected from panel, you can send sysex messages to change style sections and/or chord & harmony, see pg.116:
Guests are not allowed to view links. In order to access the links, please Register or Login
MIDI pedal should be able to define and send sysex messages for this (like sending say F0 43 7E 00 10 7F F7 triggers fill_in_AA).

I've always wondered what SysX does, but it's obviously some kind of machine code that you probably need to be a programmer to use.
I had to send precoded SysX to my old keyboard to get it to use the correct sound banks (or whatever they're called) so the keyboard could play the right instruments.

FutureAtoB
  •  
    The following users thanked this post: deanspy

Rupp

SysEx (system exclusive) MIDI messages can do anything the manufacturer allows (and documents). Like pushing panel buttons, moving motorized faders, transmitting samples or voices/patches, setting (micro)tuning, displaying messages or pictures on the display, starting or stopping song, simply anything ;) But not all instruments allow everything, it is important to read the manuals ;)

You don't have to be a programmer, the format for changing a section is quite simple and is clearly described in the manual:
F0 43 7E 00 ss dd F7
where "F0 43 7E 00" is fixed part (sysex, Yamaha, style command, zero byte)
ss is section switch number (00 = intro 1, up to 23 = ending 4)
dd is "data" (switch position, 00 = off, 7F = on)
and F7 is ending byte (end of sysex)
  •  
    The following users thanked this post: deanspy

FutureAtoB

Yes, you always learn someting - even with silly questions or answers  ;D   
  •  
    The following users thanked this post: deanspy

FutureAtoB

Quote from: Rupp on Jul 14, 2025, 01:24 PMYou don't have to be a programmer, the format for changing a section is quite simple and is clearly described in the manual:
F0 43 7E 00 ss dd F7
where "F0 43 7E 00" is fixed part (sysex, Yamaha, style command, zero byte)
ss is section switch number (00 = intro 1, up to 23 = ending 4)
dd is "data" (switch position, 00 = off, 7F = on)
and F7 is ending byte (end of sysex)

I wonder if one can get "pre-coded patches" for different purposes (and perhaps for individual keyboards) - and instructions on how to send them to different keyboards - or how to send them to a midi program that controls the keyboard.

Most people don't bother or don't have the skills in machine code and programming.

If so, where can one find these patches (or just examples of such patches)?

Regards
FutureAtoB

 
  •  

Rupp

#7
Quote from: FutureAtoB on Jul 15, 2025, 03:19 AMwhere can one find these patches (or just examples of such patches)?
In manuals? ;) To send them into instrument using MIDI sequencer write such sysex sequence to required time position, where it should be sent.

As example for mentioned SX-700 (sysex sequences there can be displayed only, not entered): in MIDI multi recording choose sysex (left top corner), the event filter for the sysex should be checked. Details on pg.85 in SX-700 reference manual. Sysex format incl. examples is in SX-700 datalist in MIDI data format section. Read the manuals! Life is then easier ;) I don't have or ever touched SX but I know how to reach sysex by reading manual only. In a computer MIDI sequencer is usualy similar function for entering and sending sysex messages.

So the pedal for sending such sysex sequence should be able to enter sysex values (either manualy or from a computer or some pedals can record sysex for future sending), then send them at pedal pressing.
  •  

FutureAtoB

Thanks for the detailed information :)

Maybe deanspy or others can use it.

FutureAtoB
  •  

deanspy

It's too bad there's no way to choose a song through midi patch change.

Thanks for the help folks.
  •  

KurtAgain

#10
Quote from: deanspy on Jul 15, 2025, 11:09 AMIt's too bad there's no way to choose a song through midi patch change.

You can select a registration via MIDI. And the registration can select a song or a style.

Kurt
  •  

Rupp

  •  

KurtAgain

Thoralf describes in this video how to select a registration via MIDI:

https://www.youtube.com/watch?v=BybqG5op6Lk

Kurt
  •  

overover

Quote from: deanspy on Jul 15, 2025, 11:09 AMIt's too bad there's no way to choose a song through midi patch change.

Thanks for the help folks.

Hi Dean,

Internal (preset) styles can be loaded/switched via SysEx. If you record a MIDI file with MIDI Quick Recording (at least one note), these SysEx messages are written to the file. This means that when the MIDI file is played back, the originally used preset style is automatically loaded. Of course, you can analyze such MIDI files if necessary (e.g., with the free "MixMaster" program, available on the PSR Tutorial main site) and use the corresponding SysEx messages for your own purposes.

MIDI files (= MIDI songs) cannot be loaded/switched directly via MIDI/SysEx. However, you can work with registrations. These can be switched relatively easily via SysEx. Apps like Mobile Sheets (for displaying text/sheet music) work this way.

If you call up a registration bank on the keyboard (SX or Genos models) and then select a registration from it, the corresponding SysEx messages are automatically sent. You could record these with a DAW like Cubase, for example. You can later play this SxsEx back, i.e., send it to the keyboard. This will reload the original registration bank and registration.

There is also the earlier method (known from Tyros2/3/4/5 and PSR-S975), which allows registrations to be recalled only using MIDI Bank Select MSB (CC 0), Bank Select LSB (CC 32), and Program Change (i.e., without SysEx). As far as I know, this MSB/LSB/ProgramChange method also works on Genos and SX models. However, it has some serious disadvantages that make it difficult to use:

- All used registration bank files (.rgt) must be located within a single folder. This means that the maximum number of simultaneously usable registration banks is limited by the keyboard operating system (between 500 and 2500 files, depending on the model).

- The folder used must also be set manually (by loading a registration bank from it once).

- Finally, the names of all used Registration Bank files must be preceded by consecutive (gapless) numbers (e.g., '0001 Songname XY.rgt'), because the Registration files are always accessed in alphanumeric order.

If you are interested in the latter method of accessing Registrations, please come back here, and I can tell you the necessary MSB/LSB/ProgramChange commands.


Hope this helps!

Best regards,
Chris
● Everyone kept saying "That won't work!" - Then someone came along who didn't know that, and - just did it.
● Never put the Manual too far away: There's more in it than you think! ;-)
  •  

Rupp

Quote from: KurtAgain on Jul 15, 2025, 02:35 PMThoralf describes in this video
Aahh, undocumented functions ;) OK then ;) Always learning someting ;)
  •