PCM Card Workshop
PCM Card Workshop is a Windows program that allows the user to make their own PCM sound cards for synthesizers that are compatible with the Korg 01W PCM format. Since Korg has stopped making PCM cards for their older synthesizers, many people expressed a need for the ability to make their own. This program allows you to add aproximately 33 seconds of new sample data to your synth.
While making individual sounds to be played on a synthesizer is trivial, the ability to actually get them in a format that your synthesizer can understand is not. This program allows the user to create a file that can be put on a SRAM card so that new sounds can be used in the synth. The program must be used in combination with other products and is not a stand alone solution. See Below.
A Sound editor such as Cool Edit from Syntrillium software http://www.syntrillium.com.
A 2MB PCMCIA SRAM (68pin) card to put the sounds on. http://www.synchrotech.com
A card programmer or a laptop computer with a PC Card (PCMCIA) interface to program the card.
Free Card Services software ( http://www.csluk.demon.co.uk/cs ) To write to the PC Card.
The PCM Card Workshop program.workshop.zip To create the formated binary image of the new sound card.
The current version is 1.0.2
Version 1.0.2 Fixes a bug in the drumsound loops. Also adds the fxsample type for easy mapping of sound effect type sounds.
1)All documentation is included as the Help file in the program menu. PLEASE read this file BEFORE attempting to use the program. It will save you a lot of trouble and give you some background on the technology.
2)The program currently only interprets Intel signed 16bit PCM files with no header data. It cannot interpret wav files or other formats.
3)The program should run on all Windows products, It is a 16bit application.
4)Many people have inquired about the possibility of using this program on the Wavestation EX and AD. I have been told that the format should work. However, a special adapter card must be designed to interface to the EX or AD since they do not utilize the same formfactor cards as the 01W series and WS-SR. Refer to the service manuals for these synths for interfacing information.
This program is for private/experimental use only and is protected by Copyright. It cannot be included as part of any other product or distributed in any way unless prior written approval is obtained from the author.
Send all email to wrkshpPCM@aol.com
Selecting a SRAM card for your synth
Trying the demo image file
Identifing loop points
Making a project file.
Project file description
Compiling the project file
PCM Sound Making Notes
Getting the Image file to the SRAM Card
PCM Card Workshop is a Windows program that allows the user to make their own PCM sound cards for synthesizers that are compatible with the Korg 01W PCM format. Since Korg has stopped making PCM cards for their older synthesizers, many people expressed a need for the ability to make their own. This program gives you 33 seconds of sampling based on the default sampling rate.
Selecting a SRAM card for your synth
A 68 pin PCMCIA SRAM card can be used in place of the ROM cards that were originally used for the synthesizers. This allows you to update and change your multisounds when you want with out having to buy a new card. When selecting a SRAM card there are a few things to watch for. The card must not have any attribute memory, sometimes called CIS memory. The REG# pin (pin 61) on the card is tied to ground in the 01W and causes all memory accesses to be in CIS attribute space on cards that are so equipped. If the SRAM card has CIS memory It will not work with the synthesizer. The memory speed of the card should be 200ns or better. 200ns memory cards work fine with the 01W. You can use 256K, 512K, 1MB, and 2MB SRAM cards with the synth.
Pretec sells 2MB SRAM cards for about $110 and can be bought over the net. Make sure you specify no CIS or attribute memory or the card wont work. http://www.pretec.com. Synchrotech also sells compatible cards. http://www.synchrotech.com There are a number of other suppliers on the internet that sell these cards as well.
If you happen to have a SRAM card with CIS/Attribute memory, it is possible to modify it by disconnecting pin 61 internally in the card. This is not recommended and should only be attempted by a knowledgeable technician. This means opening up the card and cutting the trace on the circuit board or clipping the lead to the connector. The case can then be glued back together again. The pins are layed out as follows. When looking at the connector facing you: Top row rightmost pin is pin 1. Top row leftmost pin is pin 34. Bottom row rightmost pin is pin 35. Bottom row leftmost pin is pin 68.
Note for cards greater that 2MB :
There are 20 address lines ( a0-a19) that go to the SRAM card. The upper address lines (a20-23) from the card are connected to bank selects on the TG88 (tone generator in the 01w) and it is not clear if these are supported. Cards greater than 2MB in size may be supported but have not been tested. Samples cannot cross a 2MB boundary however.
Trying the demo image file.
Before using the program, Included in the distribution is a demo file that you can use to see if you are going to be able to program the SRAM card from your computer. Follow the instructions under Getting the Image file to the SRAM Card. The demo contains 5 single sample multisounds and 5 drum sounds. You will be able to tell if you are able to program the cards with your computer before wasting a lot of time making the sounds. The demo image is called demo.bin
Create sound files using your favorite sound waveform editor. Syntrillium Software makes a program called Cool Edit that is perfect for doing this. All sounds should be sampled at 31250 Hz . When saving your sounds, you must save them as 16 bit, mono, with Intel byte ordering, PCM data. This is the format that the compiler expects. Currently the compiler doesn’t support .WAV or any other type of sound format. Save the files with DOS compatible filenames.
Identify Loop Points
You must identify loop points in your sound files. If you do not want the sound to repeat, simply add some silence at the end of your sound and make the sample loop there. Make sure to include at least 10 samples of silence to loop through. You can make the entire sample repeat by making the first and last samples in a sound file the loop points. Typically you pick a loop point in the sustain portion of your sound. I can be as short as one period, if the wave form is simple , as in a sine, triangle, square, etc.. For more complex sounds, longer loops work best. This takes some time to pick the best spots so as not to hear and audible artifacts in the playback. Drum sounds don’t need any loop points. The compiler knows to add silence at the end of the sample and automatically loops in there.
Making a project file.
In order to create a PCM card image, you will need to create a file that describes the source material to the compiler. This file you will create with the editor window. Select the "File", "New" from the menu bar to create a new file. This file will describe the individual multisounds, samples and drumsounds for the compiler to put in the final image. See "Project file description" for the basic elements that you must put in this file.
Project file description
The project file describes the source sounds to the PCM card compiler. It consists of the following Markers in a common text file.
Use the built in editor to create and save the project file.
It is very important that a space is inserted between any marker with an equal sign "=" in the file and the data assigned to it. For example : "filename=myfile.txt" is incorrect and will cause the compiler to get lost. instead, Insert a space between filename and myfile.txt. "filename= myfile.txt"
Do this for all assignments in the project file.
The header info marker indicates to the compiler which name to call the output as well as the card name to insert on the card image.
HEADER FORMAT EXAMPLE
The card name can be 10 characters long
The output file name must be a maximum 8 characters or DOS compatible. (Example: 12345678.bin)
The #Multisound# marker indicates the start of a multisound information block. Multisounds can be made up of one to eight different samples each mapped across the keyboard.
The name= field indicates the name of the multisample to be shown in the keyboard multisample list. The name can be a maximum 10 characters long.
The num_samples= field indicates the number of samples in the multisample.
The #sample# marker indicates the start of a sample within a multisample. It must follow the multisound Marker fields.
The file_name= field indicates the file on the disk that contains the raw PCM sound data to be used for this sample.
The loopstart= field indicates the sample number on which to start the loop. The loopend= field indicates the sample number on which the end of the loop falls. Remember that samples are 16bits or two bytes long.
The keyhigh= field indicates the uppermost MIDI key that will sound this sample.
The unity= field indicates the MIDI key that will sound the original sample. If the sample instrument was recorded playing middle C, The unity key would be set to 60 for C4. Tip: You can use the analyze function of your sample editor to get the unity key of a sample.
Octave|| Note Numbers
|| C | C# | D | D# | E | F | F# | G | G# | A | A# | B
0 || 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23
1 || 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35
2 || 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47
3 || 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59
4 || 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71
5 || 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83
6 || 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95
7 || 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107
8 || 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119
9 || 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
The tune= field allows for fine tuning of a sample if the original is a bit sharp or flat, this field can be set to adjust for it. It appears to be in cents.
Note: It is necessary to fine tune your samples with a reference sample in the synth. Compare your sample with the Rom Piano sample for example by making a program with two multisounds, The first should be the reference instrument, like the Piano sample. The second should be your sample. Use the detune parameter to get the two as close as possible in pitch. Go back to your project file and put that number in the tune parameter for your sample. This will make your sample in tune with the rest of the instruments in the synth.
MULTISOUND FORMAT EXAMPLE: ONE SAMPLE
MULTISOUND FORMAT EXAMPLE: MULTI-SAMPLE
The #fxsample# Marker
The fxsample marker can be used in a multisound if the sample is not going to have a center tone or frequency. An example of this kind of sound is a sound effect. When using this marker the sample is mapped to both the multisound directory and the drumsound directory. This makes the sound usable across the keyboard for frequency shifting and available for use in a drum kit. When using this marker you don’t have to specify very much information. The sample is played as a one shot. This means it plays only once for each keypress. You can also use samples that were created with a lower sampling rate to conserve space on your card. For example 11,16,22KHz samples can be used. The unity key is preset to C5 and the key high is C8. There can only be one sample in a FX sample multisound.
THE DRUMSOUND MARKER
The #drumsound# marker is used to indicate to the compiler the start of the info block for a drumsound.
The file_name= field is used to indicate the actual PCM sound file to use for the sound.
The name= field indicates the name that will show up in the drumsound list. The name can be a maximum of 10 characters long.
Compiling the project file
After creating and saving a project file, first select the size of memory card you have from the pull down memu on the menu bar. You can select 512KB,1MB,or 2MB. This will let the compiler warn you if you are going to overflow the size of your SRAM card with your sound data. Then select "Compile, Execute " in the menu bar to create the PCM card image. This will run a file parser on the project file. If there are any errors, the compile will fail and display an error message. Upon completion, the output window is opened up which will show information on all the sounds that were put into the final output. If there are any errors, use this output file to locate the place in the project file where things went wrong.
PCM Sound Making Notes
When making PCM samples, make sure to normalize the data to the maximum levels. This will make your multisounds all the same loudness. Make sure you tune your samples, (using the tune parameter),to one of the internal multisounds so that your sample is in sync with the ROM samples in the 01W.
Korg 01w Series, 03RW Series, WS-SR, X2,X3,X3R
These synthesizers support multisound technology. This allows many different samples to be mapped to a single multisound name. In this program, a multisound may contain up to 8 different samples. One per octave to accurately reproduce the tonal qualities of the original Instrument. Each of these synthesizers supports the same PCM format. The files created with this program should work on any of these synthesizers, but have only been tested with the Korg 01W/fd and Wavestation SR.
Getting the Image file to the SRAM Card
Once you have successfully created a PCM image file you need to copy it to the SRAM card to test in the synthesizer. There are several ways to do this.
Most laptop PC's have PC Card sockets that can be used to get the info on and off the PCM/SRAM cards. In order to use these sockets , you must have Card Services installed on your laptop. There are a number of companies that provide card services. One is SystemSoft. Phoenix also sells their own card services. If you have one of these you also need a utility to copy from the harddisk in your computer to the SRAM card. You can use the Free Card services from http://www.csluk.demon.co.uk/cs This Free card services installs over your existing services and supply's a utility called CS_UTILS. CS_UTILS allows you to select a socket, select the size of card that is there, and either save to disk or load from disk the image that your created. Note : make sure that you don’t have any SRAM services installed with the card services that was supplied with your Laptop or the free card service software wont work properly. Follow the following instructions to install and operate.
You should see your new sounds starting at bank C00 in the multisound list. The drum sounds will show up at C00 under the Global page drumkit page.
If you have a PC with a PCMCIA/PC Card drive, you may be able to do the same procedure as above depending on the driver that was supplied with the drive.
If you have a card programmer, you should be able to program the cards with the image file output from this program. Simply start programming the binary image starting at address zero in the card. Sorry, S-Record format output is not included.
About PCM Card Workshop for Windows Platforms Copyright (C) MW 1998,1999,2000
All Rights Reserved.
PCM Card Workshop is an sound file compiler that creates binary images of sound files for use in synthesizers compatible with the PCM format used in the Korg 01W series .
-This version of the software requires a 386 or better CPU.
-68pin 2MB PCMCIA SRAM card (No CIS/Attribute memory)
PCM Card Workshop requires Microsoft Windows 95, Windows NT,
or Windows 3.1 with PCMCIA card services.
The author of this program accepts no responsibility for damages resulting from the use of this product and makes no warranty or representation, either express or implied, including but not limited to, any implied warranty of merchantability or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume all risks when using it.
Licensing, Registration and Distribution:
You are granted the right to use this demonstration version of this software for non-comercial purposes. You may not disassemble, decompose, reverse engineer, or alter any of the files in the package. This includes, but is not limited to modifying any icons, menus, or displays associated with the software.
This software is provided for demonstration and cannot be resold. This restriction does not apply to connect time charges, or flat rate connection/download fees for electronic bulletin board services. This software can not be bundled with any commercial package or distributed by itself or accompanying books or magazines without express written permission from the author.
By installing the demonstration version of this software the user implicitly agrees with the utilization rules described in this file .
Reaching the author:
The author can be reached at wrkshpPCM@aol.com.
Please direct your email mentioning PCM Workshop in the subject line.