home *** CD-ROM | disk | FTP | other *** search
- Some spotty documentation for the DRW program
-
-
- Introduction:
- DRW is a sonic spectrum editor. It allows you to paint a sonogram
- using specialized 'brushes' and then synthesize the corresponding
- audio waveform. The program presents you with a grey area where
- time is on the x-axis, frequency (actually phase increment) is on the
- y-axis and color represents the amplitude of the sinewave at that point
- in time and phase. Sonograms may be loaded and stored, sound files
- may be analyzed into sonograms and resulting sounds may be saved as
- IFF 8SVX files. It allows you to play the sound (both channels) with the
- mouse controlling frequency.
-
- Caution:
- This is an extremely quick and dirty program which reads the color
- values directly off the screen. There is no 'UNDO'. Because it is
- written in CSI Multi-forth, certain operations are slower than they
- need to be. Filename handling may be unfriendly should you make a
- typo or two. There are several other annoying things that I won't
- mention.
-
- The Screen:
- The screen presents a 128 by 256 pixel drawing area, surmounted by
- a color palette of 30 colors, ranging from grey(0) through blue, black,
- red, orange and yellow(255). Beneath the palette is the control comb,
- which selects various brushes and drawing options. On the right is a
- pathetic pseudo-prop gadget which controls certain drawing characteristics.
-
- The MODES:
- There are several states into which the program may be put: all of them are
- accessed via the keyboard buttons. They are:
- T)op D)oodle S)ynth P)lay R)eset W)rite B)andpass I)input O)utput Q)uit
-
- T)op mode: clears the screen to grey ( amplitude 0), then goes directly to
- D)oodle mode.
-
- D)oodle mode is the main drawing mode. It works with the comb to allow
- the sonogram to be drawn. To use the comb, you click on one of the tines.
- A user-unfriendly 4 letter mnemonic appears on the right of the screen,
- along with its corresponding number .
-
- Here are the various options which this enables:
- 1) Dot A dot of the selected color is continuously dropped on
- the screen while the left mouse button is depressed.
- 2) Line A continuous line is drawn while the button is down. Note that
- the line cannot be drawn from right to left.. to encourage
- 'proper temporal flow'.
- 3) Ramp A line at this frequency is 'ramped' up to the selected color,
- and then ramped down. The rate of ramping is controlled by the
- phony prop gadget. The ramp is summed into the color on the
- screen.
- 4) Thin A thin Rectangle is deposited, much as a dot is.
- 5) Blob A rather fat rectangle is deposited.
- 6) Harm A ramp in the suitable color and rate is summed into the screen
- at harmonics determined by the current Frequency space settings.
- The Pointer represents the eighth harmonic. Only writes forward,
- and connects points continuously. This is is admittedly slower than
- it could be. Harm can be used to create a harmonic framework for
- subsequent alterations.
- 7) Avg Averages a few pixels before and after the pointer for this
- frequency.
- 8) R-Dn Ramps down from the color under the pointer, using the rate from
- the prop gadget.
- 9) R-Up Ramps up (backwards) from the pointer position, like ramp down.
- 10) Fill Fills this frequency with this color, until it hits a color
- differing from that under the pointer.
- 11) Fil2 Tries to do a ramp-fill up to the selected color to the colors
- at the edges. Doesn't work.
- 12) Inc Adds one to the spot under the pointer. GOes forward.
- 13) Dec Decrements this spot by one.
- 14) Xcld Excludes all but harmonics at this time period. The pointer
- represents the eighth harmonic.
- 15) -Cut removes all colors quieter than the current one from the
- sonogram. Nice for cleaning BPFs.
- 16) Inc0 Increments if there is a non-grey color under the pointer. For
- making soft areas louder.
- 17) Dec0 Decrement, but not down to grey - just to green.
- 18) From sets the 'from' point for a Copy. You must click the left button.
- 19) To sets the 'to' spot for a copy.
- 20) Copy Copies 'pantograph'-style for those of you who remember Images,
- based on the 'from area' going to the 'to' area.
- 21) .21. nothing
- 22) AMmd Puts some AM sin-waves on the screen as raw material.
- 23) CpFr Copies a frequency line to new Mouse's freq. Uses From.
- 24) CpTm Copies a time slot to new Mouse's slot. ditto.
- 25) Lck1 Puts a lock on every frequency. A harmonic lock crudely constrains
- certain brushes from being positioned anywhere but on the nth line.
- Allows stable harmonic timbres to be easily created for use
- as loops.
- 26) Lck2 Locks even lines.
- 27) Lck4 Locks every 4th line.
- 28) Lck8 Locks every 8th line.
- 29) Vl00 restores original amplitude boost.
- 30) Vl01 doubles amplitude when Synthing the sample.
-
- S)ynth zero's the sound area and then creates the waveform by additive
- synthesis. You may cut the sound short by typing 'P' to go directly to
- play mode. This may be slow at times, but it depends on the current
- time and frequency settings. Technicians will note that I am using
- fixed point arithmetic and a custom sin-lookup table to make this
- calculation.
-
- P) Play plays the sound area. Moving the mouse vertically changes the
- Amiga 'period' (i.e. frequency.)
-
- The following modes require some names and numbers from the keyboard.
-
- R)eset resets the frequency and time spaces. It flips to the workbench
- input console window. The first number is the
- number of samples each pixel on the x-axis represents (1-256). The second
- is the phase harmonic spacing of the frequency lines. In this system,
- 2pi=1024*256. Since there are 128 lines, aliasing begins at about
- 2048 so restrict yourself below this. An equivalent Hz value is
- displayed (assuming a period which corresponds to a sample frequency of
- 15040 KHz). The last number is the frequency offset, which allows you to
- position the screen away from frequncy zero and use closely spaced
- frequencies which are nevertheless audible. The screen will flip back
- after a second allowed for you to digest this info.
-
- W)rite writes the sound area to an IFF sample file, for use by such programs
- as may use IFF samples. A filename is prompted for, and a number of octaves
- (which merely decimates the sample).Note this doesn't work too well,
- since a) my octave chopper is very crude (it skips samples instead of
- filtering) and b) I am confused by the 8Svx spec. If you stick with
- 1 Octave and use other software to fix the sample, it's OK.
-
- B)andpass is the heterodyne filter. A name of a sound file is prompted for,
- then a starting offset within the file (so you may skip to an interesting
- section) and then the record 'k' is asked for, which is the record size
- log to base 2 (i.e. 5=32, 10=1024 ...) under 7 is pretty speedy, but decent
- usable work appears at about 9 or 10. This picks up information from
- reset about frequency spacing. You may abort by hitting the close gadget.
- This is not an FFT because it is more geared to the parametric nature of
- the program. Again, it uses fixed point arithmetic.
-
- I)nput and O)utput write the sonogram (or read) to a disk file. The Reset
- parameters are also saved.
-
- Q)uit gives you a chance to play Marble Madness.
-
- Remember: Software kills! Use this tool wisely!
- Actually, In lieu of money, which I hate, consider calling you local
- educational institutes and show their music department this program.
- I am after activism as a shareware concept. Money I don't need. And,
- it won't buy you a single thing.. there are no guarantees implied in this
- or any software. Neither can I say when or if the improved versions will
- appear. I have left a few slots in the "comb" open for forth persons
- to include their own functions. Someone, please put in a "BltBitMap" copy
- function!
- Those who wish to propogate this set of files are cautioned to make them
- complete,(I.E. try to include the source.. there isn't very much
- in the way of Forth examples out there also I like my Icons and Doc files)
- and to add comments to the UploadDocs file so you can form
- your own user group. You can get to me here:
-
- J H H Lowengard
- 43 W 16th st. apt 2D
- NYC 10011-6320
- also via MIDI-NET and CIS:76625,2425
-