· Verson
2.1
January 19, 2005
How To Create
General Midi Files
from
Technics® Musical Instruments
by
Lawrence S. Cohan
Table of Contents
Preface___ 4
Caveats_ 4
Copyright 4
Distribution________ 4
Trademarks 4
The Author________ 4
Credits__ 4
Introduction 5
File Formats________ 5
Audio Files 5
Technics files_____ 5
Standard Midi Format
(SMF) files 6
General Midi (GM) files 7
Technics’ Midi File Save
option________ 8
The Role of the Internal
Sequencer 8
Software Requirements______ 8
Cakewalk_ 8
Versions of cakewalk_ 9
Hardware Requirements______ 9
Computer 9
Cable___ 9
Other Requirements_____ 10
Setting up the Technics
instrument 11
Creating the initial
settings 11
Midi Presets_ 11
Channel Assignments______ 11
Control Messages 12
Part Setting_______ 12
Realtime Messages 12
Common Settings 12
Panel Memory Local
Control_ 12
Panel Memory Program
Change_ 12
Input/Output Settings 13
Other__ 13
Saving the settings 13
Setting up Cakewalk 13
Storing the template
file_______ 13
Choosing ports___ 13
Choosing GM instruments_______ 14
Instrument Definition
Files____ 9
Recording 14
Loading the template
file_______ 14
Arming the Tracks_ 14
Set the Tempo_ 14
Loading the Technics
settings 14
More Technics Setups_ 14
Start Recording_______ 15
Stop the Recording_______ 15
Editing mistakes 15
Recording multiple times__ 15
Converting patches to GM_________ 15
Determining the original
patch___ 15
Selecting the GM patch___ 16
Converting drums to GM_________ 16
Storing the CAL file 16
Using the CAL file 16
Playback_ 17
Save The File____ 17
Load the midi file 17
Playback 17
Help!!!___ 17
This article is Copyright 1999 by Lawrence S. Cohan. It is provided as is without any express or implied warranty. All information in this article is believed to be correct at the time of writing. It is for educational purposes only.
IMPORTANT.
This document may not be sold for profit or incorporated in commercial documents without the written permission of the copyright holder.
Technics® is a trademark of the Panasonic Company, a division of Matsushita Electric Corporation of America. See http://www.technicsusa.com/index.htm.
Cakewalk® is a trademark of Twelve Tone Systems, Inc. See http://www.cakewalk.com/.
I am a retired computer executive living in Potomac, Maryland – a suburb of Washington, DC. I am an amateur musician (piano player and arranger) currently using a Technics KN1000 and a KN2000. Both are midied to each other and to a Pentium III PC running Windows XP. I enjoy helping people around the world with midi problems and may be contacted for help at LCohanNoSpam “at” Yahoo.com.
Thanks and credit should be given to John Shute (U.K.) and Armando Lozano (Mexico) who aided and abetted the development of this process and this document. In addition, numerous others were my beta testers and we all owe them our thanks for finding the many mistakes that I made.
We must begin by reviewing different kinds of musical computer files. Until we distinguish between these types of files, the process that follows will not make much sense.
If is possible to create audio files such as .wav and .mp3 files by hooking the “Line Out” connection of the Technics to the “Line In” of your PC audio card.
The advantage of audio files is that, after some amount of work and hardware, they can be transferred to a CD or MP3 player and played through a quality stereo sound system by non-computer jocks and non-musicians.
MP3 files are large – one minute of performance can result in almost 3 megabytes, depending on the sampling rate. But .wav files are huge – one minute can result in 16 MB, again depending on sampling rate and other parameters.
In addition, the quality of the resulting audio file depends upon the quality of the PC sound card that your computer has installed. Most of us have inexpensive sound cards that do not provide high quality recording facilities. In addition, the playing instrument further degrades the quality.
Nothing else in this document pertains to audio files. For help on that, see: http://www.borg.com/~jglatt/tutr/win95.htm, among others.
I must first warn you. I dislike using the Technics Internal Sequencer. I find it unintuitive, restrictive, non-musician oriented, time consuming, and poorly documented. Plus, my many blind friends are unable to use it because there is no way to get speech synthesizer output, as there is in the case of a PC-based sequencer.
My attempt to avoid using it has resulted in my having developed some expertise in external sequencers such as Cakewalk. If my negative feelings about the internal sequencer show through in later comments, remember that I warned you of my bias.
Now back to Technics files. When you record with the internal sequencer and do a “File Save” to a diskette, you will create 5 or 6 files, depending on your Technics model number. While theoretically a computer can read these files, for all practical purposes there is no software that can convert them into a General Midi file (see definition below) – which is why you are reading this document.
You can play it back on your instrument and those exactly like it. Such files retain all of the information of your performance and will play back exactly like you performed it (unfortunately, sometimes). Technics files can use all of the hundreds of sounds (also called patches or voices) that your instrument has.
The sole disadvantage of a Technics file is, that with some exceptions, you cannot share your performance with anyone else unless they have the exact same make and model of instrument. While some of the later instruments can play files from an earlier instrument, there is no guarantee that the result will be exactly the same as the original. Even the APC style may be different, I am told.
All midi files conform to an industry standard called Standard Midi Format (SMF) files. There are no midi files that are not SMF. An SMF has absolutely no audio frequencies and amplitudes. Instead, a midi file is a description of the events that were performed at the time of recording. An event might be something like, “middle G was depressed with velocity 114 at time 3:2:45”. In other words, the playing of a note is one of the types of events that are recorded in an SMF file – not the sound of the note itself. Other event types in midi files include: controllers (e.g. pan, sustain pedal, modulation wheel), patch changes, pitch wheel, etc.
When a midi file is sent to a playback device (such as your Technics instrument) then that instrument performs those events just as if you were playing them. This process is very analogous to the old player pianos with the holes punched in the roll of paper. The hole represented events, not sound. Sounds are created at playback time by re-performing the events. For more tutorials on midi, see http://www.harmony-central.com/MIDI/Doc/doc.html
Non-GM (see below) midi files can therefore be used to store your performance in place of Technics internal sequencer files. Non-GM midi files can totally reproduce your performance using the full capabilities of your instrument. Why, you ask, would you want to do this? Here are just some of the things you can do with a midi file and an external PC sequencer:
n Musical notation – You can display your performance as sheet music or as a score. Many of us are more comfortable with editing our mistakes while viewing them on musical staves rather than the cryptic display of the internal sequencer. It follows the modern concept of WYSIWYG (what you see is what you get).
n Printing scores – This might be helpful if you wanted to publish or copyright your composition.
n Sophisticated editing –- You can edit wheel movements, edit volume changes, insert dynamic pan changes, etc. External sequencers are very analogous to word processors. Cakewalk is to music like Microsoft Word is to text (or Adobe Photoshop is to images). The more you know about sequencers, the more you will realize the truth of that analogy.
n Cut and paste many recordings – I will often record the same song 3 or 4 times in a row. Each session will have some goofs. But then I will cut and paste the best parts of each recording session into a master file. Try that in the internal sequencer!
n Mix with audio tracks – It is even possible to create a combined file that includes midi for the instrumental parts, plus audio for the vocal parts. I haven’t done this myself because my voice is so horrible!
Most modern keyboards, organs and PC sound cards are said to be “GM Capable”. All Technics keyboards after the KN1000 are GM capable. When a device is GM capable, then it must, in addition to whatever else it has, has to have a standard set of 128 patches (sounds, voices, whatever). Moreover, each of those 128 will be located at a certain patch change number. For example, patch number 18 is a jazz organ on every GM instrument in the world. 59 is a tuba, etc. There are similar standards for the 47 GM percussion instruments
Midi files, along with complying with the SMF standard, can, in addition, conform to the GM standard. In doing so, they must only use the 128 patches and 47 drums that are in the GM set. They cannot use, for example, the wonderful “breathy tenor sax” sound that many Technics instruments have. They can, however, substitute the standard tenor sax patch that is in the GM set.
While many of us complain about having to restrict ourselves to the 128 patches rather than the hundreds that are available on our Technics instrument, remember that the number of instruments used in a symphonic orchestra is a lot less than 128! And that is the price we must pay if we want our fantastic compositions, arrangements and performances to be heard by the rest of the world.
For more tutorial information on SMF and GM, go to the following URL’s: http://midistudio.com/Help/Help_Index.htm, http://members.xoom.com/Kehua/gmidi.html, http://www.ioc.net/~michaelc/geninfo.htm, http://www.borg.com/~jglatt/tech/gm.htm, http://members.tripod.com/mus1/whatismidi.htm, http://math.idbsu.edu/gas/midi/html/midi_intro.html.
Midi files are tiny compared their audio counterparts. A typical midi file is only a few dozen kilobytes, compared to multi-megabytes for an audio file.
GM files can be played by:
n Other models of Technics instruments
n Other makes of keyboards, organs, etc.
n Sound cards
When played on a different instrument it will, however, only sound approximately the same. A tenor sax on a KN5000 will obviously have a better timbre than the tenor sax sound on your PC sound card played through your tiny speakers. Besides the difference in the quality of the speakers, there is also a difference in the quality of the synthesizer technology.
But it is this universality that is the
principal reason why you want to create GM files from your Technics
instrument. There is no other way to
achieve that universality.
As indicated above, there are only 128 patches available to you in GM. You therefore have to do some substitutions. Let me say, however, that I have played thousands of GM songs that I have downloaded from the Internet. Some of them are poorly done. But many of them are simply outstanding. If the listener doesn’t know how the song might have sounded on a Technics KN?000 using all of the available patches, then they will probably be very happy with the GM version.
Frankly, I believe that the 47 drum sounds is even more limiting than the 128 patches. In particular, the absence of good brush percussion sounds is worrisome, particularly in jazz pieces.
Currently there are proprietary extensions to the GM standard called GS and XG by Roland and Yamaha respectively that increase the number of patches and drums. However, other manufacturers, especially Technics, do not support those protocols.
Just before press time of this document, the Midi Manufacturers Association (MMA ) approved a new GM-2 standard. I assume that GM-2 would have more patches and drums but I have not yet seen the new specifications because it costs $25 U.S. to obtain them at this time. The new Technics KN6000 conforms to GM-2, I am told.
Why do you need an external sequencer if Technics has a Midi File Save option? Well, because that option is virtually worthless. In effect, when you do a Midi File Save after recording a song into the internal sequencer, the resulting midi file only has the melody tracks on it. The APC style notes are not there. Go figure! (I am told that the KN6000 has fixed this, but I have not verified this myself.)
There are (at least) two possible ways of creating a GM file:
1. Record your performance directly to Cakewalk and convert it to GM.
2. Record your performance into the internal sequencer of the Technics and then play the internal sequencer while recording it in Cakewalk and then convert it to GM.
In my humble opinion, method 2 is unnecessarily complex with no value added. (Just note how many extra words it took to describe method 2.) Therefore the instructions below assume that you are using method 1, although I will include some caustic comments to help the masochists who insist on using method 2.
In order to make my process work, you must use Cakewalk. Other fine PC sequencers such as Voyetra, Cubase, etc. cannot run the necessary Cakewalk Application Language (CAL) program provided with this document. More details about the software may be found at http://www.cakewalk.com/.
If you have one of the earlier versions of Cakewalk that came without a manual, I strongly recommend that you upgrade to a version that has both a manual and technical support. Without either, you won’t get very far in this complicated subject area. Make sure that a hard copy manual comes with the upgrade. Not all upgrades provide one. L
You must use either the Cakewalk Pro or Pro Audio version. The entry level Cakewalk Home Studio cannot run the CAL program.
I have tested this recipe for making GM files on Cakewalk 7 and 8. I assume that it will run on 9. The template provided in the zip file will not work with versions 3-6. However, a version 3 compatible template is available by request from me at LCohanNoSpam “at” Yahoo.com, but the instructions below will assume version 7 or greater.
You might ask if you need an Instrument Definition File (.ins). You do not. An instrument definition file would only be desirable if you were creating a non-GM SMF (see above). Since you are heading for a GM file, having a .ins file is totally unnecessary.
It must be an Intel based PC. Macs cannot run Cakewalk, as far as I know. The later versions of Cakewalk are 32-bit programs, so they will only run on Windows 95/98, not Windows 3.1.
I successfully run Cakewalk on a Pentium II 233 MHz machine. I don’t think that Cakewalk is much of a hog for machine cycles. However, I strongly recommend that no matter what speed chip you have that you shut down all other tasks – especially your Internet connection -- while you are recording and playing. Even the “polling” signals sent by your dialup connector can adversely affect your recording and playback.
You must also have a midi adapter cable that connects your PC to your Technics instrument. Make sure that you buy one long enough to fit your geography. There are two kinds of PC midi adapter cables.
Most of you will need to use the midi jacks on your Technics instrument hooked to the gameport (joystick) jack of the PC. Those midi adapter cables have a spare joystick jack so that you can still fly your F-18 fighter aircraft while you compose music. One brand of such a cable is shown at http://www.cakewalk.com/Products/MIDIMusicPack.htm
Read the instructions carefully before you install the cable. You should note that the midi in cable goes to the midi out jack of the instrument – and vice versa. Think of it as a heterosexual cable and you’ll get it right. You do not need any extra drivers – your sound card has provided them already.
Some of the newer Technics instruments (e.g. KN5000 and KN6000) have a serial jack that could be hooked to a spare serial port on the PC. Such cables can be ordered from your friendly local Technics dealer. They come with the necessary drivers. Personally, I don’t have a newer Technics instrument, nor do I have a spare serial port.
In addition to the hardware and software requirements, you will also need:
n Time – Midi has a steep learning curve. You will not get results overnight. Be prepared to invest at least a couple of weeks before you see any tangible results. If you don’t have that time, then don’t go down that path.
n Patience – Midi is frustrating. There are a lot of settings both on the PC end and the Technics end that have to be correct and compatible. Like a key in a lock, every setting must be correct. You may have only one incorrect setting and not get any results at all.
n PC skills – If you are not somewhat proficient in operating a computer, you will not like Cakewalk. It is about as hard to learn as Adobe Photoshop or Microsoft Word.
n Musical skills – Some people are quite talented with a Technics instrument even though they have had no formal musical training. But if you don’t know what a quarter-note is, or how music is organized into measures and beats, then you may not like working in Cakewalk.
n RTFM (Read The Freaking Manual) skills – I cannot, in these few pages, give you the equivalent of the moderately thick Cakewalk manual and the (too) thin Technics manual. You will have to do some reading on your own. If you are one who cannot read more than one paragraph of a manual without shrieking, then this project may not be for you.
n Asking for help skills – There is a skill in asking others for help. First you read, then you try, then you fail, then you read, then you try, then you fail – and then you ask for help. In other words, don’t ask for help from Cakewalk or Technics support (or me) until you have exhausted your own means. Not only does it waste the time of those who are trying to help you, but also you won’t be learning much from their help if you don’t first try to understand the problem.
n Sense of humor – Producing GM files is not life threatening. Enjoy the challenge just as many of us enjoy going down a mogul-ridden ski slope. Laugh at your failures. Someday soon, you’ll get the results you were looking for. The pot at the end of the rainbow is filled with gold.
Here are my favorite KN2000 Technics settings for recording – do not use these settings for playback. If you do not have a KN2000, you will find that most of the settings below are the same or similar to yours. If your instrument has midi settings that are not discussed above, then:
1. Try using the simplest setting possible (e.g. "off").
2. Try using the default value (most of your extra settings probably aren't going to affect this recording process anyway.)
3. Try using your best judgment after reading the manual.
4. Email me at LCohanNoSpam “at” Yahoo.com and I'll try to help you figure out the proper setting. Send me the description from the manual.
|
Don’t select any presets – especially after changing the settings below |
(organ-specific
assignments in blue)
|
Right 1 – Upper 1 |
1 |
|
Right 2 – Upper 2 |
2 |
|
Left – Upper 3 |
3 |
|
Non-organ parts 4-16* |
Off* |
|
Lower 1 |
4 |
|
Lower 2 |
5 |
|
Lower 3 |
6 |
|
Upper Organ |
7 |
|
Lower Organ |
8 |
|
K. Percussion |
9 |
|
Control |
Off |
|
Accomp 1 |
12 |
|
Accomp 2 |
13 |
|
Accomp 3 |
14 |
|
Bass |
15 |
|
Drums |
10 |
|
Chord |
Off |
|
Program Change, Bank Select, etc. |
On |
|
Octave (all parts) |
0 |
|
Local (all parts) |
On |
|
Realtime Commands |
On |
|
Clock |
Midi |
|
Program Change to Panel Memory |
Off |
|
Note Only |
Off |
|
Realtime SysEx |
Off |
|
Non-realtime SysEx |
Off |
|
Intro, Fill-in, Ending |
Off |
|
APC Control |
Off |
|
Transpose |
On |
|
Program Change Mode |
TECH |
|
Drums Type |
TECH |
|
Song Select |
Off |
|
Midi Setup Load |
Off |
|
Local (all parts) |
On |
|
Midi (all parts) |
On |
|
Program Change (all parts) |
Off |
|
Bank Select (all parts) |
0 |
|
Right 1 Input |
Direct |
|
Auto Play Chord Input |
Off |
|
Techni-chord Output |
On |
|
Drum Pattern Output |
On |
|
Auto Play Chord Output |
On |
|
General Midi |
Off |
|
System Exclusive Bulk Dump |
Ignore |
Once you have successfully set your Technics instrument up for midi recording, you should save those settings to a diskette file so you won't have to set them manually every time you want to record. Name it something like “MidiSet”. On older instruments such as the KN2000, save only the panel memories (they include the midi settings). On newer instruments, select only the "User Midi Settings" option.
Make sure that you have properly installed your midi adapter cable according to the directions that came with it. When you launch Cakewalk, you should see two little red lights over a piano keyboard in the system tray in the lower right hand corner of your monitor. Play a note or two on your Technics instrument and see if the left red light comes on. If not, then you may need to re-install your midi adapter cable.
In Cakewalk, go to “Tools-Global Options-Folders”. Make a note of the path of the folder where the template files are stored. Extract the template (.tpl) file contained in my zip file to where your other template files are stored.
Now go to Tools-Midi Devices and ensure that your “…Midi In” device is shown as the input port. Also ensure that the “…Midi Out” device (not the “…Midi Synth”) is chosen as the output port.
Go to Tools-Instruments. In the left hand pane, click on “…Midi Out/1”. Then hold the shift key down and shift-click on “…Midi Out/16”. Then go to the right hand pane and click on “General Midi”. Now go back to the left hand pane and click on “…Midi Out/10”. Then go back to the right hand pane and click on “General Midi Drums”.
We're almost ready to record. From this point on, the order in which you do the steps is very
important, even if it doesn’t seem so.
Now go into Cakewalk and open a new project file. A dialog box will then ask you for a choice of a template. Select the Technics Recording Template that you previously saved. I designed the template to accommodate Technics organs as well as non-organs. Therefore, some of the tracks are irrelevant to non-organs. Keyboard and piano players can safely ignore the other tracks.
Do a "Select-All" and then a "Track-Arm". You should now see a red "R" on every track. Arming a track means that you are setting it to the record mode.
Set the tempo you want in Cakewalk – not on the Technics instrument. You will not be able to set the tempo on the Technics side because your instrument is now under the command of Cakewalk. You will only see "-------" in the tempo window. That's okay.
Assuming that you have already saved the proper Technics settings above, load them from your diskette into your instrument.
{Note: If you are a masochist using method 2
(converting from a Technics file), then turn on the Synchro & Break light
and jump to the next section, Start the Recording}
Now get your Technics instrument ready. Select the rhythm pattern and sounds that you want.
Make sure that the Synchro & Break light is off. Then, in your left hand, play the first chord of your song. Nothing will happen, but the chord is now ready to play when the intro starts.
Now turn on the Synchro & Break light. Also, turn on the Intro & Ending light whether you want an intro or not. You can always delete it later, but it will definitely help you get into the "groove".
Ready? Take a deep breath. Hit the "r" key on your computer keyboard. That will start a countdown of 8 metronome beats coming through your PC speakers. At the end of those 8 beats, the intro will start, using the chord that you gave it. At the end of the intro, start playing your melody and chord changes.
When you have finished your beautiful arrangement, then reach over and hit the space bar on the PC keyboard (no great hurry). That will stop the recording.
In the track view of Cakewalk, you should be able to see some evidence that you successfully recorded. Don't try to play the song back to the Technics at this point. While it is true that you have a Standard Midi Format (SMF) file at this point, it is not a General Midi (GM) file – yet. In addition, your Technics instrument is not set to properly receive anything.
Did you make some mistakes? Sure you did! Try your hand at editing them using either the Staff View or the Piano Roll View (my preference). You’ll have to RTFM to figure out how to do it, but it’s not that difficult – especially compared to the Technics internal sequencer.
Alternatively, you can simply save that project (as a normal, .wrk, Cakewalk project file) for the time being and open up a new project. Record again (and again). Then you can cut and paste the best segments (called clips in Cakewalk) into a master project that won’t have any mistakes in it. Yes, this is not for Cakewalk beginners, but it won’t take you too long to get beyond that point.
At this point, you have a non-GM midi file. Before going further, you should save this version as a normal (.wrk) Cakewalk file. If you haven’t done so already, create a folder in which to put all of your Cakewalk files. Later, you will save the GM version as a .mid file. The .wrk file will be better to work with if you have additional editing changes to make later.
For reasons that I do not understand, the APC styles in the Technics instrument does not send patch (program) change messages out over the midi channels. They are sent only if you were to manually press the Sound Group buttons. So in order to know what the original patch was (so we can then convert it to the nearest substitute GM patch), we need to identify it by name. There are two ways to do so.
1. Use the composer editor – You can, by acting as though you wanted to modify a style using the composer editor, see which sound they used for each part (Accomp 1, … Bass, etc.). This is difficult and time consuming. I keep thinking there must be a better way, but I haven’t found it.
2. Use your ears – The method I use is to start the APC and then selectively turn the volume down on each part except the one I want to identify. Then I use my aging ears to tell me what the sound (e.g. guitar) is that I’m hearing. I only use method 1 when I cannot identify the sound by ear. Obviously, you need to make a list of what you find.
Now for each track other than track 8 (the drums track on midi channel 10) manually change the initial patch to one of the GM patches. This is best done by double clicking on the patch cell of each track from the Track View. A dialog box will then appear. In it, there will be a yellow folder icon with a green magnifying glass in it. Click it. Then in the input box at the top, put in the generic name of the instrument that you found with your ears above, e.g. “organ”. You will then be given a list of all the GM patches that have that name contained in them. Select the one that you feel is most appropriate. By the way, you don’t always have to conform to what was in the original Technics style arrangement.
In most cases, you will find one that is reasonably close to the Technics patch that you used when recording. Instead of "Jazz Violin", you might have to settle for "Violin". But if you used "Piano 2 Octave", you may have to use just "piano" and then copy, paste, and transpose another track to provide the octave part (after you get beyond the beginners stage.)
Go to “Tools-Global Options-Folders”. Make a note of the path of the folder where the CAL files are stored. Extract the CAL file contained in my zip file to that location.
Now do a “Tools-Run CAL File” and run the CAL file you just stored. Your drums are now converted to GM drums automatically. (That step is almost impossible to do manually – that’s why I wrote the CAL program.)
Congratulations. You're finished recording and now it is time to enjoy the results.
Before going further, you want to save the GM file as a true midi (.mid) file. Do a "Save as..." and select type “Midi Format 0” and save it again. The Midi type 0 is the file that you'll want to send to the world to hear your glorious composition/arrangement/performance, whereas the Cakewalk file version (.wrk) that you saved earlier will be your master in case you have additional changes to make.
Now close all the windows but leave Cakewalk open.
Now load the .mid file that you just saved. The reason I had you save, close and then reload the file is that the reload causes a Systems Exchange (SysEx) message to be sent from Cakewalk to your instrument that puts the instrument into the proper GM mode so that it is now ready for playback.
All you have to do now is to hit the space bar. That will start (and stop) the playback. Alternatively, you can do a “Save as…” of the file to put it on a diskette and then do a “Midi File Load” on the Technics instrument and press the start button.
If it worked, go have a glass of champagne with a loved one. You deserve it!
Hope this has been of some help. Send any requests for help, suggestions and other feedback to: LCohanNoSpam “at” Yahoo.com
Larry