Author Topic: Sending Registration Selection Commands to Tyros 4 - a method  (Read 1598 times)

0 Members and 1 Guest are viewing this topic.

Offline jblyth

Just to start a discussion on automating Registration selection.....

I have been using a spreadsheet for some time to automatically open my music PDFs and to select the correct Registration Memory with a single click of a mouse. This has worked well, but the sending of the midi data was a little clumsy as I was using Midi-Ox's wscript commands.

I think I have now simplified the sending of the required midi strings by using the SENDMIDI.EXE from https://github.com/gbevin/SendMIDI (look under the "Releases" tab to download)

I have two spreadsheets. The first has a list of all my music PDFs The Second is automatically updated by the first, and holds the Registration Data. I have two separate spreadsheets to protect my Registration data from being "rearranged" my other band members ;-)

When the Song Title is clicked in the spreadsheet, a macro takes the Song Number/Registration Number and sends it to SENDMIDI.EXE to select the correct Registration Bank and Memory. Magic!

The macro then continues to open the selected music PDF and to present it onto my 32 inch TV in the best viewing format for that particular file.

[EDIT] see the fourth post - I found this song naming method unnecessary - but the BANK naming is still VITAL!
I have numbered/named each of my Registration Banks from 001 to 050 (as an example), and each Registration Memory starting from Bank One is number 001-008. Registration Bank 002 is numbered 009-016 etc...

So Bank 001 Registration Memory 8's "name" would be "008 Can't Buy Me Love"
So Bank 026 Registration Memory 5's "name" would be "205 Song for Guy"

For example:-
"Song for Guy" is in Registration Bank 026, Registration Memory position 5.
so the Song is number 205 (26-1)*8 + 5=205
Using the formulae below
the MSB is 0
the LSB is 25 (Registration Bank number -1)
Registration Memory is 4 ((Registration Memory number -1)

So the midi code is cmd /c ""C:\John - Music\Scripts\Sendmidi.exe" dev "Digital Workstation-2" cc 0 0 cc 32 25 pc 4""

Within my spreadsheet macro, I use the following syntax....
 If MidiNumber <> "" Then
  RegMemory = -1
  MSB = Int((MidiNumber / 1024) - 0.000005)
  LSB = Int(((MidiNumber - (MSB * 1024)) - 0.1)/8)
  RegMemory = MidiNumber - ((MSB * 1024) + (LSBx8)) - 1 '(change x to *)
  If a > 4000 Then
   MsgBox "Change Register Folder"
   End
  End If
   t = "cmd /c " & Chr(34) & Chr(34) & ScriptsPath & "Sendmidi.exe" & Chr(34) & " dev " & Chr(34) & "Digital Workstation-2" & Chr(34) & " cc 0 " & MSB & " cc 32 " & LSB & " pc " & RegMemory & Chr(34) & Chr(34)
 If MidiNumber > 0 Then Z = Shell(t, vbMinimizedFocus)

Hope this is not to confusing ;-)

Comments or other people's methods would be of great interest!!!!
« Last Edit: March 04, 2017, 10:24:50 PM by jblyth »
 

Offline Fred Smith

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #1 on: March 03, 2017, 07:30:10 PM »
I agree that when you can load everything at the push of a button, it's magic. And I'm glad you found a method that works for you.

My method differs from yours in two ways:
1. I use a full registration bank for each song. With the full bank, I can program in the intro, verse, bridge, chorus and ending so I don't have to remember anything to play the song. I also use the registration sequencer to specify what order I play each registration.
2. I have the registration load the PDF on an iPad.

So for each song I do, I have:
-- A registration file (.rgt)
-- A midi file (.mid) which loads the sheet music
-- The sheet music (.pdf)
-- Text (.txt) files which contain the lyrics
and sometimes:
-- A song specific style (.sty or its variants)
-- A multipad (.pad) file

In every case, the name of each file is the name of the song. So if I'm looking for a song, I simply look it up in alphabetical order.

I too am interested in how others organize their song library.

Fred
Fred Smith,
Saskatoon, SK
Sun Lakes, AZ
Tyros 4, Bose L1, Finale 2011
Check out my Registration Lessons
 

Offline pieterpan

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #2 on: March 03, 2017, 09:43:38 PM »
Hi,

OpenText from Michael Bedesem does what you want - give it a try.

http://psrtutorial.com/MB/opentext.html

Regards <> Piet
Yamaha Tyros 4 - Yamaha KX 25 - Gem WSII module
 

Offline jblyth

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #3 on: March 04, 2017, 10:12:48 PM »
Thank you Fred,

After reading your method, I have realised I have over complicated things a little. All I really should be doing is using the Registration Bank and Registration Memory numbers, and to forget about having each Song individually numbered - which is rather superfluous....

So I have updated and simplified my spreadsheet methodology so derive the midi code data directly from the Registration Bank and Registration Memory numbers, and it works perfectly.

My spreadsheet automatically picks up all the PDFs in a folder and populates the spreadsheet, then all I have to do is enter in the Registration Bank and Registration Memory numbers into the separate "permanent" Registrations spreadsheet. A click on the Song Title then selects the correct settings on the Tyros and loads the PDF file to the screen.

Wouldn't it be nice if we could get a PDF to show on the Tyro screens? That would be perfection ;-)  I know a midi file will show the music score, but it is often a pain to find or generate one....

Cheers John - in Sunny Carnarvon, Western Australia
 

Offline jblyth

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #4 on: March 04, 2017, 10:18:43 PM »
And thank you Piet,

I did look at http://psrtutorial.com/MB/opentext.html before I developed my own method. It works well, but I wanted to drive everything from the PC rather than the Tyros, and I don't need to worry about having a specific naming routine for my PDFs or to generate any midi files. (see above - I have done away with my previous method of naming the Song Titles on the Tyros with a number prefix - it was an unneeded complication ;-)

However, I do agree Michael Bedesem's solution is a neat one :-)

Cheers from
John - in Sunny Carnarvon, Western Australia
 

Offline jblyth

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #5 on: March 05, 2017, 07:06:09 PM »
I have also changed to using SumartaPDF as my viewer as Michael Bedesem does - it has a much more flexible command line interface than Adobe PDF's so it is much easier to activate programatically!

Thanks for the tip!

Cheers
John in Sunny Carnarvon - Western Australia
 

Offline kaimei19

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #6 on: March 05, 2017, 10:28:22 PM »
Hi John,

Very interested to read your post - I'm another Tyros 4 owner in another sunny town in Victoria. Always keen to explore new and perhaps easier ways to have PC/keyboard interact to load scores or registrations.

I'm an OpenText user thanks to Michael Bedesem. PDF's of my scores are prefixed with 4 digits in filename (to allow for 9999 entries), for example "0256 - Show Me The Way To Go Home". I batch process the naming of PDF scores as registrations for them are created on the keyboard - one registration bank per song -  so avoid any tedious renaming of PDFs to attach the numerical prefix. Batch renaming is done using IrfanView. OpenText then batch creates the small midi files (subsequently loaded to keyboard). These are referenced by the registration which automatically loads the score full-screen on my tablet/PC.

As Fred says - it's magic.

I limit the number of files processed by OpenText to less than 124 at a time - close/reload OpenText before doing the next 100 or so.

It all works very well - and can move my registrations anywhere in the Yamaha Tyros filesystem no problems - it will always load the correct style/voices and score. My registration banks are named/stored alphabetically across multiple folders, so "Show Me The Way To Go Home". If I wanted to create a playlist then the registrations could be copied into a folder for that purpose - and if required to be played in a particular order then given a numerical prefix.

I understand that you're doing it in reverse and having the PC load the score and the matching registration bank/individual registration.  But how do/will you manage the addressing of the folder on T4/USB stick which holds the banks of registrations? And what if you need to store registration banks over multiple folders?

Excellent work with your spreadsheets John - I understand you need to share one of them with your band members so your requirements are different from mine.

Cheers,
Phil (from sunny Bonnie Doon, Vic)

Offline jblyth

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #7 on: March 07, 2017, 09:56:23 PM »
Hi Phil,

Quote
But how do/will you manage the addressing of the folder on T4/USB stick which holds the banks of registrations? And what if you need to store registration banks over multiple folders?

A very good question... On one occasion , in the middle of a gig, the Registration Memories all froze on the internal hard drive for some reason, but fortunately I always keep a backup in USR Memory. When changing folders manually on the Tyros this is no problem.

But I see your point if I might ever have more than one folder active. In my case I don't tend to use a whole 8 Registration Memory buttons for one song, I generally use one and maybe 4 One Touch settings, so I can't see me running out of capacity.

I could prompt myself to manually change folders by the Bank number - I can't see any midi data being sent when the folders are changed manually, so I will have to have look into it further....

Cheers John - in Sunny Carnarvon (just one season in one day ;-) {That's the reverse of an OZ joke about Melbourne for those ensconced overseas}

 

Offline rolfeilert

Re: Sending Registration Selection Commands to Tyros 4 - a method
« Reply #8 on: August 26, 2017, 08:17:32 AM »
I am sort of "commanded" to make use of onesong and send some commands like this to my T4, need to learn the stuff ....