Seek Forward Button seek back

I want to share my experience of using system exclusive messages to use Tyros 5 voices when working in a Digital Audio Workstation (DAW). Judging by the numerous reports on various thematic forums, I realized that this problem worries not only me, but other Tyros owners. Not finding answers to some painful questions for myself, I decided to sort out this problem myself. I hope this article will be useful to many owners of Yamaha's PSR, Tyros, Genos, working together with DAW.

Immediately I make a reservation that I am not an expert in this field, so I will present the material in a plain language - as I understand it myself. Therefore, I apologize for possible errors in terms or understandings of certain processes, as well as for my English. The main thing here is that I have achieved the desired result to me and I want to share this with other musicians! Smile

So, becoming a happy owner of Tyros 5, I suddenly ran into the problem of incorrect synthesizer sounding when working in SONAR. A disappointing discovery was made that the whole variety of the voices of a synthesizer is not a variety as such. As it turned out, a large part of the voices of Tyros is created due to the application of various effects to the other part of the voice of the synthesizer. I have never seen such a thing in the instruments of a lower level and therefore I could not have expected such a problem to arise on a premium synthesizer.

Briefly about the types of XG effects that Tyros uses

The effects of the XG standard are subdivided into several types:

The last two types are "optional".

We are now only interested in insertion effects and only for voices. Therefore, all further conversation will concern only insertion effects for voice type EFFECT2.

Of course, the application of effects very much colors the sound and gives great opportunities for the instrument, but only when playing "live".

And What Happens in DAW?

Inside the DAW project, when changing or assigning a voice, only information on the change of bank and program (patch) is transmitted. For greater convenience of such a change or assignment, for example in SONAR, specially created .INS files are used. With the release of the new models of synthesizers, after a while on the Internet there are .INS files for such instruments. Therefore, there are absolutely no problems to find such a file for your specific synthesizer. It is not difficult to create an .INS file inside the DAW itself or with Microsoft Notebook tools. Note: many of the illustrations in this article, like the one below, are themselves links to open up an expanded view of that illustration.

Figure 1 - Assigning instrument definitions to MIDI output

Fig 2 - T5 ins file

.INS file is loaded in DAW and, in the future, when selecting votes on the tracks of the DAW project, we see a complete list of banks and voices of this synthesizer model. Therefore, with the right settings, DAW easily connects the desired voice from your synthesizer to the project.

But effects, applied to this voice inside the synthesizer, remain unconnected. In order for your synthesizer to connect the needed effect, you must have an appropriate SysEx message in the track or in the project on the whole. Only then will the synthesizer understand what and where it is necessary to connect from the available arsenal of effects. But as we have seen, DAW can not generate SysEx messages, and the .INS file does not carry any information about this.

But what should we do if the main part of the work on the project needs to be done in DAW, and the synthesizer is used as a tone generator and at the same time it is necessary to keep all the voice sounds such as they sound in the synthesizer?

Well, firstly, you can record your performance in "Song" on the synthesizer and then transfer the MIDI file to DAW. In this case, all the necessary SysEx messages will already be registered in the MIDI file. After the MIDI file is transferred to the DAW, you can make some adjustments in the project, though not very significant.

A MIDI file created in Tyros can contain dozens and even hundreds (!!!) banks of system exclusive messages, both common to the style and composition in general and in the form of insertions in certain parts of the "Song". At the same time the size of the MIDI file itself can be very significant which ultimately affects the very process of DAW operation. Only downloading a project can take a considerable amount of time. For instance, in the following example, Song contains 175 unnamed SysEx messages:

Figure 3 SysEx messages

Perhaps someone likes this order of work and feels quite comfortable. At first, I did the same. But as a composer, I still work a little differently. For me, any built-in style in synthesizer is only an approximate direction of arrangement (instrumentation) of the composition. Despite the wide variety of built-in or downloaded from the Internet styles, there is always a desire to change something, to replace or add a voice, make some inserts, pauses, movements of individual parts, etc.

But by removing or cutting out some parts, we remove / cut / move SysEx inserts too, which immediately affects the sound. The instruments start to sound different. Change or assignment of voices to free tracks is also problematic - either a new voice would sound like without the desired effect or with an inappropriate effect.

And to clean SysEx banks in MIDI-file is a very thankless task. SysEx banks have no names. And the average user can not understand the functionality of the values of these messages.

On free tracks, you can painlessly add only the voices of the formats GM, GM2 and XG (to which insert effects are not applied). And also only provided that there are no previously assigned effects using SysEx on these tracks.

Sometimes the project is generally created in DAW from scratch (without resorting to synthesizer styles) and each part is drawn directly in the Piano Roll window. Naturally, SysEx in the project will be absent.

The advice occurs on the message boards that you can connect the needed voice to the DAW by selecting it on the synth-panel when the desired track is in the "record" mode in DAW. For me, this did not work at all. As a rule, a heap of incomprehensible SysEx effects began and as a result there was a complete cacophony. In general, I could not work out and implement this method.

I saw only one option - to clean out from the project all SysEx completely and replace the necessary ones in certain places. But this presented another problem. There are no ready-made SysEx libraries for insertion effects for voice at all. At least, I was not able to find them.

What Should We Do?

The only way out of the situation is to create SysEx by yourself and especially create addressed channels of DSP block intended for a particular voice. No matter how I tried to avoid this (in hope that somewhere I could find ready-made libraries), I had to do it. I say at once - it was a colossal work. Imagine that in my Tyros, given the downloaded Premium Packs, 1,127 voices out of 2,758 voices contain an insertion effect. If you consider that 744 voices out of 2,758 refer to the standards of GM, GM2, XG, then more than half of the brand voices of Tyros are voices with insertion effects! That is, Yamaha engineers did not make their work difficult sampling new voices and went the other way. Perhaps the sound quality of the synthesizer won from this but the convenience was lost in working with DAW.

If we look at the "Reference Manual" for Tyros5, we will see that the instrument has 9 blocks of DSP effects, which are divided into the types already mentioned: EFFECT1, EFFECT2, SPECIAL EFFECT.

Moreover, only DSP1 can be used as the system one and only DSP7 can be done as the special one. At the same time, Tyros 5 allows us to use all 9 DSPs as insertion effects, but only 5 of them (from the 2nd to the 6th) are attached to the voices. Therefore, let's forget about other effects for a time (1, 7, 8, 9). For other models the number of DSP blocks can be different, that does not change the essence. Having understood the principle, you can easily adapt this process to other models, reducing (and maybe even increasing) the number of DSP blocks and readymade SysEx files on the whole. But, now we are considering the issue in relation to Tyros 5.

Note - if you go to the EFFECT TYPE menu on the synthesizer's voice selection display, we will see that all insertion effects for Tyros voices are assigned a DSP6 block by default. But especially it is not necessary to focus attention on this, because in fact Tyros assigns effects to any free (not occupied by other effects) DSP block.

So, considering that there are 16 channels and 5 insertion effects (DSP2, DSP3, DSP4, DSP5, DSP6) as we have determined, the number of possible banks per voice is 80. A total of 90,160 banks can be created for 1,127 voices! In principle, this amount is not difficult to create in Microsoft Excel, that was almost done by me. There is only the question if it is necessary to do so much? All these created banks need to be transferred to SysEx-files. And this is already a manual job, because there is no professional programmer around. Unfortunatelly, I can not write a special program that converts digital banks from Microsoft Excel to SysEx files. And sorting through 90,160 files in looking for the right one would be very troublesome. So I decided to simplify my task a little.

Let us suppose that banks for all 16 channels and 5 DSP effects (i.e. 16 (Chanels) × 5 (DSP) = 80 banks) for melodic (normal) voices can be created.

But for drums voices we can leave two channels: 9th and 10th, just the ones Tyros appoints them to. Paying into account that in the project it does not make sense to assign more than 2 tracks for drums instruments then two of the five DSPs for these two channels will be enough. I decided to choose DSP 5 and DSP 6. Thus, for drums voices, it's enough to create 2 (Chanel) × 2 (DSP) = 4 banks.

I decided that it is still too much and senseless. Consider that one DSP can not be used simultaneously more than once, so more than five insertion effects for voices can not be simultaneously in the project in total. In this way, I need only create 5 SysEx-files on each voice and calm down. But since the insertion effect is attached to a particular channel, it is necessary to provide some freedom. There are 16 channels! And if you subtract the 2 reserved for drums instruments, there will be 14 channels. Some channels can be already occupied by other voices, for which, for example, the DSP-effect is not required. Therefore, I drew a scheme for myself, which I decided to follow when creating SysEx files (see Figure). Figure 4 - mapping DSP2-DSP6 to 16 channels

So on one channel there is one (out of 5) DSP insertion effect.

As a result, for each melodic (normal) voice were created 14 files and for drums voices 2 files. Total created 15,622 SysEx files. This is not 90,160. But, still, a lot. But there is room for maneuver. Starting this work, I still did not understand its scale, and, afterwards, I did not want to stop, trying to finish what I had started.

Only I do not understand one thing - why I did it, not Yamaha engineers. This would be correct in all respects. It was possible, at least, to publish a table of SysEx banks (like Bradis tables, only for Yamaha owners big grin). But, let's leave it on Yamaha's conscience.

I would like to note one more point. It was possible to go in a simpler way. Perhaps, for some, this option will seem acceptable. In total, Tyros 5 has 322 insertion effects of type EFFECT2. Create a SysEx for 322 effects at first glance seems easier than for 1,127 voices. But then before inserting the needed SysEx into the project, it is necessary to see what effect the synthesizer uses for a particular voice, going to the corresponding display on the synthesizer panel, and then inserting SysEx of this effect into the desired place. However, I figured that by saving time when creating SysEx files, I will lose it a lot more while working on the project, so it's better to create separate SysEx files for each voice.

And since the same effect can be assigned to several voices, creating SysEx files for many voices will be reduced to simple copying, but only with the subsequent renaming of files under the name of another voice.

You can go the other way. Create SysEx files for all 322 effects, then spread them over the voices folders without assigning names to the files.

But, I decided that it would be better to rename the files under the name of each voice.

Of course, this also takes time, but it will be files addressed to the voice, channel and DSP and when working with the project it is enough to select from the folder the file under the number of the necessary voice with the channel and DSP assigned to it.

Well, for those who consider it more appropriate to create SysEx only for effects, I give digital codes in a hexadecimal system (pairs of bytes) for all effects of type EFFECT2 for Tyros 5. Click on the link below to download this Excel file:

Effect List.xlsx

Creating SysEx digital banks insertion effects

Now, some detail about how I created SysEx digital banks. I could just place (on a paid or free basis) created banks and SysEx-files, but, for sure, there are people who have the same problem with other models of PSR, Tyros, Genos or other Premium Packs. My banks and files may not suit them. But they will understand how to create their own banks.

So, first, let's see what is SysEx for the insertion effect.

The insertion effects themselves can be divided into two types: the standard effect (with a certain ready-made set of parameters) and the effect with variation (when one of the parameters is changed, with respect to the "standard" effect), where in addition to the command for using the effect, there will be an additional command on changing the parameter (correspondingly, such a SysEx will be slightly larger).

We immediately divide the concepts of the Variation Effect (which is of the EFFECT1 type) and the Insertion Effect with Variations (which is of the EFFECT2 type). It can be confusing with the word "variation" in both cases. Perhaps the manufacturer had to somehow think through this question and introduce different terms so that there would not be confusion. But, we have what we have. Therefore, in this article we will forget the first term and call it EFFECT1. And everything that concerns the "variation" in the text will be of the type EFFECT2.

So SysEx contains commands that are encrypted with certain numbers in the hexadecimal system. The SysEx message for the standard (without variation) insertion effect consists of two parts and looks like this:

F0

43

10

4C

03

02

00

65

14

F7

F0

43

10

4C

03

02

0C

0B

F7

We see a set of two-digit numbers called "bytes", which does not tell us anything. Let's take a closer look. For convenience of perception we divide the same message into two parts as follows:

F0

43

10

4C

03

02

00

65

14

F7

F0

43

10

4C

03

02

0C

0B

F7

 

The first (top) part is the insertion effect selection command:

F0 - the beginning of the system exclusive message. Receiving it, the synthesizer understands that now it will start a message for him. Without this command the synthesizer will ignore all further messages until this one arrives;

43 - Yamaha manufacturer's code;

10 - the device code;

4C - model code XG;

These three numbers (bytes) are the synthesizer identification codes. Our synthesizer will understand that they are turning to him. Synthesizers from other manufacturers will ignore this message. Generally, synthesizers ignore all messages that are composed incorrectly (with an error), are made for other models or give commands that this synthesizer does not perform due to its technical capabilities. For Roland and Korg, respectively, the identification codes will be different.

03 - the message concerns application of EFFECT2, (for EFFECT1 this value would be 02, for SPECIAL EFFECT - 04);

02 - block DSP4 will be used (for DSP2 this value will be 00, for DSP3 - 01, for DSP5 - 03, for DSP6 - 04);

00 - command: "selection of insertion effect";

65 - MSB address of the insertion effect;

14 - LSB address of the insertion effect.

F7 - the completion of an exclusive message. Without this command the synthesizer will not understand that the command is completed and, in the end, will ignore it.

The above explains the first team. But, since the insertion effect for a voice is assigned to a specific channel (track), then a corresponding command is needed. The second (lower) part of the message just does this function.

Because this is an independent team, we start again from the beginning:

F0 - the beginning of the system exclusive message;

43 - Yamaha manufacturer's code;

10 - the device code;

4C - model code;

03 - the message concerns application of EFFECT2;

02 - the block DSP4 is operated;

0C - command: "channel selection";

0B - Channel 12 (Channel 11 has the code 0A, 10th - 09, 9th - 08, etc.);

F7 - the completion of an exclusive message.

So, we see that most of the numbers (bytes) in the message are permanent, and only the following is subject to change: DSP number 2-6 (00-04), Effect address MSB 0-127 / LSB 0-127 (00‑7F / 00‑7F), the destination channel is 1-16 (00-0F).

F0

43

10

4C

03

02

00

65

14

F7

F0

43

10

4C

03

02

0C

0B

F7

 

The SysEx message for the insertion effect with the variation will consist of three parts and look like this:

F0

43

10

4C

03

04

00

15

08

F7

F0

43

10

4C

03

04

02

08

F7

 

F0

43

10

4C

03

04

0C

0E

F7

 

Added one more part between the insertion effect command and the channel assignment command for the effect is the command to change one of the effect parameters, in which:

02 - number of the parameter of the effect to be changed. Each "standard" effect has 16 parameters. Changing any of them acts on the sound of the voice to which the effect is applied;

08 - a new (different from the "standard") value of the parameter being changed.

Thus, for the insertion effect with variation, the following is subject to change: DSP number 2-6 (00-04), Effect address MSB 0-127 / LSB 0-127 (00-7F / 00-7F), parameter number 1-16 (02-1B, 20-25), the value of the parameter being changed is 0-127 (00-7F), the destination channel is 1-16 (01-0F).

Now, knowing what SysEx-banks consist of and how they look, let's start creating them.

First, we need to determine which voices contain the insertion effect. Published by the manufacturer of "Data List" of our model does not contain such information, so we will have to choose these voices on the synthesizer manually (DAW is not yet launched!!! This is a prerequisite, otherwise the indication on the synthesizer panel will not be correct!).

Figure 5 - Voice screenOne more thing. It is better to adjust the display of the synthesizer, so that it shows the numbers of banks and programs for voices. To do this on the Tyros5, go to the FUNCTION MENU and select UTILITY. Tab over to CONFIG2. At the bottom of the display make sure VOICE NUMBER is set to SHOW rather than HIDE. The voice number will now display in the upper right-hand corner of each voice.

We begin to browse out the voices with the buttons or the DATA ENTRY disc and simultaneously watch the group of buttons and indicators "VOICE EFFECT" in the right upper (far) corner on the front panel of the synthesizer.


Fig 7 - Voice Effect with DSP light onWe are only interested in the last two buttons "DSP ..." and "VARIATION". If, when you select a voice on the synthesizer, the indicator above the "DSP ..." button lights up, it means that the given voice is played using the insertion effect and it is to it that we will create SysEx:

Figure 8 Voice Effect with DISP and VARIATION litIf the indicators of both the "DSP ..." and "VARIATION" buttons light up, it means that our SysEx is slightly more complicated, because It is not just a "standard" insertion effect that is used, but its variation - that is, any of the parameters of the effect is changed and differs from the standard parameter for this effect:

Fig 9 - Voice Effect with Variation ONIf only the indicator of the "VARIATION" button lights up, then we ignore this voice (in terms of not creating SysEx for it), since the effect of DSP is still turned off, and the variation itself without effect has no effect on the sound:

You can ignore a voice if the button indicators do not light.

All other buttons have no relation to the insertion effects, they determine other functions related to immediate real-time performance of the songs on the synthesizer, so we do not pay attention to them either.

Having done this work, we get a list of voices for which you need to create SysEx insertion effect files:

#008-034-021 ClaviFunk
#104-009-005 SuitcaseBallad
#104-010-005 SuitcasePhaser
#104-011-005 SuitcaseDrive
#104-012-005 SuitcaseTremolo
#104-013-005 SuitcaseJazz
#104-010-006 TX-EPBright
#104-011-006 TX-EPMellow
#104-012-006 TX-EPWarm
#104-000-006 SweetDX
#000-124-006 BalladDX
#000-121-006 SparkleStack
#000-123-006 DXDynamics
#104-002-006 BalladBells
…..…..……. ……………
Well, and so on.

So, consider the algorithm for creating a SysEx file for the Tyros 5 voice on the complex and confusing data that the Yamaha producer gave us from the generosity of the soul in the "Data List" he published.

1. Fogire10Select the voice on the panel for which you need a SysEx file and then enter the Voice Set menu. In this figure, RockHero is selected.


Figure 11 Next, go to the EFFECT/EQ tab and move the cursor down to the DSP setting.
Figure 12At the bottom of the display under DSP TYPE we see what effect is used. We see that in this case we use the effect type CMP+OD+TDLY6 from the Legacy category. For this voice, the VARIATION part is switched off (highlighted OFF).

 

Figure 13 - Yamaha Data List Manual cover

2. Open the brochure "Data List" attached to our instrument (or download it from the site).

On page 41, we find the table of the Effect Type List (see below). Click on any of these tables for an enlarged view of the data.

Figure 14 - Effect Type List

In the Legacy category (this is on page 43), we find the corresponding type of effect Comp + OD + Tmp Delay 6. Writing on the display of the synthesizer due to the limitations of the field may slightly not coincide with the writing in the brochure, you should bear this in mind:

Figure 17 - mapping of effect type to MSB/LSB.

In the next column we see the description of the effect. Next, in two columns, the number (MSB-LSB) of the effect is indicated, which has a value of 101-20 in the decimal number system. The last column is ignored so far. We need it when the effect is with the variation part.

So, in order for our RockHero voice to sound like it should be, we need to insert the appropriate SysEx into the DAW so that the synthesizer turns on this effect. But just as SysEx understands only hexadecimal numbers, we go to page 80, where we are given a table of translation of binary, decimal and hexadecimal numbers:

Figure 16 - Decimal to Hexadecimal conversion

We search for a number 101 in the decimal column and see that it corresponds to hexadecimal 65. And the number 20 corresponds to 14. So, we already have a hexadecimal code of our effect, consisting of two bytes: 65 14. We paste them into our command:

F0

43

10

4C

03

02

00

65

14

F7

F0

43

10

4C

03

02

0C

0B

F7

 

Figure 17 - Selecting SingleCoilClean voiceNow, let's consider a voice with a variation of the effect. We choose, for example, SingleCoilClean and then select the VOICE SET oprtion at the bottom of the Voice screen.
Figure 18Tab over to the EFFECT/EQ tab and select DSP. We see that the type of CMP+OD+TDLY4 effect from the Legacy category is used. The variation part is ON (highlighted ON).

In the Legacy category (on page 43) we find the corresponding type of the Comp + OD + Tmp Delay 4 effect. We look at the number (MSB-LSB) of the effect, which is 101-18.

Go to page 80. We look for the number 101 in the decimal column, it corresponds to the hexadecimal 65. The number 18 corresponds to 12. Finally, we obtain the hexadecimal code for the MSB and LSB of the effect: 65 12.

Now we need to get the variation code. To do this, we return to the "Effect Type List" table on page 43 and look at the last column. We need it, because the effect has a variation part. There we can see the name of the "standard" effect, in which some of the parameters will be varied:

Figure 19

This is COMP DIST TEMPO DELAY. In the title of the column, we see the direction on pages 46 - 59.

We will proceed accordingly. We look for a table with this name - COMP DIST TEMPO DELAY- on these pages. We find it on page 51.

Figure 20

We see that there are 16 rows of different parameters in the table. So each parameter is assigned its own number from 1 to 16.

Figure 21We return to the synthesizer display in the "VARIATION" block and look at parameter we are interested in. We see that this is DELAY TIME with the value "8th":

DELAY TIME in our previous table (from page 51) is found in the very first row, number 1.

Now we go to page 87 in the table MIDI Parameters Change for EFFECT2:

Figure 22

We have a look at the Address column. The first part of the address is already known to us (03 - the message concerns the application of EFFECT2). It is a constant value for our SysEx, we know it, so we do not pay attention to it anymore. We will be interested in the second and third parts (bytes) of the address.

So, we see that for the parameter at number 1 (see the second row on top), the third byte of the address is equal to the hexadecimal  number 02. (Keep in mind that in this table there is no direct dependence of the parameter number on the table row and one must be careful when determining the codes for parameters 11-16).

Figure 22It remains to determine the second byte of the address (n) which characterizes the changed (variable) value of the DELAY TIME parameter. To do this we go back to page 51 in the COMP DIST TEMPO DELAY table. We see that in the last column of our line, the direction to table # 5.

Go to page 60 with Effect Data Assign Table.

We find Table #5 - Tempo and our value "8th" corresponds to the decimal - 8, we translate it into hexadecimal - 08.

Now we can enter our found byte values into our command and get the following SysEx:

F0

43

10

4C

03

02

00

65

12

F7

F0

43

10

4C

03

02

02

08

F7

F0

43

10

4C

03

02

0C

0B

F7

 

Is it complicated? Very much! There are different systems of numbers, the spread of information on different tables, complex navigation ... As you can see, everything is done in order to confuse the person completely, to disrupt him, to anger and force him to abandon this venture. But, fortunately, there are such stubborn sheep like me smile who decide to go to the end.

I want to turn attention to some of the nuances of working with effect tables when calculating the code of the variation part.

The issue is either a misprint in the "Data List" or an error in the interface of the software of the instrument. But most likely the first because, after updating the version of the software in the interface of the instrument, nothing has changed and I hope that the creators will correct in subsequent versions all the errors found in the previous ones. And to the "Data List" hands of manufacturers are unlikely to reach.

The problem is that in the "Data List" in the table with the name V DISTORTION DELAY (page 51) there is no DELAY TIME parameter with the value "8th", which displays the synthesizer display for voice effects #104‑003‑063 ClubLead, #000‑113‑030 FeedbackGtr, #000‑112‑030 OverdriveGtr, #008‑000‑005 OverdriveGt. Most likely, we mean the table V DIST TEMPO DELAY (page 50) where this parameter is present in such values, and logically, this effect is applied to the specified voices, which is confirmed in practice.

And one more - on page 54 there are two absolutely identical tables with the name TOUCH WAH1 and two absolutely identical tables with the name TOUCH WAH2. Otherwise, as "misprints", these coincidences can not be called.

Secondly, not all effect parameters from the tables on pages 46 - 59 have the reference to the tables on pages 60 - 62. Therefore, values must be calculated empirically. Somewhere this is simpler (for example, a parameter can have only two or three values and we just select the one we want), and somewhere is more complicated. For example, for voice #104-002-100 NylonHeaven  synthesizer on the display shows the value of the parameter +20. In the table CROSS DELAY (page 47), we see that the range of values of parameter No. 3 Feedback Level is from –63 to +63, and the decimal values (Min, Max) for this range from 1 to 127. Those, the scale is distributed as follows:

– 63 …………... 0,…+20…….. + 63
   1 ……...……. 64..…84……… 127

Accordingly for our value of the parameter +20 the code number will be 84 (64+20) in the decimal value which will correspond to the hexadecimal value 54 (Oh, how proud I am! smile), which we will write in SysEx.

But let's return to the process of the bank creating.

And somehow to automate the process of creating banks of system exclusive messages, I prepared the templates in Excel, in accordance to the previously mentioned scheme "16 Chanel & 5 DSP" for melodic (normal) voices and "2 Chanel & 2 DSP" for drum voices. See the two figures below. Note also that you can see an expanded view by clicking on either image.

Figure 24 - Excel Template

On a larger scale it looks like this:

Figure 25 Excel template enlarged

I have made this Excel template available to interested readers. Click on the link below to download the Excel template.

Template.xlsx

Now, just enter the appropriate values in cells "H" (MSB) and "I" (LSB) and Excel will automatically output all 80 SysEx banks for Normal Voice. For Drum Voice - 4 banks:

Figure 26

Figure 27

So, tens of thousands of digital SysEx-banks were created for 1,127 voices.

For the subsequent convenience of creating SysEx-files, I shadowed the template cells of the "unnecessary" banks in advance. But banks exist and they can be used at any time if necessary. You can download all of this in SysEx-banks for Tyr5.zip file below.

SysEx-banks T5.zip

And from the "right" banks I created 15,622 files for 1,127 voices.

Creating SysEx files from digital banks

Now, for convenient work in DAW, our digital banks need to be converted into SysEx files.

The process is quite time consuming, I was not able to automate it, I did not have a competent programmer at hand, so everything was done manually in SONAR in the system message banks editor.

Initially, I determined for myself that the file should be attached to a particular voice, channel and DSP.

So, first of all, this should appear in the file name.

Secondly, when choosing a voice in the DAW, it should be clear whether the insertion effect was applied to this voice or not. Therefore, going back a little bit back to the .INS-file, I decided to number the banks and programs of all voices in the .INS-file in accordance to the numbering that the Tyros 5 display gives out. So this is a six-digit bank number (two groups of three digits) and a three-digit program number (patch). It seemed to me, that it looks cumbersome (I had not yet suspected what kind of underwater rock was awaiting further smile). But since the creators of Tyros did not give me another chance - I decided to put up with it. The matter is that for many years of work in DAW, I got used to designation of banks by one number (MSB×128 + LSB) instead of a pair of three-digit numbers. After spending a lot of time, I entered six-digit numbers in the bank numbers in the .INS-file. But then it turned out that SONAR persistently did not want to issue a six-digit two-group code but automatically issues the bank number according to the above scheme (MSB×128 + LSB)! As a result, the numbers of banks turned out to be three-group:

Image28

Where the first part is the calculated SONAR "MSB×128 + LSB", but the second and third parts are MSB and LSB from Tyros. At first, of course, it was greatly confused! But here you just have to ignore the first part when choosing a bank and get used to it. Although if someone found a solution to this petty problem, it would be nice.

Well, already inside the banks in the names of the voices I added the "DSP" symbol for those voices that needed an insertion effect:

Image29

Now let's go directly to the procedure for creating SysEx files.

To do this, we go to SONAR in the editor of the system message banks and in the main SONAR window of the menu Views → Sysx. In the list of banks we choose empty <empty> and double click. The Edit System Exclusive Bytes window appears:

Figure 30 SONAR Edit SysEx Bytes window

Then we copy a line from Excel:

Figure 31 - Excel line

and transfer it to the empty field Edit System Exclusive Bytes

Image32

There was a fear that simple copying from Excel would not work. And in SONAR, in the system message banks editor will need to enter byte values manually or remove spaces between bytes. I do not know how things are in other DAW, but SONAR in this sense made me happy. Copying a line from several cells and inserting into Edit System Exclusive Bytes, we really get big spaces between numbers (bytes).

However, if you press the "OK" button, the editor swallows the information and does not produce any error messages. If you double click on the row of the created bank, it will open in the usual form without spaces:

Image33

Apparently, the editor is so arranged that it ignores all the extra values and gets rid of them, and in the end we get a normal bank. Now we need to give him a name. To do this, open the File menu:

Image34

and execute the Save operation, assigning the file a name according to the scheme:

#Chanel_# & Name Voice_#DSP.

In this example we created the first of 14 files:

Image35

Previously not forget to find the path to the folder with SysEx-files for your DAW (for example: C:\Users\AppData\Roaming\Cakewalk\SONAR Platinum\Sysx Files). Inside this folder, I created separate folders for each of 1,127 voices, in which there will be 14 files for melodic voices and 2 files for drums voices.

Image36

 

Image37

The only deviation from the scheme I adopted for assigning SysEx names to files is the names for the Turkish Pack (Bank 049-010). In this Pack uses only 2 types of insertion effect for voices: from 1 to 83 and 120 voices use the insertion effect Reverb/Hall 4, and from 84 to 106 - use the insertion effect Delay/Tempo Cross 1. Therefore, for Turkish Pack voices, the files are named: in the first case #Chanel_049-010-(n)_Turkish 1_#DSP, in the second - #Chanel_049-010-(n)_Turkish 2_#DSP.

Now, if you select <empty> again in the list of banks and through the File → Open menu,

Image38

open an already created bank, it will appear in this line already with its name and we will see the information on the occupied channels and DSP blocks so that in one project we do not duplicate the same parameters for another voice:

Image39

Thus, we create a large number of SysEx files for our voices. The process is long. But it is slightly simplified, as I said above, by repeating one effect to several voices. In this case we copy the finished files of one voice and rename them for another voice.

Notice the column named Output. If you have a single synthesizer connected to SONAR, you can ignore this column. And if you have several synthesizers, you will need to make sure that this cell reflects the port of the synthesizer to which you will apply this SysEx-bank.

How to use SysEx Files

So, for a specific channel in the DAW project we assign a specific voice,

Figure 40

If we see the designation "DSP" at the end of the voice name, this effect must be connected to this voice ( i.e. insert the corresponding SysEx).

Then in the main SONAR window of the Views → Sysx menu, we open the system message editor. In the list of banks, we choose empty <empty> and through the menu File → Open:

Image41

Then, in the corresponding voice folder, open the file of the needed channel. If the project uses one more voice with the mark "DSP", you should pay attention to what channel to place it, so as not to repeat the already occupied DSP. Suppose, if the first voice is placed on the 2nd channel, we should not place the second voice on the 7th or 12th channel because files will refer to the same DSP. As we remember, in the project it is possible to place only 5 insertion effects for the voice, if they are used simultaneously. The quantity of voices with insertion effects can increase, if these voices are distributed over the track at different times.

Consider the use of SysEx files.

1. A voice with an insertion effect is involved on the channel during the whole project. In this case, it's best to tick the attribute of the automatic downloading of the bank through the Setting menu:

Image42

Image43

When a checkmark is ticked, the project should be saved, closed and opened again so that the banks are booted. At any subsequent opening of the project, all banks with an attribute (tick) Auto will be loaded automatically.

But this is not always required. Let's consider another example.

2. The voice will be used only at some interval, and then, for example, the voice will be replaced in the same channel. In this case, automatic download attributes are not needed because we will assign these banks to certain places through the Event List. Note that in this case we need SysEx bank to disable the insertion effect so that it does not dilate to the next voice connected to the channel:

Image44

Simply resetting XG-parameters here is not suitable, which, incidentally, we were warned about in the table on page 87:

Figure 45

By the way, do not forget to do the zeroing of the XG system for each opened project. Otherwise, all the system messages left in the synthesizer's memory from the previous (even closed) project will be transferred to the newly opened project and these messages are superimposed on each other. To do this, you need to load the corresponding xg-reset.syx file with the Auto attribute in the File → Open menu, which is included with the SONAR package along with two other files (gs-reset.syx, gmsystem.syx). And it's best to immediately register this SysEx by default in the "new project" SONAR template.

However, we can not disable insertion effects with this message.

So we need to create files to disable insertion effects. I found the several ways to create such banks.

In the first case, the address of the effect is set to zero, which means deactivation of the effect:

F0

43

10

4C

03

02

00

00

00

F7

F0

43

10

4C

03

02

0C

0B

F7

 

In the second case, code 7F is placed on the channel number, which means OFF "channel assignment" according to the 12th line of the above-mentioned table:

F0

43

10

4C

03

02

00

65

14

F7

F0

43

10

4C

03

02

0C

7F

F7

 

Both methods have been tested. Both work. However, when using the first scheme, for some reason, the overall volume of the track decreases after the effect is turned off. Under the second scheme, this is not observed. Experimenting further, I found that the first (upper) part of the message in general could be removed and leave only such bytes:

F0

43

10

4C

03

02

0C

7F

F7

Thus we disable the channel assignment not for a particular voice and channel, but for a particular DSP. And since we remember that one DSP can not be used in the project at the same time for several voices or channels, it is also not necessary to clutter our SysEx with redundant information. We simply disable (7F) a specific DSP number (2, 3, 4, 5, 6) / (00, 01, 02, 03, 04). Therefore, only five SysEx files for disabling effects were created for use.

OFF DSP-2:

OFF DSP-3:

OFF DSP-4:

F0 43 10 4C 03 00 0C 7F F7

F0 43 10 4C 03 01 0C 7F F7

F0 43 10 4C 03 02 0C 7F F7

OFF DSP-5:

OFF DSP-6:

 

F0 43 10 4C 03 03 0C 7F F7

F0 43 10 4C 03 04 0C 7F F7

 

So, if we plan to replace one voice on another (or do it several times) on the interval of the same channel, we should disable the effect of insert a voice when its part is over. If the next voice also needs an insertion effect, we need to enable it before the start of this voice part. And so on - turn off the insertion effect after the completion of the next voice party.

How should that be done?

So, let's say, in the project we opened the next voice #000‑123‑006 DXDynamics and placed it on the 3rd channel. We saw that it had a DSP attribute. Accordingly we load the SysEx files:

Ch3_000-123-006_DXDynamics_d4.syx and

OFF_DSP4.syx.

Having downloaded all the files we need through the system message bank editor, we will see the numbers of the banks in the leftmost column. Here it is necessary to be more careful, because the numbering starts from zero and the first bank will be under # 0, the second - under # 1, the third - under # 2, etc.

Image46

We see that the enable bank is # 2, and the disable bank is # 3.

Select the track on Channel 3 in the main window of the SONAR project and open the Event List.

Figure47

We set the cursor to the needed (in time) place and add a new event by available means (button «+» or by means of the Insert Even menu or via the Insert key). We click on the appeared line in the column Kind:

Figure48

In the opened window we select Sysx Bank and click the "OK" button. In the Data field we enter the number of our bank to enable the insertion effect (# 2):

Figure 49

In the same way we insert an event to disable our insertion effect (bank # 3):

Figure50

Now it is desirable to correct the time of the inserted events, so that the enable time of event was slightly earlier than the start of the first note, and the disable time of event was a bit after the end of the last note. Doing this it is worth to make sure that the notes of different voices on the same track do not overlap. So it is necessary to give the synthesizer some time to receive commands and enable / disable effects. These illustrations show only the principle of assigning and disabling effects. The assigning of voices is not shown here.

Well, here, in general, that's all! Now you know how to create the necessary SysEx insert effect files for the Yamaha family voice of the PSR, Tyros, Genos family.

I wish you creative successes!

Tetis.


15,822 SysEx files for Tyros 5

If you do not want to waste time creating files, you can buy the archive of the finished files by clicking on the button below. The archive includes the .INS file and 15,622 SysEx insertion effects files for the factory voices of Tyros 5 and the voices of the following Premium Packs:

Premium Pack Voices Included in Archive

Euro Dance 2016
Entertainer 2016
Best of Europe
Celtic
SA2 Alt Saxophone

SA2 Bariton Saxophone
SA2 Tenor Saxophone
SA2 Pan Flute
SA2 Trombone
SA2 Female Vocal

Japanes
Choir & Vocals
Vietnamise
Vintage Keyboard
Vintage Synth

Euro Organ Artist
FM Xpanded - Tyros5
Live Organ - Tyros5
Church & Christmas
Turkish

There you will also find instructions on how to loading files to the DAW. The cost of the archive is $15.

[top]


Seek Forward Button seek back

This page updated on May 20, 2021 .