back to list

Yamaha XG SoftSynth S-YXG50 Ver.4.23.14 WDM US-S for Windows XP only

🔗Mohajeri Shahin <shahinm@kayson-ir.com>

8/6/2007 12:42:44 AM

A link to download:
Yamaha XG SoftSynth S-YXG50 Ver.4.23.14 WDM US-S for Windows XP only <http://mids.ru/soft/syxg50xp.rar>
Setup with a file for serial number

Shaahin Mohajeri

Tombak Player & Researcher , Microtonal Composer

My web siteوب سايت شاهين مهاجري <http://240edo.googlepages.com/>

My farsi page in Harmonytalk صفحه اختصاصي در هارموني تاك <http://www.harmonytalk.com/mohajeri>

Shaahin Mohajeri in Wikipedia شاهين مهاجري دردائره المعارف ويكي پديا <http://en.wikipedia.org/wiki/Shaahin_mohajeri>

🔗ma1973 <marcsavage73@mchsi.com>

8/7/2007 11:27:13 AM

Thanks for the link. The Yamaha XG standard supports microtuning
(within limits), but I can't see how to implement this feature in this
software XG synth. Any ideas?

🔗Petr Parízek <p.parizek@chello.cz>

8/7/2007 1:44:12 PM

> Thanks for the link. The Yamaha XG standard supports microtuning
> (within limits), but I can't see how to implement this feature in this
> software XG synth. Any ideas?

The XG retuning commands are limited to octave-periodic scales with a
maximum size of 12 tones and a maximum deviation of -64..+63 cents away from
12-EDO. That means you have to use multiple MIDI channels if you want to
tune larger scales. Scala supports this as well. You can try it out with
"Set synth 108". You will probably often need to use "Set adjustment" in
order to adjust the base pitch so that the retuning values are the smallest
necessary. And you will, of course, probably need to connect your computer
to an external keyboard via MIDI to be able to play the sounds in real time.

Petr

🔗ma1973 <marcsavage73@mchsi.com>

8/8/2007 8:40:38 AM

Thanks, Petr. I think I do understand the tuning capabilities and
limitations supported by the Yamaha XG standard. I have a hardware
XG synth (PRS730) and it's easy to set the tuning from the front
panel. My question is how to do that with the XG soft synth? I
can't see any menu or set of options to set the tuning in the
software. I only find a window called "detailed settings" which
actually contains very few settings -- polyphony, CPU usage, and not
much else. There isn't even an option there for master tuning, much
less scale tuning. I don't see where you have found the commands
to "Set synth 108" or "Set adjustment". Where are these commands to
be found? Thank you.

--- In tuning@yahoogroups.com, Petr Parízek <p.parizek@...> wrote:

Thanks for the link. The Yamaha XG standard supports microtunin
(within limits), but I can't see how to implement this feature in this
software XG synth. Any ideas?

<i>The XG retuning commands are limited to octave-periodic scales
with a maximum size of 12 tones and a maximum deviation of -64..+63
cents away from 12-EDO. That means you have to use multiple MIDI
channels if you want to tune larger scales. Scala supports this as
well. You can try it out with "Set synth 108". You will probably
often need to use "Set adjustment" in order to adjust the base pitch
so that the retuning values are the smallest necessary. And you will,
of course, probably need to connect your computer to an external
keyboard via MIDI to be able to play the sounds in real time.

Petr</i>

🔗Petr Parízek <p.parizek@chello.cz>

8/9/2007 1:00:34 AM

> Thanks, Petr. I think I do understand the tuning capabilities and
> limitations supported by the Yamaha XG standard. I have a hardware
> XG synth (PRS730) and it's easy to set the tuning from the front
> panel. My question is how to do that with the XG soft synth? I
> can't see any menu or set of options to set the tuning in the
> software. I only find a window called "detailed settings" which
> actually contains very few settings -- polyphony, CPU usage, and not
> much else. There isn't even an option there for master tuning, much
> less scale tuning. I don't see where you have found the commands
> to "Set synth 108" or "Set adjustment". Where are these commands to
> be found? Thank you.

Hmmm, let me turn into a "guide writer" for a while.

1. Download the two files (Scala and the scale archive) from here:
www.xs4all.nl/~huygensf/scala/downloads.html

2. After completing the instalation or unzipping the contents of the Scala
package (depending on which version you have downloaded), unzip the scale
archive into the folder where you have Scala installed (be sure to use the
option to unzip folders as well, otherwise the scales could get mixed up
with the default Scala files).

3. Connect your computer to an external keyboard via MIDI and set the Yamaha
XG50 softsynth to be receiving the data from your external keyboard in order
to be able to play the XG50 sounds in real time.

4. When you're sure it works, run Scala.

5. Let's say we want to tune the 12-tone version of Zarlino's 2/7-comma
meantone in XG. This tuning can be found in the file of "mean2sev.scl" in
the scale archive. As we have already unzipped the contents of the archive
into the same directory where we saved Scala itself, we can tell Scala to
locate and load this file by typing "Load scl\mean2sev" onto Scala's command
line. If everything goes right, you should see something like "2/7-comma
meantone (Zarlino, 1558(" when the load has been done.

6. To tell Scala to use XG format for retuning, type "Set Synth 108".

7. To verify if you can successfully tune your XG synth into the scale we
just loaded, type "Send/Screen". If none of the lines is marked with a star,
then everything is okay. If there are some lines marked with a star, this
means that the tuning deviations from 12-equal are greater than -64..+63
cents. If this happens, try "Set Adjustment" and then "Send/Screen" again.
If you still see some lines with stars, then it is impossible to tune this
scale into XG. As the 2/7-comma meantone tuning doesn't have so strong
tuning deviations, you definitely won't need to use "Set Adjustment". But
you probably will, as far as some more unusual tunings are concerned.

8. Type "Send". This should retune the first MIDI channel to 2/7-comma
meantone. Unfortunately, Scala doesn't have an option to retune channels
2..16. Try playing the first MIDI channel via your external keyboard to hear
if it has been successfully retuned. If this doesn't work, type "Send/File"
followed by a name to save the MIDI file with. Scala will put all the
commands into the file and add a ".mid" extension to the name you give. Then
try loading the new MIDI file into your XG50 player and see if the first
MIDI channel has been retuned okay.

Hope this helps.

Petr

🔗Manuel Op de Coul <manuel.op.de.coul@eon-benelux.com>

8/9/2007 8:56:37 AM

--- In tuning@yahoogroups.com, Petr Parízek <p.parizek@...> wrote:
> 8. Type "Send". This should retune the first MIDI channel to 2/7-comma
> meantone. Unfortunately, Scala doesn't have an option to retune channels
> 2..16. Try playing the first MIDI channel via your external keyboard
to hear
> if it has been successfully retuned.

I wasn't aware that it does only MIDI channel 1. There is the command
SET DEVICE_ID that also works on Scala's XG dump. Maybe that takes
care of other channels?

Manuel

🔗Petr Parízek <p.parizek@chello.cz>

8/9/2007 9:15:10 AM

> I wasn't aware that it does only MIDI channel 1. There is the command
> SET DEVICE_ID that also works on Scala's XG dump. Maybe that takes
> care of other channels?

I've sent you a few words about this separately, hope it has arrived.

Petr

🔗ma1973 <marcsavage73@mchsi.com>

8/9/2007 12:51:36 PM

Petr, thank you for your step-by-step instructions. I already have
Scala installed on my computer but I've rarely tried to use it
because I know the scales and tunings that I prefer very well and
don't need thousands of scales pre-mapped for me. Also, my few
efforts to make sense of Scala have been frustrating as I have found
it to be counter-intuitive, awkward, and cumbersome to use. However,
if it is the ONLY way (is it?) to tune the XG50 soft synth then I
guess I'll have to bite the bullet and delve into Scala. Either that
or just forget about using the XG50 soft synth. (If Scala is such a
hassle that it will take me many hours to make sense of it and get it
working with the XG50 it may not be worth it, especially as I have no
other use for Scala that I can think of.)

Admittedly I haven't tried your suggestions yet due to feeling a bit
intimidated by the apparently steep learning curve in using Scala.
(I played around with it for a few minutes just now and, as usual,
couldn't make any sense out of it at all. I couldn't find any of the
commands you mentioned. Nor am I clear how to use the command line
in Scala. That's what I mean by "apparently steep learning curve".)
However I did notice that there was nothing in your instructions
about linking Scala with XG50. You just "Send" from Scala and it
automatically knows to send it to the XG50 softsynth which is also
open on the computer at the same time????

I only use a few 12-tone, octave repeating, just intonation scales
and I know the cent offsets by heart. Is there any way to tune the
scale of the XG softsynth without using Scala? Is there any way to
edit the scale directly in the XG softsynth without resorting to
using other software?

Thank you again.

🔗Petr Parízek <p.parizek@chello.cz>

8/10/2007 12:53:35 AM

> Petr, thank you for your step-by-step instructions. I already have
> Scala installed on my computer but I've rarely tried to use it
> because I know the scales and tunings that I prefer very well and
> don't need thousands of scales pre-mapped for me.

Well, but be aware that the "scl" format is one of very few tuning
description formats that you can more or less intuitively read, understand,
and edit by any common text editor. If you wish, you can also use a common
text editor to write your own scales and then you can load them into Scala
and work with them. Why do you think the "scl" format is so popular among
people who want to share tunings? Right for the reasons I've just explained.
Moreover, if you were familiar with the "scl" format, you could very easily
tell us what those tunings are that you would like to tune in XG.

> Also, my few efforts to make sense of Scala have been frustrating as I
have found
> it to be counter-intuitive, awkward, and cumbersome to use.

I can't agree with you. Maybe you are not familiar with using command-line
applications in general but you can't blame this on Scala. It's like using
any other command-line interface -- you have to very precisely know what you
want the program to do for you before you can start thinking about which
commands to use for it.

> However, if it is the ONLY way (is it?) to tune the XG50 soft synth then I
> guess I'll have to bite the bullet and delve into Scala. Either that
> or just forget about using the XG50 soft synth. (If Scala is such a
> hassle that it will take me many hours to make sense of it and get it
> working with the XG50 it may not be worth it, especially as I have no
> other use for Scala that I can think of.)

As far as my personal experience goes, I definitely don't use Scala for only
retuning my synth but for lots of other things as well. Scala is not just a
piece of software for sending tuning commands, it can do much much more. And
it's noone else's decision than yours if you find it useful. For example,
when I make my own tunings, I very often analyze them in Scala from various
points of "tuning view" and sometimes I also edit them in Scala. In other
cases, I even make them all in Scala from the very begining which can often
save me a lot of time if the scales are large in size or if there is some
kind of "order" or regularity in them which is easy to describe in Scala.

> Admittedly I haven't tried your suggestions yet due to feeling a bit
> intimidated by the apparently steep learning curve in using Scala.
> (I played around with it for a few minutes just now and, as usual,
> couldn't make any sense out of it at all. I couldn't find any of the
> commands you mentioned. Nor am I clear how to use the command line
> in Scala. That's what I mean by "apparently steep learning curve".)

There's a file in the Scala folder called "help.htm" which should tell you
everything you're looking for. There's even a file called "first.txt" which
contains, separately from any other instructions, a brief explanation on how
to try your first retuning experience.

> However I did notice that there was nothing in your instructions
> about linking Scala with XG50. You just "Send" from Scala and it
> automatically knows to send it to the XG50 softsynth which is also
> open on the computer at the same time????

I think it depends on what MIDI device you set as your default output device
for MIDI files. For example, some time ago, I was using Cakewalk and I had
the XG100 on my Win98SE installed. When I told Cakewalk to use the XG100 as
the default output device, I could even control the XG100 via my external
MIDI keyboard. As far as I know, Scala uses the Megamid player for sending
MIDI data. At this time, I'm not sure if Megamid needs to be set up in some
particular way to be able to find the XG driver. But I never worried about
that because I always used "Send/File" and Scala saved the MIDI file for me
automatically. And for another thing, you shouldn't confuse the XG50 player
and the XG50 driver. When you install the XG50 software, you get an XG
player but you primarily get the XG50 driver installed without which the
player couldn't work. And if you have some well-donfigurable software for
working with MIDI (like Cakewalk), you can use the XG50 driver with it even
without opening the XG50 player.

> I only use a few 12-tone, octave repeating, just intonation scales
> and I know the cent offsets by heart. Is there any way to tune the
> scale of the XG softsynth without using Scala? Is there any way to
> edit the scale directly in the XG softsynth without resorting to
> using other software?

You can, of course, retune XG synths without Scala. But sooner than anything
else comes, be very aware that you will need lots of SysEx commands to
manage this. And if you really want to, then it would be much easier if you
made your own piece of software which could write the MIDI file for you
rather than writing the SysEx commands by hand in some data editing
software. For example, a few years ago, when I wanted to tune various scales
on essentially all the MIDI channels in XG, I finally wrote a small piece of
code for QBasic that made the entire MIDI file for me with all the necessary
SysEx commands in it. Later, this saved me weeks and even months of work as
I needed to do this very very often. And for the other thing, the XG50
player is just a player and not a MIDI data editor. If you are serious about
editing the SysEx commands, I could suggest using Cakewalk's ability to edit
and manage these as Cakewalk also allows to send them to any MIDI device.
To briefly describe the format of the SysEx commands for scale tuning in XG,
it goes, in hex, like this:
$F0, $43, $10, $4C, $08, ChannelNumber, NoteNumber, TuningDeviation, $F7
-- where "ChannelNumber" can be any value from $00 to $0F (meaning channels
1 to 16, respectively), "NoteNumber" can be any value from $41 to $4C (which
means notes from C to B in the 12-tone chromatic scale), and
"TuningDeviation" can be anything from $00 to $7F (meaning a tuning
deviation of -64..+63 cents away from 12-equal, respectively).

One last thought. If you finally manage to do your XG retuning, please send
me your results. I have a hardware XG-compatible synth and I would be happy
to hear your tunings.

Petr

🔗ma1973 <marcsavage73@mchsi.com>

8/11/2007 8:34:55 AM

Petr, again my thanks for your patient and thorough explanations.
Undoubtedly more than I deserved considering my uninformed criticism of
Scala. Actually, I didn't mean to suggest that the problem was with
Scala -- rather that I have found it awkward and difficult to use and
have wondered about whether the investment of time to learn it would pay
off in capabilities that I would use. Your advocacy for Scala is taken
to heart and I can now see that the advantages may well justify the
effort.

> Moreover, if you were familiar with the "scl" format, you could very
easily
> tell us what those tunings are that you would like to tune in XG.

I have been very impressed with the extremely wide range of tunings
explored by members of this group. Because my own interest in tunings
is intimately connected with my study of Indian classical music (raga),
including original works based on this tuning system, I have used only
basic five-limit just intonation scales. However I have used these
scales and intervals for over thirty years and have thus become quite
familiar with the pure sonorities of just intonation which I love very
much.

These are nearly all the intervals (measured from the tonic) that I use:
1/1, 16/15, 9/8, 6/5, 5/4 (or 81/64), 4/3, 45/32 (or 64/45), 3/2, 8/5,
5/3 (or 27/16), 9/5 (or 16/9), 16/15. Of course by considering the
intervals between various members of this set, several other intervals
come into play including 10/9, 32/27, 128/81. Also significant for this
genre of music are 256/243, 729/512, 243/128. The important commas in
this system are 81/80, 25/24, 243/128. That about covers the entire
pitch palette that I use. The pitches used in any given composition are
those which most effectively evoke the character of the raga being
played.

All the tunable hardware synths I have (quite a few!) tune individual
notes by offsetting cents for each note from standard 12-EDO. As I have
long since memorized the cent offsets for the above ratios, I just enter
those on the front panel of the synth. Some of the synths will save
lots of scales, others fewer or only one.

> I can't agree with you. Maybe you are not familiar with using
command-line
> applications in general but you can't blame this on Scala. It's like
using
> any other command-line interface -- you have to very precisely know
what you
> want the program to do for you before you can start thinking about
which
> commands to use for it.

Yes, I guess this is what I meant by "awkward and cumbersome". I
remember the command line interfaces of some old DOS programs from the
eighties and I found those awkward and cumbersome too. I was so glad
that the advent of the graphical user interface and menu commands
largely did away the command line! So I balked -- prematurely perhaps
-- when confronted with Scala's command line interface. I'll give it
another shot based on your well-stated advocacy.

> As far as my personal experience goes, I definitely don't use Scala
for only
> retuning my synth but for lots of other things as well. Scala is not
just a
> piece of software for sending tuning commands, it can do much much
more. And
> it's noone else's decision than yours if you find it useful. For
example,
> when I make my own tunings, I very often analyze them in Scala from
various
> points of "tuning view" and sometimes I also edit them in Scala. In
other
> cases, I even make them all in Scala from the very begining which can
often
> save me a lot of time if the scales are large in size or if there is
some
> kind of "order" or regularity in them which is easy to describe in
Scala.

These capabilities obviously make Scala a very powerful program. As you
can see from my list of intervals, and the fact that all the scales I
use consist of 12-or-fewer tones per octave and are octave repeating,
most of these capabilities are beyond my requirements. I was hoping to
find a way to program scales in XG50 as easily as I do from the front
panels of my hardware synths, including my Yamaha PSR730 which is fully
XG compatible. I am beginning to see now that this probably isn't
possible.

> There's a file in the Scala folder called "help.htm" which should tell
you
> everything you're looking for. There's even a file called "first.txt"
which
> contains, separately from any other instructions, a brief explanation
on how
> to try your first retuning experience.

This is very helpful. Thank you for your patience in pointing out the
basics which I could/should have discovered for myself with a bit more
effort.

> I think it depends on what MIDI device you set as your default output
device
> for MIDI files. For example, some time ago, I was using Cakewalk and I
had
> the XG100 on my Win98SE installed. When I told Cakewalk to use the
XG100 as
> the default output device, I could even control the XG100 via my
external
> MIDI keyboard. As far as I know, Scala uses the Megamid player for
sending
> MIDI data. At this time, I'm not sure if Megamid needs to be set up in
some
> particular way to be able to find the XG driver. But I never worried
about
> that because I always used "Send/File" and Scala saved the MIDI file
for me
> automatically. And for another thing, you shouldn't confuse the XG50
player
> and the XG50 driver. When you install the XG50 software, you get an XG
> player but you primarily get the XG50 driver installed without which
the
> player couldn't work. And if you have some well-donfigurable software
for
> working with MIDI (like Cakewalk), you can use the XG50 driver with it
even
> without opening the XG50 player.

This is also very helpful and clarifying. Again, my thanks for your
patience and diligence in providing this information.

> You can, of course, retune XG synths without Scala. But sooner than
anything
> else comes, be very aware that you will need lots of SysEx commands to
> manage this. And if you really want to, then it would be much easier
if you
> made your own piece of software which could write the MIDI file for
you
> rather than writing the SysEx commands by hand in some data editing
> software. For example, a few years ago, when I wanted to tune various
scales
> on essentially all the MIDI channels in XG, I finally wrote a small
piece of
> code for QBasic that made the entire MIDI file for me with all the
necessary
> SysEx commands in it. Later, this saved me weeks and even months of
work as
> I needed to do this very very often. And for the other thing, the XG50
> player is just a player and not a MIDI data editor. If you are serious
about
> editing the SysEx commands, I could suggest using Cakewalk's ability
to edit
> and manage these as Cakewalk also allows to send them to any MIDI
device.
> To briefly describe the format of the SysEx commands for scale tuning
in XG,
> it goes, in hex, like this:
> $F0, $43, $10, $4C, $08, ChannelNumber, NoteNumber, TuningDeviation,
$F7
> -- where "ChannelNumber" can be any value from $00 to $0F (meaning
channels
> 1 to 16, respectively), "NoteNumber" can be any value from $41 to $4C
(which
> means notes from C to B in the 12-tone chromatic scale), and
> "TuningDeviation" can be anything from $00 to $7F (meaning a tuning
> deviation of -64..+63 cents away from 12-equal, respectively).

Again, this is very helpful. I actually have some experience with SysEx
as I have had to use it to program my array of MIDI Solutions
processors. Though it certainly deserves the label of "awkward and
cumbersome" -- probably much more than Scala! -- familiarity does
prevent me from being too intimidated by SysEx. However, I think you
are implying that the Scala route is easier, not to mention all its
other capabilities -- an excellent point well taken.

> One last thought. If you finally manage to do your XG retuning, please
send
> me your results. I have a hardware XG-compatible synth and I would be
happy
> to hear your tunings.

Thank you for your interest. My principal challenge and innovation, I
think, has been to go well beyond merely setting the basic pitches on my
synths, but to develop a real-time style of playing that allows me to
employ all the characteristic embellishments and ornamentation used in
Indian classical music, including all the bends, slides, rhythmic
drones,etc. After years of experimentation I have developed an
instrument which gives me all these capabilities and is readily playable
in real time. It involves the use of a conventional synth keyboard
played by the right hand only, a long ribbon controller played by the
left hand, and a set of MIDI pedals played by both feet. I call my
instrument the "Ribbonium".

To my knowledge, the Ribbonium is the only instrument of its type and
the only electronic instrument I have ever seen or heard of that allows
the incredibly flexible style of real-time melody playing required for
Indian classical instrumental music. I have studied with a sitar
instructor, and found that the Ribbonium could do just about anything
the sitar could do, and in many cases much more.

I have made a couple informal recordings of myself improvising
(noodling?) on the Ribbonium but I don't have a website for posting
those files. In any case, the recordings are in audio CD format, and I
think would need to be converted to MP3 before they could be shared.

🔗ma1973 <marcsavage73@mchsi.com>

8/11/2007 8:40:22 AM

Why did my post look so well-formatted in the "preview" pane, and then
so terribly awkward with all the unwanted turnover lines when I posted
it?

🔗Petr Parízek <p.parizek@chello.cz>

8/11/2007 2:24:47 PM

> I have been very impressed with the extremely wide range of tunings
> explored by members of this group. Because my own interest in tunings
> is intimately connected with my study of Indian classical music (raga),
> including original works based on this tuning system, I have used only
> basic five-limit just intonation scales. However I have used these
> scales and intervals for over thirty years and have thus become quite
> familiar with the pure sonorities of just intonation which I love very
> much.

As far as just intonation goes, I definitely share your fondness for the
synchronous sonority of the intervals and chords. I've been examining their
properties very closely a few years ago, sometimes up to the 13-limit
factors, and made quite a lot of scales as a result, some of which I finally
managed to use in my own music. Later, I even made a few scales reflecting
various possible ways of tempering 5-limit and 7-limit intervals to give
equal beating chords and at the same time not to get too much "out of tune".
I'm not sure which release of Manuel's Scale archive you have but if you
look for filenames begining with "parizek", you should find about twenty of
them, most of which are made of rational intervals. - BTW: Have you ever
heard East African folk music? If you haven't, here it is performed by the
"Master Musicians of Tanzania" in 1987 with the lead singer Hukwe Zawose:
http://download.yousendit.com/CF8ED72A6A72F924

> Again, this is very helpful. I actually have some experience with SysEx
> as I have had to use it to program my array of MIDI Solutions
> processors. Though it certainly deserves the label of "awkward and
> cumbersome" -- probably much more than Scala! -- familiarity does
> prevent me from being too intimidated by SysEx. However, I think you
> are implying that the Scala route is easier, not to mention all its
> other capabilities -- an excellent point well taken.

Okay, then you can write your own XG tuning commands according to the format
I've just described. But I think that you'll soon realize you need really an
awful lot of messages to write because a single message can retune just only
one note (in all octaves) on only one MIDI channel. So if you want to shift
the pitches of all Cs 30 cents higher (meaning all the MIDI channels except
10), you'll need 15 messages, one for each MIDI channel. And if you want to
tune some 12-tone scales on all the MIDI channels (excluding 10, of course),
you'll need 180 SysEx messages. And that's exactly why I wrote my small
Qbasic utility that converts plain ASCII text numbers to a perfectly usable
MIDI file with all the needed SysEx messages and MIDI time positioners
included.

> I have made a couple informal recordings of myself improvising
> (noodling?) on the Ribbonium but I don't have a website for posting
> those files. In any case, the recordings are in audio CD format, and I
> think would need to be converted to MP3 before they could be shared.

If you don't have your own webspace, you can do it the way I usually do --
upload it to servers like www.sendspace.com or www.yousendit.com. But be
aware that the output links are only temporary links -- for example,
YouSendIt deletes your files one week after you upload them and if they are
needed for longer, you have to upload them again. Unfortunately, I'm leaving
for two weeks tomorrow morning and, what's worse, I'll be completely
"Internet non-connective" so I'll be unable to download just anything until
the August 26th.

Petr

PS: Speaking of just intonation, I think you might find this interesting.
When I posted this here a few months ago, some of the other tuning list
members said they liked it so much they played it to other people. More of
its origin later: http://download.yousendit.com/6B13FC915DB06D6B