Sunday, August 30, 2015

This is the official user guide and announcement page for GWX Control Panel, the easiest way for users of Windows 7 and Windows 8.1 to protect their computers from Windows 10. With GWX Control Panel you can: Remove the "Get Windows 10" icon that appears in your notification area, prevent your Windows Update control panel from upgrading your computer to Windows 10, prevent your computer from secretly downloading Windows 10 installation files, detect and remove the hidden Windows 10 installation files if they're already on your PC, optionally monitor your computer for unwanted Windows 10-related settings and files- and beginning with version 1.7 you can now easily delete some hard-to-remove program files that are known to cause Windows 10 upgrades and annoyances.

GWX Control Panel is free software that really works, is safe and easy to use, and gives you the option to re-enable the icon and upgrade notifications if you're ever ready to move forward with Windows 10.

Sometime soon- probably in the coming week- I will publish a minor update to the program that fixes a couple of bugs that are already described in the troubleshooting guide. I had been working on a HUGE feature for the next major version, but my non-GWX responsibilities prevented me from completing that work before Microsoft halted Phase One of the Windows 10 upgrade push. It will probably show up in another of my projects though- and maybe even a future version of GWX Control Panel if Microsoft ever releases the Win 10 kraken again.

Please note that due to the increased demands of my day job, I am not able to respond to blog comments or emails very often, so forgive me if my responses are slow. If you're looking for help with the program please check out the links mentioned in the following "Tips." Thanks!

Tip: Do you have questions not answered below or in the troubleshooting guide? Check the FAQ.

Tip: You guys broke the Internet! This post has so many comments that my blog started putting them on a separate page! Look there if you posted a comment recently and are looking for a response.

NOTE: GWX Control Panel has always been available as a stand-alone executable, but a convenient installer option is also available. The installer creates some handy icons and enables seamless upgrades, but doesn't include any additional software. The choice is yours.

WHAT IT DOES AND HOW IT WORKS

The goal of GWX Control Panel is to protect you from unwanted Windows 10 upgrades and notifications without disabling important or popular operating system features, and without requiring you to change the way you work with Windows. Here are some specific ways GWX Control Panel helps you:

The Prevent Windows 10 Upgrades feature checks for system settings that leave you vulnerable to unwanted Windows 10 upgrades and gives you the ability to fix them.

The Prevent Windows 10 Upgrades feature also restores your Windows Update control panel to its normal behavior if it gets hijacked by Windows 10 advertisements or installers. Here are some specific symptoms it fixes:

This is one of numerous ways that Windows 10 can hijack your Windows Update control panel. In this example, Windows Update is hiding the normal Windows 7 updates behind the "Show all available updates" link.

The Prevent Windows 10 Upgrades feature fixes the "Your upgrade to Windows 10 is ready" problem in Windows Update. (Note, some users will have to follow this with Clear Windows Update Cache in order to fully resolve this issue.)

The Prevent Windows 10 Upgrades feature can even rescue your PC from impending Windows 10 installs that display the "It's almost time for your upgrade" window.

The Delete Windows 10 Programs feature easily deletes hard-to-remove program files that are known to prepare your computer for Windows 10 upgrades.

The program can alert you if your Windows Update settings change from one of the safer "download only" or "check only" options to "automatically install" behind your back and gives you the chance to fix it with the Change Windows Update Settings feature.

The optional Save Diagnostic Info feature (in the right-click pop-up menu of the title bar) generates enhanced diagnostic reports that give you detailed information on any settings GWX Control Panel finds that leave you open to unwanted Windows 10 behavior.

The optional "Monitor Mode" feature runs quietly in the background watching for unexpected system changes, and alerts you as soon as any new Windows 10 settings or files are detected.

What it doesn't do:

Doesn't interfere with any Windows features such as Windows Update or OneDrive; the goal is to keep you safe from Windows 10 without having to change the way you work with your computer. (Note: You can optionally choose to disable automatic Windows updates with the Change Windows Update Settings feature if you prefer, but all update-related settings you can change in GWX Control Panel are safe and reversible.)

Doesn't include any additional third-party software (you can even download it as a stand-alone executable).

Doesn't collect any personal data or "phone home" in any way.

Doesn't do any specific checking or disabling of Windows "telemetry"
features, although this may appear as an optional capability in a
future release.

Doesn't (yet) prevent the Windows 10 advertisements that Microsoft displays in web browsers. At first I thought it was unique to Internet Explorer, but now it appears that the ads are tied to specific Microsoft sites (most notably MSN.com) rather than Internet Explorer itself. I am currently investigating whether there's a safe way to stop this. (But for now if you don't want to see those ads, just don't go to MSN.com or other Microsoft sites that display them.) There are examples of these specific in-browser ads at the troubleshooting guide.

DOWNLOADING AND INSTALLING GWX CONTROL PANEL

You can always download the latest version of GWX Control Panel at the Ultimate Outsider Downloads page. The program is available for download either as an installer or as a standalone executable, but I recommend using the installer for the following reasons:

The installer gives you some handy Start menu and desktop shortcuts for GWX Control Panel, documentation, and the uninstaller.

The installer can provide a better experience for computers with multiple user profiles. (The program's Monitor Mode might not work properly for all users unless you run it from an appropriate location, and the installer takes care of this for you.)

Using the installer allows for a more streamlined experience when updating to newer versions of GWX Control Panel, for a number of reasons.

The standalone version is still available for folks who want it, though.

Important
If you maintain a computer with multiple user profiles, please follow these simple tips to ensure the most streamlined and predictable installation and configuration experience:

Use an administrator account when installing or uninstalling GWX Control Panel. (Standard and Child accounts actually run software installers using an administrator account's credentials, and this can result in a confusing experience for non-technical Windows users.) The troubleshooting guide has more information about how to use GWX Control Panel with Standard and Child user accounts.

If your computer has multiple user profiles, log out of all profiles except your primary administrator user account before installing or uninstalling the program. The installer closes running instances of the program before upgrading or removing GWX Control Panel, but it cannot "see" instances of the process running under other user accounts. The fail-safe thing to handle this is to restart Windows, log in to an administrator account of your preference, then install, upgrade, or uninstall as desired.

A note about upgrading
If you use the GWX Control Panel installer, then upgrading from one version to the next is very simple. Just follow the Important guidelines listed above and run the GwxControlPanelSetup program. The installer will safely upgrade everything for you.

If you use the stand-alone version, you should follow these steps:

If you use the optional Monitor Mode, launch your existing GWX Control Panel version and click Disable Monitor Mode or use the Enable/Disable Monitor Mode for Current User option in the right-click pop-up menu of the title bar in order to disable monitor mode for your current version.

Delete your old copy of GWX_control_panel.exe.

Launch your new copy of GWX Control Panel and re-enable Monitor Mode with the new version if you plan to use that feature.

HOW DO I BLOCK WINDOWS 10?

When you launch GWX Control Panel, you'll see something like this:

The main GWX Control Panel window in version 1.7.1.

To make sure you're protected from Windows 10, take a look at the Information section of the GWX Control Panel window. If you see either of the following cases, you are already protected from Windows 10:

THE INFORMATION SECTION

The upper portion of the main GWX Control Panel window is enclosed in a box labeled Information. This is where you can learn how protected your PC is from Windows 10 upgrades and notifications.

Here is a summary of the bits of information available here:

Is 'Get Windows 10' icon app running? This indicates whether the Microsoft program that creates the "Get Windows 10" icon in your notification area is currently running. If the program doesn't exist on your computer, it will say, "(App not found)".

Is 'Get Windows 10' icon app enabled? This indicates whether Microsoft's "Get Windows 10" is configured to run on your PC. It is possible for this field to say Yes, even if the first field says No, because Microsoft uses a series of scheduled tasks to determine when to run the program. If the program doesn't exist on your computer, it will say, "(App not found)".

Are Windows 10 Upgrades allowed? This field indicates whether your computer is vulnerable to unwanted Windows 10 upgrades and related side-effects that can appear in your Windows Update control panel. If this field says Yes, it means that one or more critical system settings are set in such a way that you might experience unexpected Windows 10 upgrades or other upgrade-related behaviors in certain parts of the operating system (such as messages in the Windows Update control panel encouraging you to upgrade to Windows 10). If you would like to know exactly which settings GWX Control Panel discovered, you can find this information in the output file generated by the Save diagnostic info command in the program's system menu. (See "The System Menu" section for more info.) Click the Prevent Windows 10 Upgrades button to make this field go to "No."

Non-critical Windows 10 settings enabled? (New in version 1.7.1) There are a number of other Windows 10-related settings that aren't necessarily harmful, but occasionally result in annoying behavior. This field reads Yes if any of those less-significant settings are detected. The Disable/Enable Non-critical Windows 10 Settings button manages these settings, and you can get details on which settings are enabled by looking at your Save Diagnostic Info report.

GWX Control Panel Monitor Mode Status: This indicates whether
you have enabled the Monitor Mode feature of GWX Control Panel, and
also whether a Monitor Mode instance of the program is currently
running. Depending on how you've set up your computer, you might have
monitor mode enabled for a specific user account or for all users on the
PC, and that is reflected in this field as well. (Please see the
section on Monitor Mode for more information.)

Windows 10 Download folders found? Microsoft pushes the Windows 10 installer files into secret, hidden directories on unsuspecting users' computers through a couple of different methods. This field indicates whether GWX Control Panel detects one or more of the locations where these files are known to reside.

Size of Windows 10 download folders: If one or more of the hidden download folders are found, this field indicates the total amount of storage space occupied by the files they contain.

Open BT Folder: When the hidden $Windows.~BT download folder is found, you can click this button to open the folder in Windows File Explorer.

Open WS Folder: When the hidden $Windows.~WS download folder is
found, you can click this button to open the folder in Windows File
Explorer. This folder is less common, and is usually the result of running Microsoft's Windows 10 Media Creation Tool.

Automatically install Windows Updates? If this field says Yes,
it means that you currently have Windows Update configured to
automatically install new updates on a regular schedule. This is not
recommended if you truly wish to avoid Windows 10, since Microsoft
routinely pushes new Windows 10-related updates, and you could easily
get an unpleasant surprise by installing all new updates without
reviewing them first. This field is new in version 1.7, in response to a
number of reports I've heard from Windows users who claimed their
Windows Update preferences changed from "download only" or "check only"
to "automatically install" without their consent. GWX Control Panel
checks for this now so you can catch any unexpected changes.

Status and settings summary. Most of the time, this little box gives you a quick summary of your PC's current status as far as Windows 10 files and settings go. This box can also display the current status of operations that take some time to complete.

THE BUTTONS

The lower portion of the main GWX Control Panel window contains a number of buttons for configuring and troubleshooting your PC. This is what they do:

Click to Enable/Disable 'Get Windows 10' App: This enables or disables Microsoft's Get Windows 10 icon app, either removing or restoring the icon in your notification area, as desired. This button is only available if GWX Control Panel detects the app on your PC.

Click to Prevent/Allow Windows 10 Upgrades: This changes a couple of settings that determine whether Microsoft is able to upgrade your PC to Windows 10 or change the behavior of your Windows Update control panel to deliver Windows 10 advertisements and updates. This does NOT disable Windows Update and does not block or hide any Windows Update patches.

Click to Delete Windows 10 Download Folders: If any of the hidden Windows 10 installer folders are detected on your computer, you can use this button to delete those files and free up storage space. This button is not available if no download folders are detected. Note that this procedure can take some time (once it starts actually deleting files, you should see the "Size of Windows 10 download folders" field report gradually decreasing sizes. If you have trouble deleting all of the files, you can use the "Save diagnostic info" option in the program's system menu to see if there were any telling error messages.

Click to Delete Windows 10 Programs: This removes files and background tasks known to cause Windows 10 upgrade symptoms. This button is only available if GWX Control Panel detects these problem files on your computer. See the GWX Control Panel FAQ if you use this feature but eventually decide you want to upgrade to Windows 10.

Click to Change Windows Update Settings: This new button in version 1.7 opens a dialog box where you can change how Windows update behaves. These are some of the same options available in the "Change settings" screen of the Windows Update control panel. For the best balance of security and protection from Windows 10, it's recommended that you choose one of the options that lets you choose which updates you wish to install, rather than installing all updates automatically or disabling updates entirely.

Click to Clear Windows Update Cache: While not directly related to Windows 10, this step is sometimes necessary to remove some lingering Windows 10 notifications from your Windows Update control panel after using the "Prevent Windows 10 Upgrades" feature. While this feature isn't harmful, it really isn't necessary in most cases, and it does result in some one-time changes in Windows Update that some users might find annoying. GWX Control Panel lists all known one-time effects when you choose this option and gives you a chance to decide whether to proceed before clearing your update cache.

Click to Disable/Enable Non-critical Windows 10 Settings: This feature relates to settings detected in the "Non-critical Windows 10 settings enabled" information field. Clicking this button enables or disables those settings, as needed. These particular settings don't leave you vulnerable to unwanted upgrades, but they can cause some annoying behavior in some cases, so you might need to disable them if disabling the Disable Get Windows 10 App and the Prevent Windows 10 Upgrades features don't clear up all your problems. Note that Windows sometimes changes these settings in the background, so you might occasionally have to re-disable these settings if you want them to remain off.

Click to Enable/Disable Monitor Mode: Use this button to manage the Monitor Mode feature of GWX Control Panel. Monitor Mode places an icon in your notification area that alerts you if it detects any changes to your PC that might leave you vulnerable to Windows 10. Please see the "Using Monitor Mode" section below for more info.

Note: This button configures Monitor Mode for all user profiles on the PC. If you'd like to manage Monitor Mode for just a single user profile, you can use the Enable/disable Monitor Mode for current user command on the system menu.

Click to Display the User Guide: This launches your default browser to the GWX Control Panel user guide.

THE SYSTEM MENU

If you click the icon in the upper-left of the main GWX Control Panel window, you will see the system menu:

The version 1.7 system menu.

Check for updates: This opens a dialog box that displays the version of GWX Control Panel you're currently running and links you to the Ultimate Outsider Downloads page to see if a newer version is available.

Save diagnostic info: This saves a file called GwxControlPanelLog.txt to your desktop that contains relevant information about your computer and your Windows 10-related settings and files. Beginning with version 1.7 this report explains exactly what system settings it detected on your PC, which will help you understand what's going on behind the scenes when Monitor Mode detects new changes, for example.

Restart Monitor Mode: You can use this to launch a Monitor Mode instance if you have Monitor Mode enabled, but it's not currently running.

Enable/disable Monitor Mode for current user: Use this to manage monitor mode configuration for a specific user account on the computer. This replicates the behavior of the Enable/Disable Monitor Mode button from version 1.6 whereas in 1.7 that button now manages the feature for all user accounts on the computer.

About GWX Control Panel: Just displays a dialog box with the current version and author information.

USING MONITOR MODE

When you enable GWX Control Panel's optional Monitor Mode, a new icon will appear in your notification area that will alert you if GWX Control Panel detects any unexpected files or settings that leave you vulnerable to Windows 10. Once enabled, GWX Control Panel will start and quietly monitor your computer whenever you log in to Windows.

Enabling/Disabling Monitor Mode for all users (recommended):
If your computer has multiple user profiles- and especially if some of those profiles are Standard or Child accounts- the best way to use Monitor Mode is to enable it for all users. To do this, just click the Enable Monitor Mode button in the main GWX Control Panel window. The notification icon will appear in the currently logged-on session of Windows, and will also appear for other user accounts who later sign in to Windows.

To disable Monitor Mode, just click the Disable Monitor Mode button. If you do this from a Standard or Child user account, you will have to enter the password of an administrator user account in order to proceed. Please see the troubleshooting guide for more information about the limitations of Standard and Child user accounts.

Note
Version 1.6 of GWX Control Panel only enabled Monitor Mode on a per-user basis, which resulted in some confusing behavior for users running on Standard or Child accounts. As a result, if you upgrade from version 1.6 to 1.7 of GWX Control Panel, you might find that Monitor Mode is enabled for both the current user and for all users. While this is harmless (only one Monitor Mode instance ever runs per-user at a time), you can fix it by disabling Monitor Mode for the current user. (See below.)

Enabling/disabling Monitor Mode for a single user:
If you'd prefer to only have the Monitor Mode icon active on a per-user basis, or if you'd like to disable the single-user Monitor Mode from a previous version of GWX Control Panel, just choose the Enable/disable Monitor Mode for current user option in the program's system menu (accessible by clicking the icon in the upper-left corner of the program window).

Responding to Monitor Mode alerts:
When Monitor Mode detects a Windows 10-related change to your computer, its notification icon flashes with an exclamation mark, and a balloon notification normally appears to draw your attention. (The operating system decides whether or not you see these balloon notifications and how long they appear. Don't worry if you don't see one.)

The Monitor Mode balloon notification.

To see what specific settings or files were detected, open up the main GWX Control Panel window. You can do this in several ways:

Click the balloon notification.

Double-click the Monitor Mode icon in your notification area.

Right-click the Monitor Mode icon and then click Display GWX Control Panel from the shortcut menu.

Any of the above three actions also stops the notification icon from flashing.

Once you have a visible instance of GWX Control Panel open, check the various fields in the program's Information section to see what files or settings may have triggered the alert. If you'd like a more detailed report, you can use the Save diagnostic info option from the shortcut menus of either the Monitor Mode icon or the main GWX Control Panel window.

When alerts are triggered:
Monitor Mode keeps track of which Windows 10 settings or files it discovered, and if you choose not to remedy a specific new finding, it will not alert you again until something else changes. This alerting is done on a per-user basis. Consider this scenario:

User A receives a Monitor Mode alert because some Windows 10 files were detected on the computer. The user dismisses the alert but decides not to do anything about it.

User B logs in to Windows and also receives the alert, but likewise doesn't do anything to fix the problem.

When user A logs back into Windows, Monitor Mode does not alert that user about the same problem again.

Keep this in mind if you receive a Monitor Mode alert about something you don't care about. For example, if you are aware of the risks of leaving your Windows Update set to "Install updates automatically" and wish to leave it that way, just dismiss the Monitor Mode alert and forget about it. You won't be bothered again unless someone changes your Windows Update settings to something else and then changes it back to "install automatically."

The Monitor Mode pop-up menu:
If you right-click the Monitor Mode icon, you'll see this pop-up menu:

Several of the menu options are also available from the system menu of the main GWX Control Panel window, but some are unique to Monitor Mode:

Display GWX Control Panel: Opens a visible instance of GWX Control Panel if one isn't already opened. Also dismisses any alerts if the Monitor Mode icon is currently flashing.

Reset Control Panel Window Position: If you ever find the main GWX Control Panel window in a strange location such that it is not visible or cannot be moved due to the title bar being out of reach, this option re-centers the program in the middle of your main display.

Check for updates: This opens a dialog box that displays the version of GWX Control Panel you're currently running and links you to the Ultimate Outsider Downloads page to see if a newer version is available.

Save diagnostic info: This saves a file called
GwxControlPanelLog.txt to your desktop that contains relevant
information about your computer and your Windows 10-related settings and
files. Beginning with version 1.7 this report explains exactly what
system settings it detected on your PC, which will help you understand
what's going on behind the scenes when Monitor Mode detects new changes,
for example.

NoteDoing Save diagnostic info from Monitor Mode does not include any potential error messages that might occur when attempting to delete Windows 10 download files. Please use the option from the main GWX Control Panel instance if trying to troubleshoot file delete problems.

About GWX Control Panel: Just displays a dialog box with the current version and author information.

Change Monitor Mode preferences: This opens up a dialog box where you can choose which kinds of events you'd like to be alerted about. All alerts are enabled by default except for the one for non-critical Windows 10 settings. (This is because Windows sometimes changes those settings in the background and they can result in a lot of alerts.)

Exit: This closes the current instance of Monitor Mode. If you want to permanently quit Monitor Mode, use the Disable Monitor Mode button in the main program window.

WORKING WITH STANDARD AND CHILD USER ACCOUNTS

If you have multiple user accounts set up on your Windows PC and some of them are Standard or Child accounts, there are some important things you should know about how GWX Control Panel works when running under these limited account types.

Under normal circumstances (when launching GWX Control Panel from one of the desktop or Start menu shortcuts, or when it loads in Monitor Mode), GWX Control Panel behaves the same for all Windows user account types: It doesn't need administrator permissions when it's just checking your current settings (Monitor Mode never needs administrator permissions). Things get a little more complicated once you attempt to use GWX Control Panel for a system-level change that requires administrator permissions.

If you are using an administrator account and User Account Control (UAC) is enabled, Windows will ask if you want to grant GWX Control Panel permission to make settings to your computer the first time you attempt to perform an action that requires administrator permissions:

The User Account Control prompt when an administrator account attempts a system change in GWX Control Panel.

If you are using an administrator account and User Account Control is disabled, GWX Control Panel will silently grant itself administrator permissions and perform the action you requested.

If you are using a Standard or Child account and try to use a GWX Control Panel feature that requires administrator access, Windows prompts you to enter the password of an administrator account. Important: After you enter the password, GWX Control Panel runs under the user profile of the administrator account until you quit the program!

Windows requires an administrator password if a Standard or Child account tries to make any system-level changes.

In all three of the above cases, GWX Control Panel continues running at elevated permissions until you quit the program. For Standard and Child account users, this can have some confusing side-effects!

User-specific settings, like Enable/disable Monitor Mode for current user, will happen under the administrator user's account.

The Save Diagnostic Info report will say "User is Administrator=Yes" because Windows is running it under the account of an administrator.

The GwxControlPanelSetup installer requires administrator permissions in order to install/upgrade/uninstall GWX Control Panel. If a Standard or Child account uses the the installer and then checks the option to launch GWX Control Panel in the final page of the setup wizard, that instance of GWX Control Panel inherits the permissions of the installer; it runs under the administrator's account. This is why I recommend that you only run the installer/uninstaller from an administrator account.

Please see the troubleshooting guide for some more information on weird things that Standard/Child user accounts can experience.

ABOUT THE 'CLEAR WINDOWS UPDATE CACHE' FEATURE

You should only use the Clear Windows Update Cache feature if the Prevent Windows 10 Upgrades feature (followed by a system restart) didn't fix the Windows 10-related problems you were having. While my own testing (and some public beta testing) has shown this procedure to be safe, it has the following immediate effects:

The first time you view the Windows Update screen, it will look as if you had never previously run an update.

The first time you check for new updates, it will take longer than normal, since Windows has to download some additional one-time information.

The "view update history" list will be empty, and only new updates you install from this point on will appear on it.

Note: Your list of actual "installed updates" will not be empty, and previously installed updates can still be uninstalled.

Any updates you had previously hidden with the "Hide update" feature of Windows Update will have to be re-hidden if you no longer wish for them to appear in your lists of available updates.

While all of these effects are only temporary, they also cannot be undone. Beginning with version 1.5, the program lists the above one-time effects and gives you a chance to cancel or proceed. I go into my usual excessive detail below...

The Prevent Windows 10 Upgrades feature puts the correct settings in place to keep your control panel from being hijacked by the Windows 10 Upgrade, and that alone (followed by a Windows restart) should be enough for most people. Sometimes, however, the Windows Update subsystem needs to be refreshed in order to display the correct updates, so that's what Clear Windows Update Cache is for.

When you click the button, GWX Control Panel checks to see if you currently have any "pending updates" waiting for a system restart in order to complete, and it will ask if you're sure you'd like to proceed.

If you haven't restarted Windows in a while, you should probably click No when you see this message. GWX Control Panel will then ask if you'd like to restart Windows to let the pending updates complete installation.

If you just restarted Windows after using the Prevent Windows 10 Upgrades feature and you still get this message, this warning is probably a false alarm resulting from some mismatched files in your Windows Update cache. You can safely click Yes to proceed.

Likewise if you just restarted Windows in response to GWX Control Panel indicating that you had pending updates and you're still seeing this message, it is likely a false alarm and you can safely click Yes.

Clearing the update cache only takes a few seconds. Upon completion, the information area reports "Operation complete" and indicates how many cache files were deleted.

The next time you open the Windows Update control panel, you'll find that it behaves as if it's being displayed for the very first time.

On Windows 7 it looks like this:

Don't be alarmed by the red X!

On Windows 8 it looks like this:

The first time you click Check for updates, it will take Windows longer than usual to download information on available updates. This is to be expected, and only happens the first time you check for updates after clearing your cache.

You may want to take a look at the specific updates available to you, because clearing the cache also clears out any record of updates you have explicitly hidden in the past. If you want certain updates to remain hidden, look for them under your important and optional updates and re-hide them. (Thanks to commenter Jim for the reminder!)

Note: If you experience errors in Windows Update after clearing your cache, these are usually intermittent server-side Windows Update errors that aren't related to GWX Control Panel. Please see the "i used gwx control panel and now i get errors when i try to check for windows updates" section of the troubleshooting guide for more info.

GWX CONTROL PANEL RELEASE NOTES

SYSTEM REQUIREMENTS

Here are the specifics:

OS: Windows 7 or Windows 8.1 (See note below)

Platform: GWX Control Panel is a 32-bit application that runs on both 32-bit (x86) or 64-bit (x64) flavors of Windows.

Connectivity: The "Display the User Guide" and "Check for Updates" features launch your default Internet browser for different reasons, so you obviously need an internet connection for those. No other features of the program require a network, though.

Note about OS support: GWX Control Panel only serves a purpose on Windows 7 and Windows 8.1. According to Microsoft's Knowledge Base article about the patch that installs the Get Windows 10 application, it sounds like the app only installs on Windows 7 systems with Service Pack 1 installed, and Windows 8.1 systems with a different set of patches installed- and it won't install on the Enterprise versions of either OS. I have not personally tried running the program on earlier versions of Windows, but it almost certainly won't run on XP and I received one user report that it doesn't run on Vista.

COMMAND LINE SWITCHES

This section will grow as new program modes are added. As with any Windows program, they work from a command line or as additional parameters in the Target field of shortcut properties.

/norestart - This switch prevents any possibility of GWX Control Panel performing a system restart. This can help support technicians who are running GWX Control Panel via some sort of remote assistance tool, where slow connections can sometimes result in accidental clicks being sent to dialog boxes such as the prompts asking whether users would like to restart Windows. When this switch is used, instead of giving users the option to kick off a system restart from within the program, GWX Control Panel instructs users to exit the program and restart Windows manually.

/traymode - Launches the program in Monitor Mode. This is handled automatically if you use the Enable/Disable Monitor Mode button in the main GWX Control Panel window.

REMOVING GWX CONTROL PANEL

How you remove GWX Control Panel depends on which version you downloaded:

If you downloaded the stand-alone version: If GWX Control Panel's Monitor Mode is enabled, use the Disable Monitor Mode button to shut it off. Next, simply locate the GWX_control_panel.exe file you downloaded and delete it.

If you downloaded the installer: Open your Programs and Features control panel in Windows. Locate the GWX Control Panel entry and select it. Next, click Uninstall. Optionally, you can browse directly to the install folder (the default location is C:\Program Files (x86)\UltimateOutsider\GWX Control Panel) and launch Uninstall.exe. Beginning in version 1.7 there is also an Uninstall GWX Control Panel shortcut in the Start menu, under the GWX Control Panel folder.

SUPPORT GWX CONTROL PANEL

I develop and maintain free software on my own time. I don't charge a fee because I want everyone to have equal access to my programs- and unlike a lot of developers of "free" software, I don't bundle any annoying third-party programs, spyware, or advertising with my tools. However, if something I wrote helped you and you'd like to express your thanks in a concrete way, you can send a donation of any amount via PayPal. Support from my visitors covers my hosting and licensing costs, and gives me incentive to keep putting out cool new utilities.

If you wish to help out, you can enter a donation amount below and then click on the Donate button. You do not need a PayPal account in
order to donate! Just click the "Don't have a PayPal account" option on the page that comes up after you click the Donate button. The
donation amount is in U.S. Dollars (USD).

Amount: $

Note: You might receive a personal "thank you" from me in response, but I won't sign you up for any mailing lists and you won't hear from me again unless you contact me first. Thanks for your consideration!

Click here on the PayPal page if you don't have a PayPal account.

CONTACTING THE AUTHOR

If you have problems that don't sync up with your expectations or
with the user documentation, please let me know. User feedback has been
important in helping me decide where to focus for future updates. There
are three easy ways to get in touch with me:

If you ever decide to send a PayPal donation (see the "Support GWX Control Panel" section above), you
can use the "Send a note to Ultimate Outsider" field on the "Review your information" page to include a
personal note. I read and respond to all of those.

FOR MORE INFORMATION

There's a lot more information about the program at these other posts:

Sunday, August 23, 2015

This is part 4 of a multi-part series on how to use General MIDI files with Ableton Live. The first part covers the basics of General MIDI and how Live handles MIDI files. These subsequent posts are step-by-step walkthroughs for a variety of instruments.

ABOUT THE INSTRUMENT

In this post we're going to use a hardware GM-compatible sound module, a Roland Sound Canvas SC-88. The instructions we follow for this are virtually the same for any GM-compatible hardware synth as far as Ableton Live is concerned. Some instruments might need to be put into a special GM mode in order to load the right patches, though. Consult your hardware manual if you're using a different synth.

USING THE INSTRUMENT WITH LIVE

Create a new, empty Live set and press TAB to enter Arrangement view. (Session view technically works, but if your MIDI file contains time signature or tempo changes, Arrangement view is more appropriate.) Drag your General MIDI file from the Live browser into your Live set. If it's a Type 1 file, all the tracks in the file should end up on separate MIDI tracks in separate MIDI clips in the Live set.

If it's a Type 0 file, Live will only import a single MIDI clip/track, regardless of how many musical parts the song contains. You will have to convert the file to Type 1 and start over. See the first article in this series to learn how to convert MIDI files.

For each new MIDI clip that Live created, select the MIDI clip and look at its Pgm Change settings in the Notes panel of the clip view. Each imported track (except for maybe the drum track) should at least have a Program Change value selected.

If the current clip is not a drum channel, and you see no Pgm Change setting, Live might not have properly detected program change events for that track. See the first article in this series to learn how to locate program change numbers in MIDI files.

Note: If your MIDI file contains program changes that occur within the song (if a single musical part changes tones as the song progresses) you will have to split those MIDI clips into separate clips so you can set the correct program change value on each clip individually. MidiYodi tells you where in the song the program change events occur, so they should be relatively easy to locate in your Live set.

Since we're working with hardware, there are a couple more things we need to check out before proceeding. First, go to Options > Preferences > MIDI Sync and make sure that the MIDI Output port that leads to your hardware synth is enabled. My Sound Canvas gets its MIDI from Port 8 of my MOTU Midi Express 128, and I can see that the Track box for that port is set to On, so I know this is set up properly.

Now look at the Audio tab of Preferences and click Input Config to confirm that the audio inputs that receive sound from your hardware synth are configured. My Sound Canvas is connected to input ports 9 and 10 on my interface, and I'm going to use them as a stereo pair, and I see that "9/10 (stereo)" is enabled, so we're all set.

Go to Create > Insert MIDI Track to add a new empty track in your project, and then drag the External Audio Effect device from the Audio Effects category of the Live browser into the track's Device View area. (Don't use a track that already has a MIDI clip on it; doing so will cause headaches if you ever want to mute or solo individual tracks.)

Important: Leave the Audio To field set to "No Output", but set the Audio From field to the interface inputs that your synth is connected to. In my case, that's inputs 9/10.

Now, you might ask, "Why are we using a MIDI track instead of an audio track for this?" Well, you can use an audio track, but when you do that you have to worry about track monitoring, and how Live compensates for delays when recording at various monitor settings. I prefer to use Live's External Instrument and External Audio Effect devices instead, because they behave more like plugins and they automatically compensate for latency.

Next, you might ask, "Why use the External Audio Effect device instead of the External Instrument device?" Well, that's because the External Instrument device requires to to select a MIDI output in order to be able to select an audio input. Since we're putting this device on a track that intentionally has no MIDI, the External Audio Device makes more sense here. Setting Audio To to No Output basically turns the device into a live audio input.

One further note: Since the External Audio Effect device is only available in Live Standard or Live Suite, if you're using Live Intro, you WILL have to use an audio track for this instead, and make sure that track monitoring is set to IN to hear incoming audio, or (better yet) use your interface's direct monitor ability instead.

For each MIDI track in your Live set that has a MIDI clip on it, change the Output Type setting to point to the track where you loaded your virtual instrument plugin, and change the Output Channel setting to the MIDI channel you want to use for that part. For the most part the actual channels you choose don't matter (so long as they're different from each other), however, you should only use channel 10 for your drum parts (parts that actually use the multi-sample GM drum layout).

Now try playing your song!

If you find that the Sound Canvas isn't loading the correct patches, or something just doesn't sound right, check these things:

Each MIDI clip (except perhaps the drum track) has a Program Change setting.

You are using the correct Program Change values (remember, they should
be the MidiYodi value plus 1 because of how Live numbers program
changes).

Make sure your drum track is routed to MIDI channel 10, and that you have a GM drum kit loaded on that channel in your plugin.

Your MIDI output ports and audio input ports are enabled in Preferences, and the correct ones are being used in your tracks.

You started playback from the very beginning of the song, since the program change events only fire at clip start. Click the Previous Locator button several times to make sure you're playing from the beginning.

The Previous Locator button.

That's it for now. Go back to part one for links to the rest of the series, in case you missed anything.

This is part 3 of a multi-part series on how to use General MIDI files with Ableton Live. The first part covers the basics of General MIDI and how Live handles MIDI files. These subsequent posts are step-by-step walkthroughs for a variety of instruments.

ABOUT THE INSTRUMENT

Sonic Cat's Purity is a good-sounding multi-timbral ROMpler plugin for Mac and PC. It includes a large library of sounds, in addition to a full GM implementation. (Purity was originally released by a company named Luxonix. I don't know if the property shifted hands or whatever, but Sonic Cat sells it now.)

There is a concerning note on the Purity product page that says: "Not compatible with some systems. Especially Logic Pro X, Ableton Live and NI Maschine." I really don't know what to make of it, since I'm obviously able to use it just fine in Live (although I'm a Windows user, so I don't know if it's any different on Mac OS). Anyway, there is a free demo available at the product page, and I do recommend you test that out before paying for it. The download is a single ZIP file but it contains both EXE (Windows) and DMG (Mac) installers.

Note that Purity is 32-bit only. If you are running a 64-bit version of Live, you'll have to use a bit-bridging product like jBridge or 32 Lives to get it to work in your DAW. I wrote some instructions for doing exactly this with jBridge for Windows.

USING THE INSTRUMENT WITH LIVE

Create a new, empty Live set and press TAB to enter Arrangement view. (Session view technically works, but if your MIDI file contains time signature or tempo changes, Arrangement view is more appropriate.) Drag your General MIDI file from the Live browser into your Live set. If it's a Type 1 file, all the tracks in the file should end up on separate MIDI tracks in separate MIDI clips in the Live set.

If it's a Type 0 file, Live will only import a single MIDI clip/track, regardless of how many musical parts the song contains. You will have to convert the file to Type 1 and start over. See the first article in this series to learn how to convert MIDI files.

For each new MIDI clip that Live created, select the MIDI clip and look at its Pgm Change settings in the Notes panel of the clip view. Each imported track (except for maybe the drum track) should at least have a Program Change value selected.

If the current clip is not a drum channel, and you see no Pgm Change setting, Live might not have properly detected program change events for that track. See the first article in this series to learn how to locate program change numbers in MIDI files.

Note: If your MIDI file contains program changes that occur within the song (if a single musical part changes tones as the song progresses) you will have to split those MIDI clips into separate clips so you can set the correct program change value on each clip individually. MidiYodi tells you where in the song the program change events occur, so they should be relatively easy to locate in your Live set.

Go to Create > Insert MIDI Track to add a new empty track in your project, and then drag the Purity plugin into the track's Device View area. (Don't use a track that already has a MIDI clip on it; doing so will cause headaches if you ever want to mute or solo individual tracks.)

In Purity, click the Preset button above the virtual keyboard and then select the GM Normal category to place Purity in GM mode.

For each MIDI track in your Live set that has a MIDI clip on it, change the Output Type setting to point to the track where you loaded your virtual instrument plugin, and change the Output Channel setting to the MIDI channel you want to use for that part. For the most part the actual channels you choose don't matter (so long as they're different from each other), however, you should only use channel 10 for your drum parts (parts that actually use the multi-sample GM drum layout).

Now try playing your song!

If you find that Purity isn't loading the correct patches, or something just doesn't sound right, check these things:

Each MIDI clip (except perhaps the drum track) has a Program Change setting.

You are using the correct Program Change values (remember, they should
be the MidiYodi value plus 1 because of how Live numbers program
changes).

Make sure your drum track is routed to MIDI channel 10, and that you have a GM drum kit loaded on that channel in your plugin.

You started playback from the very beginning of the song, since the program change events only fire at clip start. Click the Previous Locator button several times to make sure you're playing from the beginning.

The Previous Locator button.

In the next post, we'll take a look at using a hardware Roland Sound Canvas.

This is part 2 of a multi-part series on how to use General MIDI files with Ableton Live. The first part covers the basics of General MIDI and how Live handles MIDI files. These subsequent posts are step-by-step walkthroughs for a variety of instruments.

ABOUT THE INSTRUMENTS

Steinberg's Cubase Pro and Cubase Artist both include a GM-compatible multi-timbral synth plugin called HALion Sonic 2 SE. While this particular version of the plugin only works in Cubase, Steinberg sells the full version of HALion Sonic 2 as a standalone product which works in any Mac or PC DAW with AU or VST support. You can also get a full version of HALion Sonic 2 in Steinberg's Absolute VST Instrument Collection.

HALion Sonic itself is a "player" version of Steinberg's powerful HALion 5 sampler. (The HALion 5 package includes a copy of HALion Sonic 2 as well.) Like HALion Sonic, HALion 5 works on Mac or PC, and ships in 32-bit and 64-bit flavors. Both products also sport full General MIDI compatibility.

USING THE INSTRUMENTS WITH LIVE

Create a new, empty Live set and press TAB to enter Arrangement view. (Session view technically works, but if your MIDI file contains time signature or tempo changes, Arrangement view is more appropriate.) Drag your General MIDI file from the Live browser into your Live set. If it's a Type 1 file, all the tracks in the file should end up on separate MIDI tracks in separate MIDI clips in the Live set.

If it's a Type 0 file, Live will only import a single MIDI clip/track, regardless of how many musical parts the song contains. You will have to convert the file to Type 1 and start over. See the first article in this series to learn how to convert MIDI files.

For each new MIDI clip that Live created, select the MIDI clip and look at its Pgm Change settings in the Notes panel of the clip view. Each imported track (except for maybe the drum track) should at least have a Program Change value selected.

If the current clip is not a drum channel, and you see no Pgm Change setting, Live might not have properly detected program change events for that track. See the first article in this series to learn how to locate program change numbers in MIDI files.

Note: If your MIDI file contains program changes that occur within the song (if a single musical part changes tones as the song progresses) you will have to split those MIDI clips into separate clips so you can set the correct program change value on each clip individually. MidiYodi tells you where in the song the program change events occur, so they should be relatively easy to locate in your Live set.

Go to Create > Insert MIDI Track to add a new empty track in your project, and then drag your plugin of choice (HALion 5 or HALion Sonic) into the track's Device View area. (Don't use a track that already has a MIDI clip on it; doing so will cause headaches if you ever want to mute or solo individual tracks.)

HALion 5 only: If you are using HALion 5, click the Load Multi-Program button and then double-click General MIDI Multi to prepare HALion 5 with a 16-part GM-ready configuration.

In HALion 5, click Options and scroll down to the MIDI CONTROLLER section. Make sure to enable both Program Changes and RPNs 0/1/2.

In HALion Sonic 2, click Options and then select GM Mode under Program Changes in the Global section of the page. The plugin will automatically populate all channels with some default instruments.

For each MIDI track that has a MIDI clip on it, change the Output Type setting to point to the track where you loaded your virtual instrument plugin, and change the Output Channel setting to the MIDI channel you want to use for that part. For the most part the actual channels you choose don't matter (so long as they're different from each other), however, you should only use channel 10 for your drum parts (parts that actually use the multi-sample GM drum layout).

Now try playing your song!

HALion 5 playing an imported General MIDI file.

If you find that either HALion 5 or HALion Sonic 2 aren't loading the correct patches, or something just doesn't sound right, check these things:

Each MIDI clip (except perhaps the drum track) has a Program Change setting.

You are using the correct Program Change values (remember, they should
be the MidiYodi value plus 1 because of how Live numbers program
changes).

Make sure your drum track is routed to MIDI channel 10, and that you have a GM drum kit loaded on that channel in your plugin.

You started playback from the very beginning of the song, since the program change events only fire at clip start. Click the Previous Locator button several times to make sure you're playing from the beginning.

Saturday, August 22, 2015

Ableton Live doesn't natively support the General MIDI standard, but with the right tools and techniques you can use it to load and play GM files the way they were meant to be heard.

This multi-part series describes how Live handles MIDI files and covers some applications and instruments that will help you make the thousands of free General MIDI files available on the Internet work inside Live. But before we get started, let's settle on some terminology.

WHAT ARE GENERAL MIDI FILES, EXACTLY?

Here are some important definitions:

MIDI is the Musical Instrument Digital Interface standard that defines a way for instruments by different manufacturers to communicate with one another, and with computers. The MIDI standard includes the protocol that instruments use to communicate, the physical connectors on MIDI instruments and devices, and how MIDI information is stored. Instead of streaming audio like the AU or VST standards, MIDI defines a number of MIDI events that instruct instruments what to do. Common MIDI events are note on/off, program change (patch selection), and CC (continuous controller) messages for things like pitch bend, stereo panning, or instrument volume.

Standard MIDI Files (SMFs) are files that contain MIDI data. Basically, whatever can travel down a MIDI cable can be stored in a Standard MIDI file, including not just note and program change data, but even proprietary SysEx data (like patch banks and firmware updates). One slightly confusing thing about Standard MIDI Files is that despite the SMF acronym, the files usually have a .MID filename extension. There are different kinds of Standard MIDI files:

Type 0 files contain a single data segment that includes the entire contents of the file. If the file contains a multitimbral song with parts intended for multiple MIDI channels, all of this data is jumbled together in the same data segment, and it's up to the sequencer or instrument loading the file to route events to the right channels during playback. These are the most common kind of MIDI file, and the most widely supported.

Type 1 files can include multiple "tracks" which are most commonly used to contain separate musical parts meant for different MIDI channels. The order of these tracks in the file does not necessarily correspond to the MIDI channels of the data they contain (so, track 1 might have notes meant for MIDI channel 10). Tracks can also be named, which many composers use to describe the musical role of each particular track.

Type 2 files are described by the MIDI standard, but they never caught on. (In fact I don't think I've ever seen one.) Type 2 files can contain multiple Type 1-style songs; kind of like a self-contained MIDI playlist. Since these files are so rare there are almost no tools available that support them.

General MIDI (GM) is a high-level standard that defines a common set of sounds, effects, and features that guarantee that a song composed for one GM-compatible instrument will sound more or less the same when played on another GM-compatible instrument, even if it was made by another manufacturer. Instruments that are certified to support General MIDI generally have a special logo indicating what level of General MIDI they support. There are different flavors of the general MIDI standard. The two most common are:

General MIDI 1(GM1 or just GM) was inspired by the patch bank and drum layout of the Roland MT-32 multitimbral desktop sound module. While the MT-32 only supported 9 simultaneous MIDI channels (8 chromatic parts and 1 drum channel), the GM standard expanded the requirement to support 16 simultaneous MIDI channels. GM1 devices must also have on-board Chorus and Reverb effects and support a certain set of MIDI events and CC messages. GM1 is the most widely supported form of General MIDI.

General MIDI 2(GM2) expands the required set of sounds and control messages, offering more variety and control in MIDI compositions.

And that leads us to General MIDI files, which are standard MIDI files that contain songs that conform to the General MIDI standard. All GM files are SMFs, but not all SMFs are GM files.

ALSO, REALLY? GENERAL MIDI?

Many folks in synth and music production circles consider the term "General MIDI" a synonym for "cheap" or "cheesy," and that association is sometimes warranted. While I grant that very few devices with a "GM" logo on them were ever at the cutting edge of synthesizer technology, I think the core idea of General MIDI- the ability to write a song for one MIDI instrument that plays more or less the same on a different MIDI instrument regardless of the device's manufacturer- has true merit.

As an original owner of a Roland MT-32 (and its big brother, the D-110), I've grown so familiar with the GM sound set that I actually use it when I'm tracking out my own song projects. This way I spend almost no time programming patches or browsing presets; I just dial in basic sounds for the musical part I'm working on so I can get my performance down. Once all my MIDI is tracked out, I'll (usually) replace the GM patches with more suitable, customized sounds.

Another nice thing about GM files is they can be a good resource for new composers and producers, who want to look at how the MIDI tracks are laid out, what kind of controllers the original composers used to give their songs more life. You can examine both the musical structure and actual MIDI implementation/execution of a finished song.

HOW LIVE HANDLES MIDI

Live has some unique ways of handling MIDI that present challenges when it comes to working with GM files. Here's a quick rundown of Live's MIDI capabilities and limitations.

Live can import Type 0 and Type 1 MIDI files, but it can only export Type 0 files (via the Export MIDI Clip feature).

If you import a Type 0 file into Live, it will only appear as a single MIDI clip on a single Live track, even if the original file contained multiple musical parts intended for different MIDI channels. MIDI clips in Live can only play on a single MIDI channel, meaning that Type 0 files almost never play properly when loaded into Live.

If you import a Type 1 file, though, Live creates separate MIDI clips on separate tracks for each virtual track in the imported file.

Live 9 mysteriously lacks some nice features that Live 8 has when it comes to browsing and previewing MIDI files. In the Live 8 browser, Type 0 files expand to reveal a node named after the composition the file contains (assuming the person who created the file included a name). With type 1 files, the node expands to reveal separate lanes for each track in the file, which you can preview and import one-at-a-time.

Browsing MIDI files in Live 8.

Strangely, in the Live 9 browser, nodes for MIDI files are not expandable, so there is neither any information about the contents of the file, but you also can't preview or import separate tracks from a Type 1 file like you can in Live 8.

Browsing the same MIDI files in Live 9.

When you preview a General MIDI file in the Live browser, it usually sounds terrible, since Live just uses a single simple tone for every part, even if the song includes many parts for different instruments. This is especially noticeable in songs with percussion parts, since Live employs a chromatic tone for all the different drum hits. Don't worry when your General MIDI files sound terrible in the Live browser!

Live's browser preview for MIDI files uses the same tone for all parts in the song.

Unlike most other DAWs, Live discards or ignores certain kinds of MIDI data when you import MIDI clips. Program change and System Exclusive (SysEx) events are among the kinds of MIDI messages that Live discards. If the GM file you're importing contains program changes (patch selections) at the very beginning of the song, Live will attempt to set the MIDI Program Change property of the MIDI clips it creates when you first import the file. Any program changes that occur over the course of the song are completely lost, however.

Live generally preserves controller (CC) data in MIDI files, so things like volume, pan, and pitch bend tend to work as intended when imported. You can view and edit this controller information in the Envelopes panel of the selected clip.

Importing MIDI files in Live is quite simple. Just drag your file from the Live browser into Arrangement or Session view. If it's a Type 1 file, Live creates a different MIDI clip for each "track" inside the file, and will attempt to set the Program Change property of each MIDI clip to the first tone used on that track. Live adds additional MIDI tracks to your project if there are more tracks in the file than there are in the project.

Note that when you do import a MIDI file into Live, Live will not attempt to actually load any instruments or set MIDI channels on any new tracks it creates in your project. That's all up to you, and we'll cover how to do that stuff in the following posts.

All right, so now you know all about how Live handles MIDI files. Next we'll talk about how to get your MIDI files ready for a smooth import into Live.

THE RIGHT TOOLS FOR THE JOB

In order to get your General MIDI files to play properly in Live, you'll need to use some external software to inspect and possibly convert the file. I have only found a couple of tools that do everything I need. Here they are:

MidiYodi (by Canato)

Description: This is a multi-platform tool for examining, editing, and playing MIDI files. It's a Java application, and you need to already have version 1.7 or later of the Java Runtime installed for it to run, but it has a very usable and detailed user interface.

Platform: Mac, OS, Windows

Price: Free to download and try, $14.95 USD for a licensed version. (License is required for certain features, like converting Type 0 files to Type 1.)

Notes: This is a great tool, and the licensed version does everything we'll need for the purposes of this tutorial.

MIDI Utility Pack (by KBD-Infinity)

Description: This is a collection of six different MIDI tools, but two in particular are useful for getting General MIDI files ready for Live. MIDI Microsope is a MIDI event viewer you can use to inspect MIDI files down to the byte level, and MIDI Typer converts between Type 0 and Type 1 MIDI files.

Platform: Windows

Price: Free to download and try, $19.95 USD for a licensed version. (The license is required to unlock features in the various tools, most importantly the ability to convert Type 0 files to Type 1.)

Notes: Functionality-wise, this is a veritable tool chest for anyone who works with MIDI files. The user interface seems to be geared toward more advanced users, especially the fact that the MIDI Microscope displays most values in hexadecimal format, and doesn't represent compound values (such as Channel/Program bytes) as separate values.

Any others?

If you know of any tools that would be useful for any of the stuff covered in this series, please leave a note in the comments! Since MidiYodi is cross-platform and so easy to use, I chose it for the screenshots in the next part of the tutorial.

PREPARING YOUR MIDI FILES FOR LIVE

Two things we need to do before attempting to bring our MIDI files into Live are making sure we've got Type 1 files and determining which tones the composition calls for.

IDENTIFYING (AND CONVERTING) MIDI FILE TYPE

First let's figure out what type of files we're dealing with, and convert them if necessary.

Launch MidiYodi go to File > File Explorer.

Use the navigation controls in the File Explorer to browse to a folder containing your MIDI files. In the lower pane of the window, you'll see many details about the MIDI files located in the current folder, including the file type.

If the file you plan to use is Type 0, double-click it to load it into MidiYodi. If MidiYodi asks if you want to separate the channels onto different tracks, click Yes. (If it's a type 0 file, but MidiYodi doesn't ask, it probably means the file only contained a single track/channel anyway.)

Close the File Explorer dialog and go to File > Save As. Enter the name of the file you would like to save, and make sure to select Type 1 under MIDI file type before clicking Save.

GET THE PATCHES RIGHT

As mentioned before, Live will make an attempt at setting the correct Program Change values of your MIDI clips when you drag your MIDI file into your project, but this doesn't always work, and some MIDI files select different patches during the course of a song, and you will only be able to determine that this happens by examining the file outside of Live. This is easy to do in MidiYodi.

In the MidiYodi main window, each MIDI track appears on a different row. The track's name (if it has one) appears above the patch/tone name for each part. (Note that the number that appears before the track name does not necessarily correspond to the actual MIDI channel used on that track.) Each tone name listed also includes a numerical value- these are the actual MIDI Program Change numbers used in the song.

Note that the program change numbers that you see in the Main Window are only the first ones used for each track. If the song you loaded contains program changes that occur during the song, they will not appear on this screen, even as the song plays.

ImportantIn the MIDI standard, program change values are the same as they are represented in MidiYodi- from 0 to 127. In Ableton Live, program change values range from 1 to 128. So when setting the program change properties on your MIDI clips in Live, just add 1 to whatever value MidiYodi reports.

To see if there are any "hidden" program change events in your song, you need to inspect the tracks individually. In the MidiYodi main window, select the track you'd like to inspect and then go to Window > Event Examiner. This opens a list of all MIDI events on that track. Program Change messages appear in blue. Scroll through the list to look for any other changes, and take note of the program change number, as well as where it occurs in the song.

MidiYodi highlights program change numbers in blue.

CHOOSING AN INSTRUMENT

Since Live doesn't include any multi-timbral instruments that respond to program change events or include a General MIDI sound set, we'll have to use third-party GM-compatible plugins or hardware instruments.

VIRTUAL INSTRUMENT OPTIONS

In the early days of VSTs there used to be a number of software instruments with General MIDI support. Two notable such products were Native Instruments Bandstand and Roland's Virtual Sound Canvas. These days, true GM-compatible virtual instruments on PC and Mac are quite rare- especially if you're looking for something with native 64-bit support. Here are some options I've tried.

Full GM support (GM sound set, multi-timbral, respond to program change events):

HALion 5 and HALion Sonic 2 (by Steinberg) are the only fully GM-compatible plugins I know of that have both 32-bit and 64-bit support on both Mac and PC.

Purity (by Sonic Cat) is a nice-sounding multi-timbral synth with full GM capabilities. It is much less expensive than the Steinberg products, but it is also 32-bit only on both Mac and PC.

Sound Canvas VA (Roland) - Roland released this instrument about a year after I first wrote this post. It is almost the perfect GM plugin. It's got 32-bit/64-bit support, and works on Mac or Windows. It has the entire sound libraries of Roland's various Sound Canvas synthesizers, and is 16-part multitimbral. My only complaint is that although it's multitimbral, it lacks multi-out support. In other words, if you want to process each MIDI part as a separate audio channel in your DAW you have to use multiple Sound Canvas VA instances (one per track) instead of using just a single instance and routing separate MIDI tracks to it. But you can't beat this plugin's sound sets. The Sound Canvas line was the benchmark for General MIDI sound. I'm not going to write instructions for this one like I did for HALion and Purity, but in practice it's more like using the Purity plugin, so you can probably refer to those instructions to figure out how to get Sound Canvas VA working right inside of Live.

Limited GM support:

Jeskola XS-1 is a free multi-timbral Sound Font player that you can use with GM sound fonts. It is a Windows-only 32-bit plugin, but it works and it's free. I have used it successfully with both the Arachno SoundFont and the Merlin GM v32 SoundFont. XS-1 doesn't respond to program change events, so you have to load your SoundFonts and patches individually for each channel.

UVI Workstation with PlugSound Pro. UVI Workstation is a powerful, free multi-timbral synth for Windows and Mac, available in both 32-bit and 64-bit flavors, and UVI sells a sample library called PlugSound Pro that includes a full GM1 sound set. This doesn't really qualify as fully GM compatible, since UVI Workstation doesn't respond to program change messages (you have to manually select the individual patches for each part in your DAW project), but if you know what patches to use and you happen to pick up PlugSound Pro during one of UVI's frequent sales, this can be a fine option.

SampleTank with OmniSynth 2. This is confusing as heck, so bear with me: Sonic Reality's OmniSynth 2 library for SampleTank 2 includes a General MIDI sound set, and there are instructions on the Internet for setting up SampleTank 2 to respond to program change events, making the SampleTank + OmniSynth combo a fully GM-compatible instrument. This worked with both the full commercial SampleTank product and SampleTank Free. The two gotchas here are that SampleTank 2 is 32-bit only and it is also no longer available (free or otherwise) unless you already have a license for it in your IK Multimedia account. With the current version of SampleTank, things have changed. The new free version, SampleTank Custom Shop, does not load any libraries for previous SampleTank versions, so it won't work with OmniSynth. The full commercial version of SampleTank 3 will load all SampleTank-compatible libraries (including OmniSynth 2), however SampleTank 3 doesn't let you configure how it responds to program change messages, meaning it's no longer fully GM-compatible. SampleTank 3 is also 64-bit only... one of very few products I know of with no 32-bit version.

HARDWARE INSTRUMENT OPTIONS

These days it's actually easier (and sometimes even cheaper) to find a GM-compatible hardware synth or sound module than it is to find viable plugin solutions. What follows are just a few options.

Used:

Roland Sound Canvas. Being the General MIDI standard-bearer, Roland has released more General MIDI compatible instruments than any other vendor, and a lot of them are extremely affordable on eBay and other places where you can get used gear. Specifically, Roland released several dozen different models in their Sound Canvas series, almost all of which can be found for good prices online.

Roland JV-1080. This is a popular rack sound module from the late 90s that is fully GM compliant, with lots of other tricks up its sleeve.

Yamaha MU Series. Similar to Roland, Yamaha had its own line of affordable sound modules, known as the MU series. All of these devices had full GM support, but some of the later models supported different MIDI standards as well.

New:

Roland INTEGRA-7. This may be the best rack sound module ever built. It has thousands of sounds and not one, but two GM sound banks. One is a special "HQ" version with sounds that are only available on the INTEGRA-7.

Roland FA-06 and FA-08. These are Roland's current top-of-the-line workstation keyboards. They have a selection of sounds from the INTEGRA-7 library and a serviceable GM bank. (This is not the same as the HQ bank from the INTEGRA-7.)

Roland SD-50 Studio Canvas. This is a spiritual successor to the Sound Canvas series, with full GM2 support and a built-in USB audio interface.

Yamaha offers a number of workstation keyboards with General MIDI banks, including the Motif and MOXF lines.

Most of Kurzweil's "Pro Keyboards" line include General MIDI banks as well.

STEP-BY-STEP GUIDES

Now that we've covered all of the basics, it's time to actually load some MIDI files into Ableton Live. Below you can find my step-by-step guides for using the following synths to play General MIDI files in Live: