GTS & GTSDMA v0.9 Manual(summary) (The important are marked * at the 1st column) First created in Sep.1992 Last modified in Nov.1992 .Description: A kind of DAC Music Traker(Tracker) and Graphical Editor *.Requirements: SuperVGA(above 512k),Sound Blaster,Mouse .Notice Copyright belongs to the author from when it is made. Name) Kim Young Jae Tel ) (02) 887-9304 Addr) 151-061 Kwan-Ak Gu,Bong-Cheon 11 Dong 1641-5, 18/1 Seoul,Korea I want something like postcard rather than feedback through E-mail. For those who insist E-mail.... Bitnet) 87272039@KRSNUCC1 Internet) I don't remember (This is account of my friend who is at military service now, so it will be expired soon.) At this time,this(v0.9) is a kind of shareware. I suggest you should either report me program bugs,and testing results,or your own opinion, or remake this clumsy English manual summary into full refined manual of your own language,and distribute it. or send me money ($50). Maybe 99% of you want to select the first, 0.98% for the second, and 0.01% who doesn't know what is money, and another 0.01% who is most conscientious, for the third. * These are your duty for using this program, and the duty is not only moral but legal. .Legal Stuff GTS can be distributed to any place without author's permission, in the condition that copyright message is kept together. Some of songs included here are converted from Mac XSNG song,Amiga Module or PC Scream Tracker. and samples included here are collected or extracted from various source(Mac,Amiga,Sun,Next). But I couldn't keep nor trace all of source of them. ** If original composer of songs,creator of module and XSNG and those who record samples originally want to extract out their works from GTS archives, I will do as demanded with sincere apology. .Acknowledgement John Bridges' VGAKIT 4.1 (SuperVGA Chipset information and bank switch) Bogas production's SuperStudioSession (first inspiration and samples) FTP servers(sumex,saffron,plaza,nic) (collection of samples and modules) ----- Introduction ----- Have you ever tried Amiga Module Traker or PC Scream traker? These programs make sound by sending out digitized sample at diffenrent pitch ( i.e. Digital -> Analogue Convert ) Trakers are different essencially from FM synth (such as ROL,CMF), because it produces sounds of real world. GTS has the same function,but there is some differences. * First,you can input your own music graphically. this idea is mainly from Macintosh programs such as Super studio session,Finale,Delux Music. Well,I'm much inspired by "Super studio session". and many of samples are from it. * Second,the music itself is seperated from samples. Above modules have musical sequence and samples all in 1 file, and therefore have big size. But If you have some samples statically, your music can be created more easily with very small size (like scream tracker STS). * Third,GTS can manage .VOC as sample. You can record your own voice (sampling), -- Analogue -> Digital and produce music from that sample. -- Digital -> Analogue * If your music card has DMA feature,use GTSDMA. GTS(direct version) works variably as to machine speed. .Install(refer to GTSINST.BAT) 1. Make a subdirectory * 2. Unzip it with -d option to make sample subdirectories i.e PKUNZIP -d GTS____.ZIP 3. It doesn't need to load sound driver (sound.com,sbfmdrv.com) ----- Help Summary ----- .MOUSE Function .Pulldown menu .File .New .Open .Save .Save as .Quit * .Edit : First,you must select target area by marking ,(execpt Paste) .Copy .Paste .Cut .Delete : * (you may know well about all above this) .Repeat : repeat 2 times .Repeats : repeat many times .Tie_untie : Tie selected notes, Untie if the selected are tied. If bugs found with this function, Redraw screen by scrolling. .Insert : Insert following special notes into where mark positioned(purple vertical line), or where mouse cursor positioned. Changes(key,measure...) in a trak NEVER affect the other trak,execpt tempo, ** that is, tempo change affects all trak. .Sample .Key .Tempo .Measure * .Ending : this area is skiped when music is last repeated ex) __ |1. ||. | | | | | .|| | | ||. 1 | 2 | 3 | 4 | 5 | 6 .|| 7 | 8 | || | | | | | || | | 3x x3 playing_sequence: 1-2-3-4-5-6 - 1-2-3-4-5-6 - 1-2-3-4 - 7-8 .Anchor : drop anchors. when the second anchor is dropped, the area between the first and the second is Marked. this is used to mark wide range. .Etc .Replace Replace one sample,that is to change all the occurrence of the sample in the music. * note:Screen is not updated until draw sample box again next. .about .config(GTSDMA) * .DAC Timer Value Slow machines may have to reduce this value to get proper sound. If this value is too high for your machine and playing trak, music is not played continuously. In this case , reduce this value. Falling of hardware pitch and tempo can be compensated by adjusting software pitch and tempo. .Sound Blaster DMA Channel Number ( the mosts are 1 ) .config(GTS) * .TimerTick Value You should adjust this value to get good quality of sound, as to speed of your machine and number of playing trak, and whether oscillograph is on or off. see below(tuning up). .Oscillograph value This is a value for changing colors. * Slow machine may have to turn off it by entering 0. All other values have same effect on music itself, but only diffenence in color change. see below(tuning up). .Edit screen Notes Inserted if put on blank area Replaced if put on the place already occupied Deleted if click eraser .Status Area Display current trak info(key,measure,tempo sample) .Screen scroll line : Scroll current trak horizantally .Trak change button : Change traks vertically .Note selection menu: Arrow(marking tool),Eraser,Notes and Rests \ Each item in the same line Dot (1/2), 3 (1/3) } is selected exclusively. Sharp,Flat / .Play & Stop button Begin to play music from the current screen. through DMA channel(GTSDMA) or Directly (GTS) Stop music and scroll to where is stopped. .Volume,Pitch,Tempo Vol1-Vol8 : Volume of each trak Vol(main) : Volume of Total trak * Pitch : \ this 2 values should be adjusted * Tempo : / as to machine speed .Sample test piano Play current selected sample (Direct DAC mode) .Sample selection menu Select sample in SAMPLE directory ** Samples MUST be in the SAMPLE subdirectoy just below main program ** SAMPLE subdirectory can have one-deep child directory such as PERCUSS,GUITAR,SYNTH,VOICE.... To return to the sample root directory,click the head of this menu. .Keyboard function F1,F2,F4,F8,F6,F3 : insert note(1,1/2,1/4,1/8,1/16,1/32) SHFF1,SHFF2,SHFF4,SHFF8,SHFF6,SHFF3 : insert rests ALT_1-ALT_8,UP,DOWN : change trak vertically ALT_I,ALT_K,ALT_T,ALT_M,ALT_E : Insert Instrument(Sample),key,tempo ,measue,ending ALT_C,ALT_V,ALT_X,ALT_D : copy,cut,paste,delete ALT_N,ALT_O,ALT_S,CTRL_Q : new,open,save,quit LEFT,RIGHT,PGUP,PGDN,HOME,END : scroll trak horizantally ALT_R : Repeat CTRL_T : Tie_untie ALT_A : Drop Anchor CTRL_P : Play .During the music playing GTS : User can do nothing but stop music * GTSDMA : User can change volume and pitch,tempo * The trak tured off from the first is not affected. Wanna stop music? Esc : stop music and not scroll screen other key : stop music and scroll to where stopped ----- Tuning Up ----- **** (The most important part of this manual) Relation of Timer value and Pitch,Tempo ============================================================================= Machine speed | Fast | Slow Number of trak | 1 | 8 Oscillograph | off | on ---------------------+---------------------------+--------------------------- DAC timer(GTSDMA) | (can be) high | (should be) low TimerTick(GTS) | (can be) low | (should be) high ---------------------+---------------------------+--------------------------- Pitch & Tempo | (becomes) high,fast | (becomes) low,slow | (so,adjust) low,slow | (so,adjust) high,fast ---------------------+---------------------------+--------------------------- Sound quality | good | bad ============================================================================= * Maximun value of DAC Timer(GTSDMA.EXE) is the value when all 8 trak is on,music plays continuously. If music plays trembling or stop a bit, then decrease DAC timer value,and up picth,tempo. * Minimun value of TimerTick(GTS.EXE) is the value when all 8 trak sound is not different from 1-more-trak-off sound(7 trak). If pitch and tempo varies as to the number of trak currently being played, or music plays trembling, then increase the TimerTick value,and up pitch.tempo. For my 286 AT when 4 trak DAC timer 80 , TimerTick 300 8 0 400 *.To get good quality of sound DAC requires fast speed at least above 12Mhz, So, slow machine users must adjust timer values(DMA),pitch,tempo, and may have to turn off oscillograph as to the machine speed and the number of playing trak. For Fast machine users(above 386),I recommend, you'd better have constant values at the state of maximun number of trak(8). In other words,do not change values frequently, for your good hearing sense. ----- File Format ----- offset 0 : number of sample offset 1 - offset aaa : sample name(each has 12 byte DOS filename) offset aaa - offset aaa+16 : length of traks(1-8) in words next comes music data, each data has word(2 byte) value. X X X X X X X X X X X X X X X X |_____| |_____| |_| |_________| length type temp note type 0 musical note 1 sample 2 key 3 tempo 4 measure 5 repeat 6 tie 7 ending 8 - 15 reserved for later use. Simple outline routine to read fi = fopen(fn,"rb"); num_sample = fgetc(fi); for(c = 0 ; c < num_sample ; c++) fread(sample_table[c],1,12,fi); fread(length_trak,2,8,fi); for(c = 0 ; c < 8 ; c++) { musicdata[c]=farmalloc(length_trak[c]*2); fread(music_data[c],2,length_trak[c],fi); } fclose(fi); ----- Sample Files ----- * Sample files larger than 64k is truncated. GTS treats samples as unsigned 8-bit raw file of 8000hz. But .VOC(unpacked format) file which has sampling rate in itself can be used by GTS. Other files(.au , .iff) must converted to VOC or 8000hz 8-bit raw file by removing header. ** But Raw file can have special header. RATExx xx is sampling rate of word(2 byte) in 80x86 reverse mode LOOPxxyy xx is begin of loop yy is end of loop Sample file can have either of the 2 informations, or both of them, But the order is RATE first. ex) RATExxLOOPyyzz$$$$$$^^^^^^^^ --> 14 byte is header and real sound data begins from '$' .How to make raw file header 1.make a 14 byte dummy header file "SAMPLE1.HED" 2.use binary editor to input hex values, * Remember 80x80 reverse word mode, so, 8000(0x1F40) must be entered as 401F 3.now combine header file and sample file "COPY/B SAMPLE1.HED+SAMPLE1.RAW SAMPLE1.SAM" 4.ok,you made it "SAMPLE1.SAM" ----- Converters ----- .MOD2GTS : Amiga Modules --> GTS song file its 7-bit sample --> 8-bit raw files with LOOP header. you can creat your own music by using that samples extracted. The song itself doesn't tranlate perfectly, * all effects including tempo,break are ignored, so you may have to insert appropriate tempo with your hand. .VOC2RAW : VOC(unpacked) --> Raw file with RATE header. VOC file are assumed to carry only sound data(01), other informations(such as silence data,loop) are ignored. ----- Fix Rate (FIXRATE.EXE) ----- ** Some samples(extracted from Amiga Module) may have not correct sampling rate, then,Fix it with your own good hearing sense. ----- Bugs ----- I've tested this program only in my 20Mhz AT with Sound Blaster compatible(Sound Master of Sung Il comp.) and ATI VGA wonder.( I used 640x480x256 mode to draw oscilograph) The lack of full test prevent me from naming this as Ver 1.00, I'm very sorry for that. ** Anyway,in other system (386 or 486) this may not work properly. In this case please report me. These bugs are known to author,but not yet fixed in this version. 1.Skip bar caluculation when draw current screen. 2.A bug When insert or delete between tie and bar. 3.Screen is not updated when replace sample. Semi-bugs 1.Inefficient management of loaded sample in memory --> Use Cache program. 2.Incorrect sampling rate of samples --> Fix it with your own sense and FIXRATE.EXE ----- Author Comment (Future)----- I started this work in the job of making assembly function for SVGA mode graphic. At first,I planned to make playing routine also with full assembly code. and made a schematic code(outline of assembly code) in Turbo-C, tested and get a little good quality of sounds to my exclamation of Speed of C language. I am not a computer major nor have relations with computer, so have other immedient works pending to do. I've got to put off the work for the next version. It's a pity I have no time for version up at the right now. But Later versions will include complete assembly feature of DAC, player version with various graphical display. special notes treatment(allegro,adagio, p,mp,mf,f, stacatto,tremolo....) full use of memory(Extended memory) for large samples, more trak than 8 trak now, automatic chord accompany, and converters for .ROL .CMF .MID,if necessary and requested All these jobs,It seems,I will start at Sep.1993.