
                                SAMPLED V1.2

                    by NEURODANCER (Gabry/Cybersoft) 1998

              I.T.A.Software (Italian Technology Age Software)



                            English User's guide

                           written by NEURODANCER










                                  SECTION 1



                                   1-Index                      1   1

 Section 1  ------------ 
                         1   - Index

 Section 2  ------------
                         1   - Introduction

 Section 3  ------------
                         1   - Disk Operations

                         2   - Create Operations

                         3   - Functions Operations 
                                   3.1  AM
                                       3.1.1 Change level
                                       3.1.2 AM wave
                                       3.1.3 Compression
                                   3.2  FM
                                   3.3  Resample
                                   3.4  Reverse
                                   3.5  Transfer 0
                                   3.6  Depeak
                                   3.7  Swap
                                   3.8  Morph
                                   3.9  Filters
                                   3.10 Delay
                                   3.11 Flanger
                                   3.12 Harmonizer
                                   3.13 Revroom
                                   3.14 Invphase
                                   3.15 Compressor/Expander
                                   3.16 Crossover
                                   3.17 TVShifter
                                   3.18 Echo-Killer
                                   3.19 Spectral Operations

                         4   - Edit Operations

                         5   - Switch Domain

                         6   - Play Wave
                                   6.1  Play sample
                                   6.2  Play loop
                                   6.3  Play with a MIDI device

                         7   - Loop

                         8   - Sampler

                         9   - Mixer

                         10  - Draw Wave

                         11  - View Wave

                         12  - Undo

                         13  - Preferences & Configuration

 Section 4  ------------
                         1   - Hardware 

                         2   - Machine Settings

                         3   - Troubleshooting

 Section 5  ------------
                Appendix A   - File formats

                Appendix B   - FM

                Appendix C   - FFT explanations 

                Appendix D   - Samplers compatibility

                Appendix E   - User defined filters

 Section 6  ------------
                         1   - What I ask you...

                         2   - What's the future about Sampled

                         3   - A note about this version 





















                                  SECTION 2



                               1-Introduction                   2   1

Sampled is proposed to be the most complete sample editor you can find... 
...and it's FREEWARE!!! 
Together with a variety of "standard" ways for editing a wave,it has been
 developed using much of the research in Digital Signal Processing (DSP)
 theory.
This gives SAMPLED lots of unique features!
Let's look at some of them...

Sampled works in two different domains: TIME and FREQUENCY.
In the TIME domain, as all the other programs do, every editing you make on
 the wave is reflected as an editing in time: i.e. you change something
 in the wave in a certain moment, and you can change the way the signal
 behaves in time...
In the FREQUENCY domain, on the other hand, every editing you make is an
 editing on the FREQUENCIES of the wave, and you can change the very meaning
 of the signal.
Using an iterative and very fast FFT (Fast Fourier Transform) algorithm,
 (see Appendix C for further details) your wave is represented by its
 frequency values, less than one per hertz.
In the frequency domain, you can edit the sample with all the tools you
 use in the time domain: for example, you can perform a filter by cutting a 
 portion of the representation, or transfer the sound 'higher' by shifting
 to the higher frequencies (to the right) the representation of the signal,
 or just (get excited!) apply a FLANGER, an AM, a DELAY, whatever you want...
 ... on its spectrum!!!
After your editing session, you can return in the time-domain and hear
 what you've done.
Please, note the wide difference between Sampled's spectrum analysis and
 other sample-editors: these ones let you WATCH the spectrum of the signal,
 while Sampled lets you EDIT it!


Another powerful tool is "User-Defined Filters" in Time-Domain: you can
 specify whatever filter you like in an ASCII text file, and then apply it
 to your sounds as a plug-in !!!
Filter specification can be accomplished in two ways:
 1) By its System Function (Numerator and Denominator coefficients of the
     Z-domain system function)
 2) By its impulse response samples

Specifying filters this way is a trivial task...read Appendix E!
However, sampled comes with some sample filters, just apply them and get
 surprised!!!

Another unique feature is FM (Frequency Modulation).
You can use your sample as a modulator wave or as a carrier wave, selecting
 another wave (the carrier or the modulator) through a variety of waveforms,
 choosing all the parameters that define the wave.
Just a hint: try to perform FM in the frequency domain on the representation
 of a violin or other string sounds... you'll hear how much you can change
 all the characteristics of your samples...

The last but not the least, you get with SAMPLED many time-domain filters,
 such as TVFs (Time Variable Filters): Low-pass, High-pass, Band-pass and
 Notch with cutoff, resonance, central frequency gains and band widths
 assignable to oscillators! 









                                  SECTION 3

                                 
                              1-Disk Operations                 3   1

By selecting the DISK gadget you can Load/Save .WAV,.RAW,.XI,.FTN,.NRS,.SAM,
 .AU files from/to disks (See Appendix A for further details).
Loop points will be saved only if the LOOP flag is active.
You can also Load/Save samples from/to disks of the following samplers:

        ROLAND S-50/ROLAND S-330/ROLAND S-550/ROLAND S-750
        ROLAND S-760/ROLAND S-770
        EMAX II/ASR 10/AKAI S-x000
 (Only available now:Roland S-50 & Roland S-330..The other work,but
  I haven't yet implemented their table datas.
 I'll implement them when I'll want... :) )

        (See appendix D for further details)





                             2-Create Operations                3   2

Selecting the CREATE gadget,you can create a wide range of standard waves,
 such as SIN,TRIANGLE,SQUARE and many others...
You can set a lot of parameters,e.g. frequency,amplitude,feedback,etc.


                           3-Functions Operations               3   3

By selecting the FUNCTIONS gadget, you enter the main edit menu, by which 
 you can select one through many effects.

                                     AM                         3   3.1

Performing an AM (Amplitude Modulation) on a signal means changing its
 amplitude instant by instant. 
When you'll select the AM gadget,a sub-menu will be displayed:
                                CHANGE LEVEL                    3   3.1.1
In the Change Level section,you can choose:
  1-Adjust (Adjust the global amplitude of the wave,i.e. its volume)
  2-Fade (Fade in and fade out)
  3-Peak (Adjust the amplitude to its max level)
  4-Silence (Shut down)
                                   AM WAVE                      3   3.1.2
In the AM WAVE section,you can choose a wave to modulate the amplitude
 of your signal. 
                                 COMPRESSION                    3   3.1.3
The COMPRESSION section is useful to emphasize the impulsive nature of
 certain sounds,e.g. bassdrums,snares,etc.
NOTE:Every editing is performed on the whole wave or on the selected range.

                                     FM                         3   3.2

Performing a FM (Frequency Modulation) on a signal means changing its
 speed instant by instant.
When you'll select the FM gadget,a sub-menu will be displayed,in which you
 can choose a standard wave and its function (modulator or carrier) (See
 Appendix B for further details).

                                  RESAMPLE                      3   3.3

Performing a RESAMPLing on a wave means changing its sampling frequency.
If you choose a frequency lower than the sampling frequency of the signal,
 the signal itself will be shorter,but its quality worse.  
If you choose a frequency higher than the sampling frequency of the signal, 
 the signal itself will be longer,its quality unchanged unless you use
 the INTERPOLATION option that tries to build the missing samples.

                                  REVERSE                       3   3.4

The REVERSE function simply reverse the signal.

                                 TRANSFER 0                     3   3.5

The TRANSFER 0 function simply translates the signal higher or lower,
 correcting some errors that can occour when you sample a sound with a
 noisy device.
The KILL DC function calculates the amount the wave has to be shifted
 for killing the DC component (centering the wave on the 0 line).

                                   DEPEAK                       3   3.6

The DEPEAK function tries to correct the flatness of a sound sampled at
 a too high level.
To correctly use this function,adjust its level at about 80% and then
 select this gadget.
This function will re-build the truncated peaks,by using a complex 
 mathematical function that 'follows' the untruncated parts,giving the 
 wave a 'natural' shape.

                                    SWAP                        3   3.7

SWAP simply swaps selected blocks of samples.
It's useful to convert samples from certain formats or to emphasize higher
 frequencies.

                                    MORPH                       3   3.8

The MORPH function performs a morphing from your wave to another you can 
 load.
NOTE:For a better performance,choose two waves approx. of the same size.

                                   FILTERS                      3   3.9

In the Time Domain,the FILTERS function performs non-linear filters
 such as Median,Min,etc... or some linear filter, such as 2 types of
 Time-Variable (TV) Low-pass filters, 2 types of TVF Highpass, Bandpass,
 Notch, and user-defined filters.
TVF filters act like normal filters amplifying those frequencies near the
 cutoff point (resonance), changing some parameters (such as cutoff
 frequency, resonance, central frequency gain, etc..) in time...
You can assign these parameters to two oscillators, making their values
 change over time...
The Notch filter is a Bandstop filter.
User defined filters are a very powerful tool: you can describe a filter
 by its system function (in the Z domain) or by the samples of its
 impulse response, in a simple ASCII text file!!!
Read Appendix E for further details about this wonderful tool!


In the Frequency Domain,the FILTERS function performs a high/low/band-pass 
 filter on your wave.
You can obviously choose the cut frequencies.
Since this function is in the Frequency Domain,it has a characteristic of 
 infinite db for octave.

                                    DELAY                       3   3.10

This function performs a DELAY on the wave,that can spread from a simple
 reverberation (such as STADIUM,HALL,etc.) to an ECHO.
You can choose the number of repetitions, the delay among repetitions 
 and the decay time.

                                   FLANGER                      3   3.11

This function performs a FLANGER effect on the wave.
Its parameters depend a little from the size and the sampling frequency of
 the wave.

                                 HARMONIZER                     3   3.12

This functions performs a HARMONIZER effect on the wave.
It changes its sampling frequency without altering its size.
You can choose the target sampling frequency and the BUFFER size (the buffer
 size depends on the sampling frequency of the signal and from the target).
This last parameter is a little hard to be chosen correctly:try your own
 experiments!
It's very useful for changing voices:you can change a male voice to a female
 voice (and vice versa).

                                   REVROOM                      3   3.13

This function simulates the Reverb Field in a room.
Parameters are the size of the room,the air temperature (wich affects air
 adsorption coeff and sound speed), the adsorption coeffs of the walls,
 a flag for turning on/off the air adsorption,the sound source position
 and direction (relative to a corner of the room).
You can choose whether to enable or not frequency-selective adsorption by 
 air and walls.
 
                                  INVPHASE                      3   3.14

The INVPHASE option simply inverts the phase of a wave.
It's useful for building a Stereo Surround sound.

                             COMPRESSOR/EXPANDER                3   3.15

The digital COMPRESSOR/EXPANDER operates just as an analog 
 compressor/expander, that is it reduces/amplify by a selected amount (ratio) 
 those portions of the wave that are higher/lower than a selected threshold.
The EXPANDER, with a low threshold, acts like a NOISE GATE.

                                  CROSSOVER                     3   3.16

The digital CROSSOVER 'pushes' the wave 'down', thus being similar to
 the guitar crossover effect.

                                  TVSHIFTER                     3   3.17

If applied in time-domain, this effect lets you shift the frequencies
 of your wave higher, by an amount changing in time from 'start frequency'
 to 'end frequency' (TV stands for 'Time Variable').
In frequency-domain, its behaviour is strange... have fun!

                                 ECHO-KILLER                    3   3.18

This function, applied to sounds with echos with a delay longer than 10 ms,
 detects and decreases in amplitude the most audible repetitions of the
 'basic' wave.


                              SPECTRAL OPERATIONS               3   3.19

These are new effects still under construction.
The STRING-IZE function transforms a voice into a string, while the
 GET PITCH function transforms a sample into a wave consisting of its
 fundamental frequency.
The VOICE-MODIFIER function is a strange effect suited for voices.
The ROBOTIZE function transforms a human voice into a 'robot' voice.



NOTE:Most of this functions are performed on the whole wave or on a
     selected range.
NOTE:Some functions work only in the TIME DOMAIN.







                              4-Edit Operations                 3   4

The EDIT OPERATIONS are the standard ones:
  1-Cut (Cuts a selected range of the wave,copying it into the copybuffer)
  2-Copy (Copies a selected range of the wave into the copybuffer)
  3-Paste (Pastes the copybuffer at the selected location)
  4-Crop (Cuts everything but the selected range)
  4-Mix (Mixes the current wave with the copybuffer,starting at the selected
         position)
  5-Insert 0 (Inserts a chosen amount of silence at the selected position)
  6-Swap (Swaps the copybuffer with the current wave)







                               5-Switch Domain                  3   5

By switching the DOMAIN gadget, you enter the TIME DOMAIN or the FREQUENCY
 DOMAIN.
When you enter the FREQUENCY DOMAIN you can transform the current wave or 
 load a saved transformed wave.
When you enter the TIME DOMAIN you can anti-transform the current wave,
 load a saved wave or build a new one.






                                 6-Play wave                    3   6

You can obviously [:)] hear your sounds.
The rate at which the wave will be played is determined by the KEY gadget.

                                 PLAY SAMPLE                    3   6.1

Using the PLAY and STOP gadgets lets you play waves or stop playing them. 
If you click on the PLAY gadget with the right mouse button, you'll hear
 the selected range only.

                                  PLAY LOOP                     3   6.2

By switching on the LOOP flag you'll hear your wave looped thru the selected
 loop points, using the FORWARD or ALTERNATE modes.
The same flag is used to instruct SAMPLED whether to save or not loop points
 in a XI sound file.
You can easily edit the loop points while viewing them (see section 11).

                         PLAYING WITH A MIDI DEVICE             3   6.3

By connecting a MIDI device to your audio card, you can play the wave using 
 your MIDI device.
NOTE:While the SB plays a sound,it cannot anymore receive any MIDI data:                                  
     it means that the wave will be played entirely.







                                   7-Loop                       3   7

The Start/Loop/End points modify the execution of your wave. 
When the LOOP gadget is switched on:
 1) FORWARD MODE: The wave starts from the START point,reaches the END point,
                   starts from the LOOP point,reaches the END point,
                   starts from the LOOP point,and so on...
 2) ALTERNATE MODE: The wave starts from the START point,reaches the END 
                     point,then is played reversed to the LOOP point,then is 
                     played forward to the END point,and so on...
You can easily set the loop points by selecting the VIEW LOOP mode (see
 section 11).

The X-FADE function tries to match as much as possible the parts of the wave
 near the LOOP points,making the loop softer.





                                  8-Sampler                     3   8

Sampled has a built-in sampler.
Set the TRIGGER level to make the sampler start automatically when the input
 reaches a selected amplitude.
There is a Maximum-Reached-Value indicator.You can reset it by pressing the
 RESET gadget.




                                   9-Mixer                      3   9

The built-in MIXER lets you choose the output level, the line level, the mic
 level, the sampler's source and the input/output filters.




                                10-Draw Wave                    3   10

Clicking on the wave window with the right mouse button lets you edit with
 the mouse pointer the wave on the screen. 
It's very useful to eliminate peaks. 
 
 


                                11-View Wave                    3   11

The A/B/C gadgets on the right of the wave window lets you change the way
 the wave is showed on the screen.
The R gadget on the right of the wave window enlarges the selected range into
 the window.
The D gadget shows the Amplitude Distribution of the wave.
The VIEW LOOP gadget shows the parts of the wave near the loop points, thus
 helping to choose the right loop points.
It works only when the LOOP gadget is switched on.




                                   12-Undo                      3   12

The UNDO gadget undos the last editing on the wave.
NOTE: The undo gadget works only in the time domain, so be careful when
      editing in the frequency domain: you haven't got chances [;-)].
NOTE: When the wave is very large, the UNDO feature can use a large amount
      of memory.You can disable it in the PREFS window (see section 13).



                       13-Preferences & Configuration           3   13

The PREFS window lets you change:
 1-Colors intensity (useful for some kinds of monitors)
 2-Sampler disk drive (the drive from which the sampler's diskettes are read)
 3-UNDO on/off (it disables/enables the UNDO option in order to have more
                free memory)
 4-Keep CUT (it disables/enables the copying of a cutted part of a wave into
             the copybuffer in order to have more free memory) 
 5-Auto Save (it disables/enables the automatic saving on exiting the program 
              of the current configuration)













 


                                  SECTION 4


                                 1-Hardware                     4   1

Hardware requirements:
        - 486 DX (or better) (the internal coprocessor,you know!)
        - 4 Megs of RAM (8 is better...)
        - SB-PRO or SB-16 compatible sound cards
        - Standard VESA graphics board



                              2-Machine Settings                4   2

SAMPLED needs a Sound Blaster (or compatible) in order to hear sounds;
 its settings must be given using the SETUP utility.
SAMPLED needs a standard VESA graphic board; using the SETUP utility it
 is possible to choose a particular board in order to speedup the screen
 drawings.

SAMPLED doesn't work with any VCPI or DPMI hosts installed (that is, no EMM 
 manager such as EMM386,QEMM,etc...).
[   This is because SAMPLED, now, doesn't use any DOS-EXTENDER 
    (they cost too much), and it enters Protected Mode by its 
    own feet (by my hands!)...
    When there's a VCPI or DPMI host, you can't easily enter Pmode...
]

SAMPLED doesn't work with SMARTDRV with the write-behind cache set (that is,
 you CAN use SMARTDRV /X, but you CAN'T use SMARTDRV without the /X option).
[   This is because the write operations on disks can occur while 
    SAMPLED is in Protected Mode, and since SAMPLED executes IRQS 
    in Virtual Mode, then Smartdrv can't enter Pmode...
    Yes, I'd buy a DOS-EXTENDER!
]
SAMPLED needs (sigh!) a lot of conventional memory free...try to make your
 best in order to free it as much as possible!



                               3-Troubleshootings               4   3

If the system halts or crashes while executing some operation on the wave
 (such as FFT, filters, Digital Effects,etc..), there are many possible
 causes:

 1) You've installed a VCPI or DPMI host (such as EMM386,QEMM,etc...).
    Solution: Remove it! (if it's EMM386, type 'EMM386 off' at DOS prompt).

 2) Smartdrv is installed, and its cache write-behind is active.
    Solution: Install SMARTDRV as SMARTDV /X, or deactivate all caches
     (typing 'SMARTDRV [drive]-' at DOS prompt)...

 3) You're under Window$ 95/98.
    Solution: Deinstall WINDOW$ or format your hard disk. ;)
    However, if you think Window$ 95 is a useful 'OS', then run SAMPLED 
     in DOS mode.

 4) None of the causes above.
    Solution: Congratulations, you've just discovered a new bug!
    E-mail me and tell me your troubles...

Read the FAQ.HTM file coming with this release for more info.



















                                  SECTION 5


                          APPENDIX A - FILE FORMATS             5   A

Sampled loads and saves waves in the following file formats:

 - WAV (Used by Windows, is the most spread in the world)
 - RAW (Just the sample bytes one after the other)
 - XI (Used by many MOD players, such as Fasttracker II,etc.)
 - NRS (The file format used by Sampled: it saves everything about the wave,
         such as loop points, loop type, etc.) 
 - FTN (The file format used by Sampled to save the frequency representation
         of the wave)
 - AU (The sound file format used on SUN machines)
 - SAM (8-bit raw data used by most trackers)

 If you're interested in the NRS and FTN formats, let me know by E-mail and
 I'll send you their description...












                               APPENDIX B - FM                  5   B

I'll try to explain FM...
Well, think about a wave in the PC memory: there are bytes representing the 
 wave one after the other.
When you want to play it, you just have to send these bytes to a device,
 reading them from the first one to the last one at constant rate.
Just an example:think about a SIN in memory:
       
              value
                ^
           7    |
           6    |    ***                     At address 09 there is a 4
           5    |  **   **
           4    |.*.......*
           3    |*        .*         *
           2    |         . *       *
           1    |         .  **   **  
           0    |         .    ***
                --------------------------->Memory Address
                 000000000011111111112
                 012345678901234567890

If you use the following function to read the wave:

          Memory Address
                ^ 
          10    |          / f(t)
           9    |........./
           8    |        /.
           7    |       / .
           6    |      /  .
           5    |     /   .           At time 9 there is a 9
           4    |    /    .
           3    |   /     .
           2    |  /      .
           1    | /       .
           0    |/        .
                ----------------> Time
                 000000000011111
                 012345678901234

the output will be this:

              value
                ^
           7    |                         So,at time 9 the output will be a 4
           6    |    ***
           5    |  **   **
           4    |.*.......*
           3    |*        .*         *
           2    |         . *       *
           1    |         .  **   **
           0    |         .    ***
                ----------------> Time
                 000000000011111
                 012345678901234

As you see,the function f(t) gives, moment by moment, the address at which
 the byte to be output has to be read.
In order to play a wave,f(t) has to be linear. 

What if we change f(t)?


          Memory Address
                ^
          10    |
           9    |
           8    |
           7    |\        /---\
           6    |.\....../     \ f(t)
           5    |  |    /.
           4    |  |    |.
           3    |  |    |.             At time 8 memory address is 6
           2    |  \----/.         
           1    |        .      
           0    |        .      
                ----------------> Time
                 000000000011111
                 012345678901234

The output will be:

              value
                ^
           7    |
           6    |.*......*     *
           5    |* ******.*****      
           4    |        .              So, at time 8 output will be 6
           3    |        .               (that is what is at address 6)
           2    |        .
           1    |        .
           0    |        .
                ----------------> Time
                 000000000011111
                 012345678901234


So, every shape of f(t) generates a new wave from the original one in 
 memory.
Think about your voice in memory,and a strange f(t)!!!












                        APPENDIX C - FFT explanations           5   C

The Fourier transformate is a mathematical operator that, applied to a 
 function representing a signal in time [ s(t) ] gives a function represen_
 ting the signal in frequency [ S(f) ].
For a single f, S(f) gives the amplitude of the component of the wave at
 frequency f.
For example, an S(f) such this:


                ^
                |
                |  *****
                | *     *
                |*       *
                |         *
                |         *         *
                |         *  *     * *
                |         *** *****   ***
                |------------------------> Frequency

 means that the signal has a lot of 'low' frequencies:it could be a bassdrum
 or a bass.
The Fourier anti-transformation brings back S(f) to the original s(t).
So, if you pull 'down' the level of S(f) in the lower frequencies, after 
 anti-transforming S(f) you'll have s(t) without its low frequencies. 

Computing a Fourier transformation (or anti-) is very difficult on a PC:
 using a simple algorithm its complexity is O(n**2).
There is an algorithm, called FAST FOURIER TRANSFORMATION (FFT) that is fast
 enough, but is recursive and requires a lot of memory, together with
 calculations (usually using floating-point math).
The FFT complexity is O(n*log(n)).
You know, a recursive algorithm requires too much memory, and if you want 
 speed, you'll have to use assembly (True men use Assembly).
I turned the FFT algorithm from recursive to iterative, and I wrote it in 
 assembly, using the protected mode in order to access all the memory I need.
It takes 2 seconds for a wave shorter than 32768 bytes on a 486DX2-66,
 and 0.8 seconds on a Pentium 120, but the longer the wave the longer the 
 time is (it's one of the basic laws ;-) ).










                     APPENDIX D - Samplers compatibility        5   D

Sampled reads and writes waves from/to diskettes of the following musical
 samplers:
 ROLAND S-50 / ROLAND S-330 

I CAN (I CAN!) read diskettes from the following samplers:
 ROLAND S-550/750/760/770
 AKAI Sx000
 ASR-10
 EMAXII

 but I need some help in order to understand where to find the sample's
 datas (Root Table,Parameters Table,etc...).
If you're interested in these capabilities, contact me & read Section 6-1
 (following).







                     APPENDIX E - User defined filters          5   E

This is another powerful feature of SAMPLED: you can specify a filter
 in an ASCII text file and apply it to your sound...!!!
Let's explain the two simple rules to obtain this: (read below for simple
 explanation about filters)

a) The name of the file containing the filter specification must have
   the '.FLT' extension.
b) The format of the text file is the following:

   1) Zero, one or more lines BEGINNING with character ';' , containing
      generic comments (not parsed by SAMPLED)

   2) One line containing a number M >0 (the order of the Numerator of the
      filter's system function in the Z domain, or the length-1 of the
      sequence of samples from the filter's impulse response)

   3) One line containing a number N >=0 (the order of the Denominator
      of the filter's system function in the Z domain, or 0 in case this
      is the specification of an impulse response)

   4) One line containing the string 'NUMERATOR'

   5) M+1 Lines containing each ONE and ONLY ONE decimal number
      ( representing the coefficients of the numerator or the samples of
        the impulse response )

   6) (if N>0) One line containing the string 'DENOMINATOR'

   7) (if N>0) N Lines containing each ONE and ONLY ONE decimal number
      ( representing the coefficients of the denominator )

The filter's system functions is expressed this way:

         b0 + b1*(z**-1) + b2*(z**-2) + ... + bM*(z**-M)
   F(z)= ------------------------------------------------
         1 + a1*(z**-1) + a2*(z**-2) + ... + aN*(z**-N)

Where b0..bM are the numbers expressed in point 5) and a1..aN are the numbers
 expressed in point 6) ( note that a0 is assumed to be 1 ! If this is not
 the case with your system function, just divide Numerator and Denominator
 by a0 ).

You can find some examples in the FILTERS directory coming with this
 package.

                              WHAT'S A FILTER?
Let's explain something about filters... (mathematicians please excuse me
 for inaccuracy and roughness, and world excuse me for my english!)
A filter is a '2 Gate Linear Permanent Network', that is, a simple circuit
 (either physical or virtual) that 'changes' a signal (a sound for our
 purposes) passing throught it...
A filter can be specified in two ways:
1) By its System Function: a function describing the filter behaviour...
   This function is usually a function of the variable s (Laplace variable,
    for analog filters) or of the variable z (for digital filters, our case).
   If you've got a System Function in the s-domain, transforming it to the
    z-domain is a trivial (not so much) task.
   There are a lot of ways to achieve this, the one I prefer is the
    'bilinear transformation': substitute every occurrence of 's' in your
    function with ' b*(1-z**-1)/(1+z**-1) ' .
   Here 'b' is a free parameter, however you'd set it to a meaningful
    value: if you've got a 'critical' point in your function (e.g., your
    function represents a Low-Pass filter with cutoff frequency 'w' ), it's
    better you let b= w / ( tan ( w*pi/sampling_frequency) ) .
   I built my TVFs this way (...;] ).
2) By sampling its 'impulse response': filters are typically described
    by the signal (sound) they produce when an impulse pass through them.
   The impulse is a (virtual) signal composed of silence, except for a
    very little (infinitesimal) non-zero value at t=0, i.e. a 'spike'.
   If you sample this output signal from the filter, you can use its
    samples as the coefficients of the numerator of the system function,
    intending that there is no denominator.

I don't want to be exaustive nor precise, but I hope someone could understand
 this...
Anyway, if you're already familiar with filters, jump on the train: try out
 anything you like, and you'll be surprised!!!!
If you want more infos about filters, there's a little book (comprehensive
 of a DOS utility to build filters and perform lots of calculations, very
 useful!) I can suggest you, but it expects a very little knowledge of
 signal processing (it isn't a basic book...) :

           " DIGITAL FILTERING - A computer laboratory Textbook"
           by Russell M.Mersereau, Mark J.T. Smith
           Georgia Tech, John Wiley & Sons, Inc.
           ISBN 0-471-51694-5













                                  SECTION 6

                             1-What I ask you...                6   1

I need just one thing in order to advance with this program:
  - Diskettes of other samplers

If you've got some of them, or know how to get them, please tell me
 by E-mail...




                       2-What's the future about Sampled        6   2

  - Reading/Writing from/to diskettes of many other samplers
  - More waves simultaneously in memory
  - Much more conventional memory free
  - CD-AUDIO Digital Data reader


                        3-A note about this version             6   3  

More info can be found at the SAMPLED HOME PAGE.
I'm tired of writing this program.... :))))
I added some new features,undocumented in this file,and now I've decided
 to spread this program SHAREWARE as is.
Today it's the 10th of April, 1998.
I wrote SAMPLED for my own purposes (I build electronic music, so I need
 something to edit digital samples),and it now works well for me
 (I've got a Roland S-330 Sampler).
If you're interested in this program,contact me!


          Neurodancer - Gabriele Giuseppini
                        V. Pasquale II,222
                        00168 Roma  (Italy)
                        Tel. (39)-6-6279359

                E-Mail: neurodancer@ntt.it


Sampled Home Page:      http://www.sylaba.com/~neurod




