home *** CD-ROM | disk | FTP | other *** search
/ Media Depot 5 / mediadepotvolume51993.iso / FILES / 15 / MIDI2CS.ZIP / MIDI2CS.TXT < prev   
Text File  |  1996-07-09  |  29KB  |  888 lines

  1. -----------------------------------------------------------------------
  2.  
  3.                           MIDI2CS
  4.  
  5.   MIDIFILE TO CSOUND SCORE AND ORCHESTRA CONVERTER V 0.93 R&U 
  6.  
  7.            shareware by Songlab R. Borrmann 1995
  8.  
  9.            This manual contains information about
  10.  
  11.        HIGH END DIGITAL AUDIO, MUSIC PRODUCTION, CSOUND,
  12.      ELECTRONIC STUDIO, MIDIFILE, SAMPLING, WAV, AIFF, PC 
  13.  
  14.    News and current version always available online at URL:
  15.          http://www.snafu.de/~rubo/songlab/midi2cs 
  16.  
  17.                     October, 25th 1995 RuBo
  18.  
  19. -----------------------------------------------------------------------
  20.  
  21.         Index
  22.  
  23.         Idea of MIDI2CS     
  24.         Composing and producing music     
  25.         Where to find MIDI2CS     
  26.         Installation of MIDI2CS     
  27.         Start a new project     
  28.         Projectfile syntax     
  29.         Using sounds     
  30.         Command line options     
  31.         Some tips     
  32.         Future features     
  33.         Registration     
  34.  
  35.  
  36.         Idea of MIDI2CS
  37.  
  38. Csound is one of the worlds leading audio processing systems
  39. and it is for FREE! The system was developed at the Media Lab
  40. of the famous Massachusetts Institute of Technology by Barry L. Vercoe.
  41. The PC version of Csound is available by anonymous ftp in directory
  42. ftp://ftp.maths.bath.ac.uk/pub/dream. There you will find lots of
  43. information about the Csound system and its use. It takes a while to
  44. get into it but I am sure you will not regret to learn a bit about 
  45. it. All I wanted to do after discovering Csound was to create WAV files
  46. of my midifiles without external samplers directly on the harddisk of
  47. my 486DX50 PC. I wanted to get rid of costs for renting expensive audio
  48. studios. For this purpose I began to develop MIDI2CS for the automatic
  49. generation of scores and orchestra files from midifiles for the 
  50. use with Csound. The result after processing the output of MIDI2CS
  51. with Csound is your own work in a professional quality that you never
  52. would expect to be created with a simple PC. I use it in combination
  53. with my TripleDAT harddisk recording system.
  54. MIDI2CS currently is a DOS program which can be run in a DOS Window
  55. under MS-Windows. It does not expect an installed Csound system,
  56. but it would be happier with it. If the manual seems to sound more
  57. german than english and you have suggestions how I could make it
  58. better please send me an email. MIDI2CS does not contain any part
  59. of Csound software and therefore does not touch any copyright.
  60.  
  61.  
  62.         Composing and producing music 
  63.  
  64. There is a difference between composing and producing music!
  65. Composing can be done with cheapest keyboards and sequencers or
  66. just a soundcard and your computer. In my opinion the 
  67. result of your composition should be a midifile! Your midifile
  68. in your friends view may be a bad composition, but it can not be 
  69. a bad production.
  70. Production is to look out for best sounds and effects, find the
  71. best equipment, studio and engineer to get the maximum out 
  72. of your composition. If you do not have the knowledge you will
  73. have to pay a good producer for doing all this work.
  74. You should know a little about MIDI and WAV, analog soundcards
  75. and digital I/O, sampling rates and DAT recorders 
  76. to see the big chance and opportunity to be your own producer
  77. with MIDI2CS and Csound. You only need a computer 
  78. with an installed Csound system and a program to play the created
  79. soundfiles. If you invest in a digital output to your 
  80. DAT recorder none will be able to beat the quality of your
  81. production! Complex songs with nice effects may take a 
  82. while for processing on a 486 PC, some you will be able to play
  83. in realtime on a pentium.
  84.  
  85.  
  86.         Where to find MIDI2CS ?
  87.  
  88. MIDI2CS 0.93 - ftp://ftp.maths.bath.ac.uk/pub/dream/midi2cs.zip 
  89.              - http://www.snafu.de/~rubo/songlab/midi2cs/midi2cs.zip
  90.  
  91. You should take a look at my online manual from time to time to 
  92. know what is going on. Every two months there should be new
  93. information.
  94.  
  95. Manual       - http://www.snafu.de/~rubo/songlab/midi2cs
  96.  
  97. Send mail to rubo@berlin.snafu.de if you have difficulties to
  98. get MIDI2CS.EXE. I will send you a uuencoded zipfile by mail.
  99.  
  100.  
  101.         Installation of MIDI2CS
  102.  
  103. If you want to install Csound on your PC get yourself the current
  104. 386, 486 or Windows NT version of Csound from
  105.  
  106.          ftp://ftp.maths.bath.ac.uk/pub/dream,
  107.  
  108. unzip it with pkunzip and copy it to a directory named C:\CSOUND e.g.
  109.  
  110. To install MIDI2CS 
  111.  
  112.   copy MIDI2CS.EXE into your Csound directory and
  113.   copy CS.BAT into your Csound directory
  114. (a batchfile containing the line csound -d -H -W -o %1.wav %1.orc %1.sco)
  115.  
  116. Adding the following Csound environment variables to your autoexec.bat
  117. may make your life much easier and your harddisk clearly arranged.
  118. If you do not know these variables please take a look into your Csound manual.
  119.  
  120.   SET SFDIR=C:\TMP - directory where your songs will be created by Csound
  121.   SET SSDIR=C:\SAMPLES - where Csound expects the used samples
  122.  
  123. The use of
  124.  
  125.   DOSKEY 
  126.  
  127. makes sense, because you will often repeat same commands. If you do not
  128. know what DOSKEY does please take a look into your DOS manual.
  129.  
  130.  
  131.         Start a new project
  132.  
  133. Create a new directory
  134. type MIDI2CS without parameters and press enter
  135.  
  136. You will find two more files
  137.  
  138.   MIDI2CS.PRO - the project file
  139.   MIDI2CS.CPS - the cycles per second table for well tempered scores
  140.  
  141. Copy your midifile into the new directory and name it MIDI2CS.MID or
  142. load MIDI2CS.PRO into your editor and
  143.  
  144. - change the name of the midifile
  145.   from the default MIDI2CS.MID into the full pathname of your midifile,
  146. - change the values of tempo, samplerate, mono/stereo setting
  147. - set the last bar to a value like 10 - you should not calculate
  148.   the whole midifile at the start of the project
  149. - call MIDI2CS and the Csound orchestra and score files
  150.   will be created automatically
  151. - call cs midi2cs and Csound creates the first version of your
  152.   full digital production
  153.  
  154. You will find a WAV file in your soundfile directory that is named
  155. like your score and orchestra prefix with suffix WAV.
  156. After editing and saving new track parameters in MIDI2CS.PRO
  157. you only have to call again
  158.  
  159.   midi2cs 
  160.   cs midi2cs 
  161.  
  162. Your production becomes better and better depending on the quality
  163. of samples and your track settings.
  164.  
  165.  
  166.         Projectfile syntax 
  167.  
  168. The projectfile MIDI2CS.PRO is the heart of MIDI2CS. It contains
  169. very important information about your music production (information
  170. about your midifile, stereo/mono, samplerate, used samples and many
  171. more). A valid example is written automatically by calling MIDI2CS
  172. without parameters.
  173.  
  174. The file MIDI2CS.PRO contains all options written as comments.
  175. Comments introduce themselves with a ';'. If you think that you need
  176. to use one of these options just delete the colon before you start
  177. the next compilation.
  178.  
  179. Lines that are just comments and nothing else than comments
  180. begin with character '#' to make the file more readable.
  181.  
  182. The idea of each option is explained in the next chapter.
  183.  
  184. # --- MIDI2CS PROJECT FILE 0.93 ---
  185. #
  186. # this default projectfile is identical to default options
  187. # written automatically if it does not exist by calling midi2cs
  188. # You should change the settings to your prefered values
  189.  
  190. # --- PROJECT GLOBAL VALUES SECTION ---
  191.  
  192. midifile    midi2cs.mid    ; midifile (will be read)
  193. nameofscore    midi2cs.sco    ; score file (will be written)
  194. ;scoreheader    midi2cs.hdr    ; file to be included into scorefile (readonly)
  195. nameoforc    midi2cs.orc    ; orchestra file (will be written)
  196.  
  197. # samplerate, mono/stereo, master volume, tempo
  198.  
  199. sr    48000    ; samplerate
  200. nchnls    1    ; 1=mono 2=stereo
  201. givol    0.3    ; master volume of 0.3 seems to be good for many songs
  202. ;tempo    groovesample    beats    ; easy looping and syncing!
  203. tempo    120
  204.  
  205. # all tracks will be initialized by the following values
  206.  
  207.  
  208. firstbar    0
  209. lastbar    1000
  210. ; notrackpreselected
  211. ; transpose 0
  212. ; lesscomments
  213. ; separators
  214.  
  215. # - define default parameters and succession -
  216.  
  217. ; p_pch
  218. ; p_midinote
  219. ; p_midivelocity
  220. ; p_midirelease
  221. ; p_cps midi2cs.cps
  222. ; p_maxamplitude 32000
  223. ; p_fixeddB -6
  224.  
  225.  
  226. # --- TRACK SECTION ---
  227. # define individiual values for each track
  228.  
  229. miditrack    1    ;off
  230.  
  231. ; sound dummy    ; relative path of a sample e.g.
  232. ; name dummy    ; the name of your instrument
  233. ; relvolume 1.0    ; relative volume of this instrument
  234. ; instrument 1    ; number of Csound instrument
  235.  
  236. score    ; all score parameters and order are optional
  237.  
  238. ; firstbar   0
  239. ; lastbar  1000
  240. ; duration 1000    ; fixed duration in milliseconds
  241. ; duration sample    ; fixed duration of used sample
  242. ; transpose 0    ; up or down in n halftone steps
  243. ; lowest c3    ; notes less than this will be transposed up
  244. ; highest c4    ; notes higher than this will be transposed down
  245. ; delay -0.3    ; the start parameter (p2) will be delayed
  246.  
  247. # --- parameters and succession ---
  248. ; p_pch
  249. ; p_midinote
  250. ; p_midivelocity
  251. ; p_midirelease
  252. ; p_maxamplitude 32000
  253. ; p_fixeddB -6
  254. ; p_cps midi2cs.cps
  255.  
  256. ; channelsplitting    instr will be instr + channel
  257. # - if you want to use default parameters set limit with parameters -
  258. ; parameters 10    ; parameters has to be the last entry
  259. ; in the score section (instr + start +
  260. ; duration + the defined parameters)
  261.  
  262. endscore
  263. ; separator
  264.  
  265. endtrack
  266.  
  267. miditrack    2    ;off
  268. .
  269. .
  270. .
  271. endtrack
  272.  
  273. miditrack    3    ;off
  274. .
  275. .
  276. .
  277. endtrack
  278.  
  279. endofproject
  280.  
  281.  
  282.         Global options
  283.  
  284. Global options are settings that are valid for the conversion of the
  285. whole midifile. This is a list of all available global options.
  286. You do not need to edit a lot of them for your music production.
  287. The default settings are often good enough to get a fast result.
  288.  
  289. File paths:
  290.  
  291.   midifile song.mid
  292. The relative or absolute path where to find your midifile.
  293.  
  294.   nameofscore song.sco
  295. The relative or absolute path of your Csound scorefile to be written.
  296.  
  297.   scoreheader song.hdr
  298. Sometimes you will need this if you are using Csound orchestra files
  299. of your own. Just put your special function tables into a separate
  300. file. Activate this option by deleting the colon in the default
  301. project file. Change the used filename song.hdr into yours.
  302. Now this file will be included as the top of your scorefile
  303. each time you run MIDI2CS. This saves time for editing 
  304. after conversion.
  305.  
  306.   nameoforc song.orc
  307. The relative or absolute path of your Csound orchestra file to be
  308. written. It is recommended to use identical prefixes of score 
  309. and orchestra files. For switching off the writing of the orcfile
  310. you should name it dummy.orc and ignore it.
  311.  
  312. Samplerate, mono/stereo, master volume, tempo:
  313.  
  314.   sr 48000
  315. This option sets the samplerate your soundfile will have after creation.
  316. If you do not need the variables kr or ksmps please 
  317. only use values dividable by ten.
  318.  
  319.   nchnls 1
  320. The number of channels your mixfile should have.
  321. A value of 1=mono, a value of 2=stereo.
  322.  
  323. Special Csound variables:
  324.  
  325.   kr 4800
  326. Please take a look into the Csound manual.
  327.  
  328.   ksmps 10
  329. Please take a look into the Csound manual.
  330.  
  331.  
  332. Very important stuff:
  333.  
  334.   givol 0.3
  335. The volume output of all tracks will be multiplied by this value.
  336. Songs with many tracks should start with a value like 0.1.
  337. This makes sure that Csound does not create a distorted soundfile 
  338. by cutting the high values.
  339. Then go and find the best samples and orchestras and a good mix
  340. relation for all your tracks. After that you should try to 
  341. maximize the output level by raising this value.
  342.  
  343.   tempo 120.0000
  344.   tempo groove.wav 4
  345. The tempo of your song can be initialized by setting one of the
  346. above options.
  347. a) Set an explizit value or
  348. if you want to synchronize your song with an existing beat
  349. b) Give the name of the file that contains a well cut groove and
  350. the number of beats it contains.
  351. This option allows easy looping and syncing and therefore it is
  352. one of my favourites! Some of my old productions now have 
  353. additional instruments without getting the tape from the shelf
  354. again. Wow!
  355.  
  356.  
  357. All tracks will be initialized by the following values:
  358.  
  359.   firstbar 0
  360. The first bar of your midifile you want to get converted.
  361.  
  362.   lastbar 10
  363. This specifies the last bar of your midifile you want to get converted.
  364. You should know about the following:
  365. One minute of stereo CD quality music takes about 10MB of space
  366. on harddisk and possibly also in your computers RAM. I am using a
  367. harddisk recording system that is able to read a 40MB big WAV file
  368. and play it in its own format. Simple MS-Windows soundplayers often
  369. play sound out of memory and are not able to swap it. Then the
  370. available space must be bigger as your soundfiles size!
  371. available = your computers RAM minus 4 or more MBs for Windows
  372. soundfilesize = nrofchannels * samplerate * nrofbars * 120/tempo
  373. ( nrofbars is lastbar minus firstbar + 1
  374. because the lastbar is always included )
  375.  
  376.   notrackpreselected
  377. The default switch for conversion is on for all tracks. If you set
  378. this option no miditrack will be converted unless you specify 
  379. single track options for it.
  380.  
  381.   transpose -12
  382. All tracks will be transposed by this value unless you specify
  383. single track options which will overwrite global options. 
  384. Normally you should not need this option I think.
  385.  
  386.   lesscomments
  387. A lot of information about your midifile is written as comments
  388. into the specified scorefile. This option suppresses lots of 
  389. comments.
  390.  
  391.   separators
  392. If something sounds strange in your created WAV file set the
  393. first and the last bar to the concerning range and activate this 
  394. option. The result after midifile conversion by MIDI2CS and
  395. creating a WAV file with Csound is a soundfile containing the 
  396. range played solo by each sample one after another.
  397.  
  398.  
  399. Default parameters and succession
  400.  
  401. The intention of these options is to create default parameters
  402. for all miditracks as you normally would like to use them. 
  403. You do not need to set these if you are
  404.  
  405.   only using AIFF and WAV files
  406.   automatically created sinewaves
  407.   or defining different successions of parameters for every track
  408.  
  409. But if you are using orchestras of your own with MIDI2CS you can
  410. activate the writing of the following parameters. 
  411. The succession of parameters in the created score is identically
  412. to the succession of the following parameters in your 
  413. projectfile. Take a look at option 'parameters' in the single
  414. track option list.
  415.  
  416.   p_pch
  417. Writes Csound pitch notation values of midinotes (midinote/12.midinote%12).
  418.  
  419.   p_midinote
  420. Writes the decimal values of midinotes.
  421.  
  422.   p_midivelocity
  423. Writes the decimal velocityvalues of midinotes.
  424.  
  425.   p_midirelease
  426. Writes the decimal releasevalues of midinotes.
  427.  
  428.   p_cps special.cps
  429. Writes cyclespersecond values of midinotes as given in your cpsfile.
  430.  
  431.   p_maxamplitude 32000
  432. Set the maximum volume level. All velocity values are written as the
  433. given value divided by 128 and muliplied by midivelocity (0..127).
  434.  
  435.   p_fixeddB -6
  436. A decimal value that will be printed as given.
  437.   
  438.  
  439.         Single track options
  440.  
  441.   miditrack 1 off
  442. The track parameter list begins with 'miditrack' as the first word
  443. in a new line. The number '1' up to '32' selects the wanted miditrack.
  444. 'off' is the switch to mute this track - no score and orchestra will
  445. be written for this track, so that no sound can be created by 
  446. Csound. Sometimes I need this when I do not want to listen to it.
  447. Just write '; off' to activate this track again.
  448. The whole miditrack ends with 'endtrack' somewhere in a new line.
  449.  
  450.   sound filename
  451. The relative or absolute path where to find your sample. More about
  452. this you can read in the following chapter 'using sounds'.
  453.  
  454.   name noname
  455. This is just to keep a little order in your project. This option is
  456. good to indentify your tracks easily in your score and orchestra files.
  457. Instead of 'noname' you can take the name of your miditrack or something
  458. else you like.
  459.  
  460.   relvolume 1.0
  461. The relative volume of instruments should be bigger than 1.0 for percussion
  462. and bass and less than 1.0 for other instruments.
  463. For techno music I recommend:
  464. global volume setting 0.15
  465. relvolume track bassdrum 5 or 6
  466. relvolume track snare 3 or 4
  467. relvolume track hihat about 4
  468. relvolume track bass about 2
  469. and other instruments less than this.
  470.  
  471.   instrument 1
  472. If you are using your own complete Csound orchestra files you can choose
  473. special instrument numbers to be compatible. This options specifies
  474. the Csound instr statement. MIDI2CS 0.91 and 0.92 were not able to
  475. write orchestra files.
  476.  
  477.   score
  478. The 'score' section ends with 'endscore'. All settings inside these
  479. markers are for manipulation of scoreparameters. If global settings
  480. exist they will be overwritten with these single track options.
  481.  
  482.   firstbar 20
  483. This specifies the first bar of your midifile you want to get
  484. converted for this track.
  485.  
  486.   lastbar 25
  487. This specifies the last bar of your midifile you want to get converted for this track.
  488.  
  489.   duration 500
  490.   duration sample
  491. The default duration of a note is the value specified by your midifile.
  492. a) The default duration can be set to a fixed value in milliseconds.
  493. b) The second possibility gives you the option to specify the whole
  494. length of your sample as is. Just write 'sample' instead of a value.
  495. Now MIDI2CS calculates the whole length of your sample and takes this for 
  496. each note event in this track. This makes life easy! Create and change
  497. samples with soundediting tools like Cooledit and Goldwave without
  498. changing the length of notes in your midifile.
  499.  
  500.   transpose 12
  501. If you want to transpose your sample used in this track this is the
  502. way to do it. Just set the wanted value.
  503.  
  504.   lowest c2
  505. In this version of MIDI2CS you are able to use one sample for each
  506. track with automatically created orchestras. If the played range of
  507. midinotes is so big that your track begins to sound silly just specify 
  508. this. Your note will be transposed up in octaves until it is higher
  509. than the set note.
  510.  
  511.   highest c4
  512. Your note will be transposed down in octaves until it is lower
  513. than the set note.
  514.  
  515.   delay -0.3
  516. If you want to get a running groove you should try this. Most
  517. samples do not have a strong attack and so it is a good idea to
  518. (minus) delay the related samples a little to make them sound earlier.
  519. Then you have the result that there will be a better synchronisation
  520. between points of highest intensity. That hits man !!! 
  521. (The delay option affects Csound parameter p2.)
  522.  
  523.   p_pch, p_midinote, p_midivelocity, p_midirelease, 
  524. p_maxamplitude, p_fixeddB, p_cps
  525. All these parameters are identical to global options but only valid for this track.
  526.  
  527.   channelsplitting
  528. If this option is set, MIDI2CS adds the midichannel to your instruments
  529. number. I use it to demix tracks with more than one instrument.
  530. Those tracks may be drumtracks or tracks with different instruments. 
  531. Do not forget to set option instrument to a value somewhere above 16
  532. to avoid duplicate specified instrument numbers.
  533. Orchestras are not written automatically. You need to create an
  534. ORC file that contains the wanted instrument specifications.
  535.  
  536.   parameters 7
  537. If your orchestras always seem to have the same parameters and
  538. succession and just differ in the number of parameters you should
  539. think about using global default parameters. This option exists to set 
  540. the limit of parameters that will be printed into your scorefile.
  541. 'parameters' has to be the last entry in the score section.
  542. Do not forget to add the three Csound default parameters 'instr',
  543. 'start' and 'duration' to your parameter count.
  544.  
  545.   endscore
  546. Do not forget to mark the end of your score section 'score' with 'endscore'.
  547.  
  548.   separator
  549. This one will split your soundfile in two parts - the tracks you
  550. created before including this and the tracks you will 
  551. create after this one. Read also the global option 'separators'.
  552.  
  553.   endtrack
  554. This one marks the end of your track section. Now MIDI2CS is looking
  555. for the end of the projectfile or a new miditrack description.
  556.  
  557.  
  558.         Example
  559.  
  560. This example shows how your projectfile could look like after some editing.
  561. Hottest Tip:
  562. If you are using AIFF files with notes in the beginning of the filename
  563. the created Csound tables are tuned for sampling already! 
  564.  
  565. midifile    schauf.mid
  566. nameofscore    midi2cs.sco    ; score file (will be written)
  567. ;scoreheader    midi2cs.hdr    ; file to be included into scorefile (readonly)
  568. nameoforc    midi2cs.orc    ; orchestra file (will be written)
  569.  
  570. sr    48000    ; samplerate
  571. nchnls    2    ; 1=mono 2=stereo
  572. givol    0.3    ; master volume of 0.3 seems to be good for many songs
  573. ;tempo 95.4534
  574. tempo d:\studio\samples\rec\bwhite\t7t2.wav 4   ; easy looping!
  575.  
  576. # all tracks will be initialized by the following values
  577.  
  578. firstbar  35
  579. lastbar  57
  580. notrackpreselected
  581.  
  582. # values for single miditracks
  583.  
  584. miditrack    1    
  585.   name Reaggae
  586.   sound dev/ek44/jazzorgn/d3_m.aif    ; relative path to SSDIR
  587.   ;sound div/welle/d#3_s48k.aif            ; this is just another comment!
  588.   score
  589.     transpose 12
  590.     delay -0.04
  591.   endscore
  592. endtrack
  593.  
  594. miditrack    2    off
  595.   name Strings
  596.   sound orcs/strings.orc
  597.   score
  598.     p_maxamplitude 32500
  599.   endscore
  600. endtrack
  601.  
  602. miditrack    3    
  603.   name Clavinet
  604.   ;sound rec/royorbis/d4_har.aif
  605.   sound rec/canufeel/f2acid10.aif
  606. endtrack
  607.  
  608. miditrack    4    
  609.   name Snare
  610.   ;sound rec/bwhite/sn3_s48k.wav
  611.   sound rec/gift/sn1_s48k.wav
  612.   relvolume 1.5
  613.   score
  614.     duration sample
  615.   endscore
  616. endtrack
  617.  
  618. miditrack    8        
  619.   name Snare2
  620.   sound dev/dr110/sn1_s48k.wav
  621.   relvolume 0.5
  622.   score
  623.     duration sample
  624.   endscore
  625. endtrack
  626.  
  627. miditrack    10        
  628.   name Sequence
  629.   sound own/spieluhr/d4_s48k.aif ; relative path of a sample, 
  630. endtrack
  631.  
  632. miditrack    11        
  633.   name Bassline
  634.   relvolume 2.5
  635.   ;sound own/bassysa/c1_m48k.aif ; relative path of a sample, 
  636.   sound dev/ek44/kickbas2/a0_m.aif ; relative path of a sample, 
  637.   score
  638.     transpose 12
  639.   endscore
  640. endtrack
  641.  
  642. miditrack    12        
  643.   ;sound D:/studio/samples/dev/tr707/hh1_s48k.wav
  644.   sound D:/studio/samples/own/fatima/hh1_m48k.wav
  645.   name Hihat
  646.   relvolume 2
  647.   score
  648.     duration sample
  649.   endscore
  650. endtrack
  651.  
  652. miditrack    13        
  653.   ; sound D:/studio/samples/dev/tr707/oh1_s48k.wav
  654.   sound orcs/oh1_48k.orc
  655.   name OpenHihat
  656.   relvolume 0.3
  657.   score
  658.     ;duration    sample
  659.     delay -0.2
  660.   endscore
  661. endtrack
  662.  
  663. miditrack    14        
  664.   name BassDrum
  665.   sound D:/studio/samples/rec/sly&rob/8/bd1_s48k.wav
  666.   score
  667.     duration    sample
  668.   endscore
  669. endtrack
  670.  
  671. miditrack    15        
  672.   name Groove
  673.   ;sound d:\studio\samples\rec\bwhite\t7_s48k.wav 
  674.   sound d:\studio\samples\rec\bwhite\t7t2.wav 
  675.   score
  676.     duration 4250
  677.     delay 0.1
  678.   endscore
  679. endtrack
  680.  
  681. endofproject
  682.  
  683.  
  684.         Using sounds 
  685.  
  686. There are some ways of using sound in MIDI2CS.
  687. You can use
  688.  
  689.   WAV files (samples)
  690.   AIFF files (samples)
  691.   sinewaves (automatically created Csound orchestras)
  692.   orchestras (manually created Csound orchestras)
  693.  
  694. WAV files:
  695.  
  696. WAV files are easy produceable on a PC. Nearly every audio program
  697. creates them after recording and a lot of archives exist where you
  698. are able to ftp them. You can use them with Csound for all tracks
  699. where there is no need to change the pitch e.g. drum tracks.
  700.  
  701. AIFF-files:
  702.  
  703. If you want to play melodies with the current Csound version for
  704. the PC you need to use AIFF files. You do not need to understand
  705. the specification of AIFF that can be found on SGI's FTP server 
  706. ftp://ftp.sgi.com/sgi/aiff-c.9.26.91.ps.Z.
  707. WAV files can be easily converted to AIFF files by using the program
  708. SOX (SOund eXchange). You will find it at its location
  709. http://www.spies.com/Sox/.
  710. Sox has a lot of build in features, but I think you will not need
  711. them. Just call e.g.
  712.  
  713.     sox file.wav file.aif
  714.  
  715. and your AIFF file has been created.
  716.  
  717. Sinewaves:
  718.  
  719. A simple Csound sinewave orchestra will be created automatically
  720. if you are not defining any sound.
  721.  
  722. Orchestras:
  723.  
  724. You want to use existing Csound orchestras with MIDI2CS ?
  725.  
  726. Just do the following:
  727. - Copy a single orchestra sound description into a separate
  728.   file with suffix .ORC 
  729. - Add ;ORC to be the first 4 letters of this new file
  730. - Delete the instr line or specify it as a comment.
  731.   This line will be automatically added by MIDI2CS.
  732. - Delete the out and outs line or specify it as a comment.
  733.   This line will be automatically added by MIDI2CS.
  734. - Take aright and aleft as output variables.
  735. - Add neccessary functions and tables to the "midi2cs.hdr" file
  736.  
  737.  
  738. ;ORC ---- orchestra.orc ----
  739.  
  740. ;
  741. ;  your orchestra stuff
  742. ;
  743.     
  744. aright    = ... ; to be specified
  745. aleft    = ... ; to be specified
  746.  
  747. Once you have done this you can use your orchestra with
  748. every track by just specifiing it as
  749.  
  750.   sound filename.orc
  751.  
  752. in the track section of the MIDI2CS.PRO file.
  753.  
  754.  
  755.         Command line options 
  756.  
  757. Using a simple command line option may fit your purpose.
  758. All '#' characters should be replaced by numbers.
  759. Do not type blanks between option specifiers and
  760. values (numbers and filenames).
  761.  
  762. Calling midi2cs with option
  763.  
  764.   -h (help)
  765.   -? (help)
  766. prints a short option overview to the screen
  767.  
  768.   -k (known bugs)
  769. lists known bugs and additional features
  770.  
  771.   -w (why)
  772. explains why MIDI2CS is shareware
  773.  
  774. (You can use and mix as many of the following options
  775.  as your commandline fits.)
  776.  
  777.   -a (append)
  778. appends the output to an existing scorefile
  779.  
  780.   -b# (begin)
  781. specifies the first bar of your midifile to begin with
  782.  
  783.   -d#,#[,#,#]... (duration)
  784. specifies the duration of your instrument by typing
  785. e.g. -d3,2500,5,350. This means that all notes of track 3
  786. will have the length 2.5 seconds and all notes of track 5
  787. will have a duration of 0.35 seconds
  788.  
  789.   -e# (end)
  790. specifies the last track of your midifile to be converted, e.g. -e30
  791.  
  792.   -f"filename" (file)
  793. includes the specified file to the top of your scorefile, e.g. by
  794. typing -fdummy.hdr
  795.  
  796.   -i#,#[,#,#]... (instrument)
  797. assigns each track a specific instrument number, e.g. -i4,23,8,9
  798. assigns instrument number 23 to track 4 and instrument
  799. number 9 to track 8
  800.  
  801.   -l (less)
  802. suppresses some unneccessary comments in your scorefile
  803.  
  804.   -o"filename" (out)
  805. assigns the name of the scorefile, e.g. -odummy.sco creates score
  806. file dummy.sco
  807.  
  808.   -p#,#[,#,#]... (parameters)
  809. Drumtracks often just need the 3 score parameters instr, start and
  810. duration. This option suppresses the writing of unneccessary parameters.
  811. E.g. -p7,4,3,3 causes that track 7 will have 4 of the default
  812. parameters and track 3 just the minimum of 3
  813.  
  814.   -r"filename" (read)
  815. reads the projectfile. Syntax errors will be printed out to the
  816. screen. See the syntax of this powerful option in chapter projectfile
  817.  
  818.   -s#[,#]... (select)
  819. selects only some tracks to be written, e.g. -s3,6,12 tells
  820. MIDI2CS to extract tracks 3, 6 and 12 from your midifile to be 
  821. written
  822.  
  823.   -t#,#[,#,#]... (transpose)
  824. transposes tracks, e.g. -t3,5,7,-7 transposes all notes of track
  825. 3 five halftones and all notes of track 7 seven halftones down
  826.  
  827. A batch file that does nearly the same purpose as a good projectfile
  828. could look like the following lines, but it is not as readable as 
  829. a good projectfile!
  830.  
  831. rem 6 Bass
  832. midi2cs -b34 -e51 -l -s6 -i6,20 -p6,4 -ffatima.hdr fatima.mid 
  833. rem 7 Bassdrum
  834. midi2cs -a -b34 -e51 -l -s7 -d7,800 -i7,1  -p7,3 fatima.mid 
  835. rem 8 Snare   
  836. midi2cs -a -b34 -e51 -l -s8 -d8,1000 -i8,2 -p8,3 fatima.mid
  837. rem 9 Hihat   
  838. midi2cs -a -b34 -e51 -l -s9 -d9,190 -i9,3 -p9,3 fatima.mid
  839. rem 1 Juno
  840. midi2cs -a -b34 -e51 -l -s1 -i1,21 -p1,4 fatima.mid 
  841. rem 3 Strings
  842. midi2cs -a -b34 -e51 -l -s3 -i3,21 -p3,4 fatima.mid 
  843. rem 5 Sequence
  844. midi2cs -a -b34 -e51 -l -s5 -i5,21 -p5,4 fatima.mid 
  845.  
  846.  
  847.         Some tips 
  848.  
  849. Take a look at Songlab's Music Producer's WWW Links at 
  850. http://www.snafu.de/~rubo/songlab/musichops.html.
  851. You will find lots of links to pages containing other useful
  852. tools to assist your work - WWW for all music production purposes!
  853.  
  854.  
  855.         Future features 
  856.  
  857. The aim of MIDI2CS is to produce music in highest quality as easy as
  858. possible. There are lots of ideas that should be realized. 
  859.  
  860. Please tell me which options are important for you to become a
  861. registered user of MIDI2CS.
  862.  
  863. My current plans are part of the online manual at
  864. http://www.snafu.de/~rubo/songlab/midi2cs.
  865.  
  866. Please do not hesitate to send comments to rubo@berlin.snafu.de -
  867. how you get along with it, what's missing etc.
  868.  
  869.  
  870.         Registration 
  871.  
  872. Please send your email address and a cheque, money or something else
  873. that's worth $50 to
  874.  
  875.         Songlab
  876.         Registration MIDI2CS
  877.         Bonhoefferufer 13
  878.         D-10589 Berlin 
  879.  
  880. and you will receive your personal copy of MIDI2CS via email or disk
  881. if desired.
  882.  
  883. Registration includes the right to receive personal copies of new
  884. releases up to MIDI2CS version 1.0 for free and unlimited use!
  885.  
  886.         Ruediger Borrmann
  887.         rubo@berlin.snafu.de
  888.