home *** CD-ROM | disk | FTP | other *** search
/ PC Musician 2000 / PC_Musician_2000.iso / PCMUSIC / MISC / BETA095 / MANUAL.TXT < prev    next >
Encoding:
Text File  |  1996-12-01  |  37.9 KB  |  993 lines

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