News:

PSR Tutorial Forum is Now Back to Life!

Main Menu

Yamaha SOL

Started by GeirH, February 01, 2021, 03:09:10 PM

Previous topic - Next topic

GeirH

Hi guys,

I recently joined this forum, and have found lots of interesting stuff. Having discussed Yamaha's XGworks and SOL sequencers on a couple of other boards in the past, I thought I might share the info I have here as well:

In the early days of computer-based MIDI sequencing, Yamaha had deals with several software developers to supply them with sequencers for the most popular computer platforms. Among these early developers was, of course, Steinberg. Then followed a period where Yamaha sought to tailor software more closely to their hardware, and even propose a couple of standards themselves. Ultimately, following Yamaha's aquisition of Steinberg in december of 2004, Yamaha once more started to ship their MIDI instruments with cut-down versions of Cubase, so we seem to have gone full-circle. This was hardly a surprising development, but I'm quite sure that those who had grown fond of the XGworks sequencer, which served Yamaha's customers in the years between, were expecting to see its tools and features be incorporated into Cubase. Sadly, those efforts were limited and short-lived.


The Windows 95 era:

During the 90s, as computer multimedia matured and the internet boomed, the Windows PC gradually became something of a household item. Software development, in which smaller entities had carved their niches among a myriad of computer platforms, now consolidated and became big business. At some point in all of this, Yamaha found it feasible to establish its own software department, and XGworks was one of the results of this venture. While XGworks may have been created out-of-house by a separate team, under some sort of trademarking or licensing deal, it was surely chiseled out to highlight the functionality of Yamaha's 1994 XG MIDI standard to the burgeoning market of computer musicians. For the sake of clarity, here's a brief overview of the version history.







XGworks versionReleasedOperating systemComment
V11996Windows 95The original version, designed to bolster the XG initiative and support compatible instruments. It had rudimentary audio capabilities, and the same graphical user interface as later versions. Support for add-on plugins (such as the AN200/DX200 editors) was introduced in v1.05.
V21997Windows 95This major update was tailored to and distributed internationally with the SW1000XG audio/MIDI card, for which an audio mixer add-on was included.
V31998Windows 95 / Mac OS8This was the only XGworks version to be retailed worldwide, and the only version also available for the Apple MacIntosh.
V41999Windows 95 / NT4XGworks was eventually reworked into a 4th version, which was also compatible with the Windows NT4 plattform (the direct ancestor to Windows 2000 and XP). The feature set is largely unchanged from its predecessor, although V4 expanded the notation library (thanks to Colin for pointing this out), and also allowed for more simultaneous MIDI and audio outputs. V4 was never marketed outside of Japan, although a "hacked" version with English GUI has found its way onto the internet.


XGworks was basically built for the Windows 95 platform, and was also compatible with the subsequent Windows 98 and Me operating systems. Official patches later became available for owners of XGworks V2 and V3, that could be installed to allow proper function under the later NT-based platforms (2000/XP).


The Windows XP era:

Towards the end of the 90s, Microsoft decided to scrap their old MS-DOS-based operating systems, and build their next consumer OS - Windows XP - on the technology behind the business-oriented Windows NT/2000. The two OS branches were only partly compatible, so Yamaha's existing XGworks sequencer was quickly becoming obsolete. Yamaha's next project, dubbed SOL (short for "sequencer object linking"), was therefore developed from the ground-up, with the upcoming Windows XP platform in mind. The complete rewrite of the software was also necessary to facilitate the kinds of studio-level functionality that had become defacto standards for digital audio workstations (DAW) at the time. One of the major changes was the inclusion of a separate audio engine, which ran independently from Windows' sound subsystem. This enabled direct communication with low-latency audio drivers, hardware-independent mixing with automation, as well as real-time audio processing via industry standard plugin protocols.

Yamaha of course also wanted to keep the functionality that made XGworks unique, and although the software suite was now a lot more complex, most of the tools familiar to XGworks users were included. Among these were the XG Editor, a List view that displayed XG parameters and Sy*** strings in plain English, separate Style and Chord tracks, and XGworks file Compatibility, to name a few.


The SOL software was designed in a modular fashion, which allowed for functionality to be added or subtracted by the user as needed, much like the way XGworks plugins originally did. Modules like the XG Editor and Audio Mixer were included as separate installers. Later, a Guitar Chord editor and a Pitch Bend editor were made available for users to download and install. This modular approach enabled Yamaha to easily tailor the software to their hardware products by adding device-specific editor module, and also allowed them to make scaled-down versions of the sequencer, in order to hit different market segments.

A slightly feature-reduced version was marketed in Japan as XGworks ST. With some of SOL's more advanced audio features limited or taken out, it was targeted at the Desktop Music crowd, among which the original XGworks series already had an established foothold. While SOL was distributed on a set of two CD-ROM discs and retailed for ¥39.800 (around $325) at launch, XGworks ST came on a single disc and sold for ¥29.800. Sadly, neither of the versions were released for retail outside of Japan, although English language support had in fact been implemented, suggesting that the decision was taken late in the development cycle.


A third sibling in the SOL family was named SQ01. This was a very basic version, where most of the advanced functionality had been removed. It was distributed for free with instruments like the original Motif workstation, but the included software modules depended on the type of instrument. The software was not sold separately, and was only available on CD as spare parts for the same instruments. This was the only version of the new sequencer that reached worldwide distribution, and therefore also the only one supplied with English documentation.

Both SOL, XGworks ST and SQ01 were released simultaneously. They shared the very same software core (the installation was based on several common components), and followed the exact same update cadence. Version 2 was launched in 2003, and the final 2.09 updates released in 2006, after which all further development ceased. The common software core and the modular approach means that modules work across all three versions. SQ01 will therefore gain access to all additional modules if XGworks ST or SOL is installed on the same computer.

For a more in-depth technology overview of the three new sequencers, as well as the preceding XGworks versions, I have prepared a comparison sheet (see attachment below).


OPT and other things:

The new sequencers were an early outing of Yamaha's own OPT (Open Plugin Technology) plugin format, which among other things allowed MIDI instrument editors to run as plugins within the sequencer. Both Cakewalk, Steinberg and Sony for a period built the OPT framework into their products, but while promising, the format struggled to take off. For those who used a sequencer without support, Yamaha offered the free Studio Manager app to separately host the editor plugins and act as a central librarian, which as far as I know is still available.

Originally intended to be an open source project in the hope of garnering support from other manufacturers, the OPT initiative was scrapped after the Steinberg aquisition and the technology reused in Cubase as part of their proprietary Studio Connections protocol. Nevertheless, Yamaha released OPT format editors for a lot of its MIDI instruments at the time, such as the Motif/Motif ES/Motif XS workstations, S- and CS-series synthesizers, PLG-range of synthesizer expansion boards, 02R96 and DM-series mixing desks, etc. Other examples were a sample editor for the MU2000 XG tone generator, as well as a File Utility for transferring files to and from an instruments's storage media slot over MIDI.

It has been correctly pointed out elsewhere on this forum, that SOL's installed folder structure differ quite a bit from its predecessors, which isn't a surprise given the massive overhaul. Instrument definitions are also handled differently. It's also worth noting that none of the old XGworks plugins - such as the SW1000XG audio mixer or the AN200/DX200 editors - are compatible with SOL/ST/SQ01.

I'm not sure whether SOL/ST/SQ01 can use traditional Yamaha accompaniment style files or not, but those would either have to be of the old SFF1 type, or some simplified format.

Please let me know if I've missed anything here, and feel free to expand on the topic!  :)

- H -
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

ckobu

Hi GeirH,

this is a great topic and you have nicely described the development cycle of this program.

Sometimes I use Version 2.0.9E exclusively for Style processing. I open it via the GoTo option in MixMaster and can edit SFF2 Style.
It is a pity that the program is no longer being developed because it is the only one with which Yamaha's Sy*** protocol can be fully processed.

https://youtu.be/PM3htJysPmQ?t=476
Watch my video channel

GeirH

XGworks and SOL sure helped me spend a lot less time diving through manuals and data lists to find controller numbers and Sy*** parameters!

I remember some inconsistencies with the implementation of my SW1000XG (can't recall if it was XGworks, SQ01 or SOL at the moment), when it came to inserting Sy*** events: Some of the parameters in the menu were only appropriate for channel 1, and could not be found for the other 15. Luckily, it didn't take too long to figure out the byte patterns and modify the messages. I no longer use that card, but a lot of good memories are tied to it.

Nice job on your series of YouTube videos, by the way! :)
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

C-clef

Great synopsis Geir, the only thing I'd add to your summary about XGworks v4 is that in the notation (staff) view, a significant number of extra symbols were added, a total of eight different Tabs full.

Although, admittedly, with the help files all written in Kanji, it's rather difficult to learn how they all work.

Here's a snapshot of all of them stacked one above the other.

Not much use, I admit, if you don't work in Staff View tho'!

[attachment deleted by admin]

GeirH

I must confess that I'm musically illiterate, so the improvements of the Staff view have gone unnoticed on my part. Thanks for sharing that!  :)
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

C-clef

Quote from: GeirH on February 03, 2021, 05:50:07 AM
I must confess that I'm musically illiterate, so the improvements of the Staff view have gone unnoticed on my part. Thanks for sharing that!  :)

The great thing about it is that not only does it put the appropriate dynamic (or other) symbol into the score, it also adjusts things like Note Velocity and/or length, and various MIDI contollers to suit the symbol.

e.g.
If you put a dot above a note (pizzicato) it shortens the note to approximately half its notated value.
If you put something like sFp (sforzato-piano forcefully-quiet) it initially raises CC11 (expression) to 127 and then drops it down to 48.
And so on.

Great for realising classical music.

GeirH

Understood. I should perhaps say semi-illiterate, since I have a basic grasp of notation. I can "decode" most of it; I'm just way too slow for it to make sense to me as a compositional or interpretative tool.

When creating or trying to understand a piece of music, I therefore go by ear. I mostly think in terms of synthesizer parameters, such as envelopes, filters, expression levels, etc., and how varying these can help me mimic real or imaginary instruments, or simply bring about a certain sound. This is where I find XGworks and XG MIDI very helpful. The approach, in its technical execution, often borders on what a studio engineer would refer to as the mixing stage. As with notation, though, part of the idea is to bring a sense of movement and life into a song: The exception being that a more trained musician would write things down for others to read and play. :) 
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

C-clef

Agreed Geir,

That's what made XGworks and its successors so good, it seems to have something for everyone no matter what part of the 'recording chain' you work in.

Good List View with the implementation of Yamaha Sy*** messages quite straightforward, good Piano Roll and Drums views, good notation view too, as well as a way of entering guitar pitch bends and style/chord tracks. The XG editor is extremely good too, although when used with the most up to date instruments, perhaps a little lacking. No surprise there since it hasn't been updated for nearly twenty years.

What would be really great is if new Sy*** commands could be entered (and decoded) by the software.
I must confess that there are things that were in XGW 4 that are missing in SOL, like the decode of Sy*** messages.
It seems we can't have it all, eh?

Colin.

Oldden

Hi,
I used to use xgworks with my psr3000, I copied the keyboard styles into xgworks , then I could enter the chord notation for a song  and it gave me a complete backing track to play on my keyboard . It was very good, one of the best of the DAWs around at the time and I believe an updated version if it existed would hold its own now. I have tried the SOL version and it was a bit different but still very good. At one time I had a copy of what I think came next , but I can't remember it's name, plus it was partly in English and partly in Japanese.
Oldden.

GeirH

Both SOL and XGworks ST were only available in Japan (including the V2 versions). The installer dialogs were therefore in Japanese, but the software itself was (mostly) in English. The same was true for the older XGworks V4. Could it be one of these you're referring to?

After the SOL/XGworks ST/SQ01 v2.09 updates, any further development stopped (I don't know when they stopped actually selling these sequencers). Yamaha had already started to ship Cubase LE - or whatever it was called at the time - with their instruments by then.

- H -
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

Oldden

Hi,
Even older than xgworks is Yamaha Visual Arranger. This goes back to the days when windows had only just came out. There are some videos on YouTube and it's perhaps worth a look as to how music on the computer could have developed if it was developed. I think there are still a couple of copies knocking about on the net if anyone wanted a look.
Oldden

Toril S

Thanks Geir. Very interesting! I wonder, are you from Norway?😀
Toril S

Genos, Tyros 5, PSR S975, PSR 2100
and PSR-47.
Former keyboards: PSR-S970.

https://www.youtube.com/channel/UCLVwWdb36Yd3LMBjAnm6pTQ?view_as=subscriber



Toril's PSR Performer Page

GeirH

Quote from: Oldden on March 10, 2021, 06:08:00 AMEven older than xgworks is Yamaha Visual Arranger.
Cool, I didn't know! I'll check it out! :D

Quote from: Toril S on March 10, 2021, 06:48:03 AMI wonder, are you from Norway?
I am! I guess my name is rather revealing for fellow scandinavians! ;D
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

Oldden

Photo of visual arranger. It's hard to find the program because it's so old.


[attachment deleted by admin]

Oldden


Toril S

Yes😀 I am from Trondheim😀
Toril S

Genos, Tyros 5, PSR S975, PSR 2100
and PSR-47.
Former keyboards: PSR-S970.

https://www.youtube.com/channel/UCLVwWdb36Yd3LMBjAnm6pTQ?view_as=subscriber



Toril's PSR Performer Page

GeirH

Quote from: Oldden on March 10, 2021, 08:33:00 AMhttps://www.youtube.com/watch?v=t-gXe8_FuM8
Wow, the GUI sort of reminds me of the old PLG100-VL editor (which I think was actually named Visual Editor). I don't speak Russian at all, but am I right in thinking that the software operates as a sort of pattern/phrase/style-based sequencer?

Quote from: Toril S on March 10, 2021, 08:34:16 AMI am from Trondheim
Hey, how about that! :D
I've lived in Trondheim in the past myself, but relocated to more rural grounds a few years ago.
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

GeirH

Did some Google searches just now, and I found a UK trademark filing by Yamaha for Visual Arranger. The filing dates back to July of 1994, but the actual software may be even older. We're definitely in Windows 3 territory!
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

GeirH

Quote from: C-clef on February 06, 2021, 06:00:21 AMI must confess that there are things that were in XGW 4 that are missing in SOL, like the decode of Sy*** messages.

By decoding, do you mean converting hexadecimal values into decimal, or do you mean e.g. displaying parameter names for each byte of data?
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

Jeff Hollande

It would be wonderful if the XGW SX and Genos Patches would be available.
Hopefully a dream will come true.  :)

Best regards, JH

C-clef

Quote from: GeirH on March 10, 2021, 11:43:36 PM
By decoding, do you mean converting hexadecimal values into decimal, or do you mean e.g. displaying parameter names for each byte of data?

Hi Geir,

The latter, displaying the decoded hex in human readable text as below.



Colin

C-clef

Quote from: Jeff Hollande on March 11, 2021, 12:35:34 AM
It would be wonderful if the XGW SX and Genos Patches would be available.
Hopefully a dream will come true.  :)

Unfortunately a dream unlikely to come true unless you know someone who can program dll's.

See below for the way that various instrument definitions are done in SOL2.



Having said that, I must take a look and see whether the code is relatively easy to understand.
It may be possible. ???

Kind regards,
Colin.

Jeff Hollande

Hi Colin  :

I hope and pray dreams WILL come true.  :)

JH

GeirH

Quote from: C-clef on March 11, 2021, 06:50:50 AMThe latter, displaying the decoded hex in human readable text as below.

You've hinted at this earlier, which puzzled me a bit, since SOL always did for me what you suggest it doesn't. If SOL isn't displaying your parameter names, it's probably because your instrument hasn't got an associated definition file, or your MIDI and Tone Generator settings in SOL are incorrect. ;)

See attached screenshot taken just now from my own computer: The Event List shows the initial XG Sy*** parameters aimed for my MU2000EX at the beginning of a song. The "Insert Event" dialog will display the associated Hex values in the lower window, once a parameter has been selected from the tree structure above it.

[attachment deleted by admin]
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

Jørgen

Quote from: Oldden on March 10, 2021, 08:28:42 AM
Photo of visual arranger. It's hard to find the program because it's so old.


Hi
http://yuristov.narod.ru/soft/Visual_Arranger.zip

A link is permanently stored at http://www.jososoft.dk/yamaha/more_software.htm - and it has been there for decades... ;)

Regads
Jørgen
The Unofficial YAMAHA Keyboard Resource Site at http://www.jososoft.dk/yamaha
- since 1999

Oldden

Hi,

http://www.jososoft.dk/yamaha/more_software.htm
Great website

Never thought of looking there, it's been years since it tried the program. There is also a link to SOL.
Oldden

C-clef

Quote from: GeirH on March 11, 2021, 09:59:10 AM
You've hinted at this earlier, which puzzled me a bit, since SOL always did for me what you suggest it doesn't. If SOL isn't displaying your parameter names, it's probably because your instrument hasn't got a definition file, or your MIDI and Tone Generator settings in SOL are incorrect. ;)

See attached screenshot taken just now from my own computer: The Event List shows the initial XG Sy*** parameters aimed for my MU2000EX at the beginning of a song. The "Insert Event" dialog will display the associated Hex values in the lower window, once a parameter has been selected from the tree structure above it.

Interesting!

Yet I've tried setting up the S-YXG50 as the instrument, but it doesn't then make the List View display Sy***es properly.
And yet I can use the S-YXG50 as the MIDI output and it works okay.
And yet XGworks doesn't care that much what the setup is.

Hmmmm! How to cure this I wonder?

Thanks anyway Geir.

Colin.

GeirH

Quote from: C-clef on March 12, 2021, 09:42:34 AMHmmmm! How to cure this I wonder?

I just tested on my system, and had no problems reconfiguring for the S-YXG50. I'm sure it's probably just a minor detail you've overlooked. Here's a suggestion:

After reviewing your MIDI Device and Tone Generator settings, you should also make sure that the XG Editor is configured accordingly. Open the XG Editor, and see if S-YXG50 is displayed in blue-ish letters near the top of its main window. You'll find that the XG Editor has its own model and MIDI I/O setup for you to dig into.

Let me know if this helps!
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1

C-clef

Quote from: GeirH on March 12, 2021, 11:01:25 AM
I just tested on my system, and had no problems reconfiguring for the S-YXG50. I'm sure it's probably just a minor detail you've overlooked. Here's a suggestion:

After reviewing your MIDI Device and Tone Generator settings, you should also make sure that the XG Editor is configured accordingly. Open the XG Editor, and see if S-YXG50 is displayed in blue-ish letters near the top of its main window. You'll find that the XG Editor has its own model and MIDI I/O setup for you to dig into.

Let me know if this helps!

YAY!  :) ;D 8)

That did the trick.
Setting the device in the setup menu for the track, then resetting S-YXG50 in the XGeditor, and all of a sudden I can get Sy*** message decoding.

Thanks a lot for your patience Geir. :-[

I've been swapping MIDI files backwards and forwards between XGworks and SOL, now it's all doable in SOL.

Kind regards,
Colin.

GeirH

I'm very glad to hear it's now working. :D

- H -
Yamaha EX5R, S90ES, Motif ES7, Motif-Rack ES, MU2000EX, PLG150-AN, PLG150-DX, PLG150-VL, PLG100-VH, AN200, DM2000, XGworks, SQ01, SOL2, Roland D-50, D-550, JD-990, JX8P, MKS-70, Korg DW8000, Radias, Ensoniq SD-1