home *** CD-ROM | disk | FTP | other *** search
-
- Developers.doc - Additional chapters of SOUNDEffect's documentation
- (c) 1992-1994 Sven Bühling
- May 1994
- ------------------------------------------------------------------------------
-
-
- Contents
- ========
-
- 1. Support of Special Products
-
- 2. ARexx Port
-
- 3. Special File Formats of SOUNDEffect
- 3.1. Additional Chunks in IFF-8SVX Format
- 3.2. Usage of APPL Chunk in AIFF Format
- 3.3. Waves File Format
-
- 4. SampleClip
-
-
-
-
- 1. Support of Special Products
- ==============================
-
- I intend to implement support for special audio related products like
- sound cards or digitizers in future. Unfortunatly, it is impossible for me
- to bye all these things which I would like to support. So I normally need
- comlete routines for this hardware (in C, Assembler, object file or
- library) and somebody to test this after implemention. If you are a
- manufacter of such hardware or somebody else who wants to have something
- supported in SE, I would appreciate if you sent me such routines.
-
-
- 2. ARexx Port
- =============
-
- There is no ARexx port implemented in SE yet. But in V3.0 (planed for WoC
- '94) will be a least a small port for the i/o functions.
-
-
- 3. Special File Formats of SOUNDEffect
- ======================================
-
- 3.1. Additional Chunks in IFF-8SVX Format
- -----------------------------------------
-
- 8SVX normally does not support stereo samples. Despite, I found a program
- (AudioMaster) which can save stereo samples in 8SVX format. SOUNDEffect is
- downwards compatible to this. Here a short description of that.
-
- 3.1.1. CHAN Chunk
-
- This chunks contains only one long value defining a channel mode.
- Probably there is one bit for each channel. But I do not have any
- documentation about this chunk. So I tried out what values AudioMaster
- writes in for mono and stereo samples.
-
- The value for mono samples was always 2 - stereo samples got value 6. So
- SOUNDEffect takes a sample as stereo 8SVX if it contains a CHAN chunk with
- value different from 1, 2, 4 and 8.. (f.i. 'CHAN' 0x00000004 0x00000006)
-
- 3.1.2. BODY Chunk
-
- In this case the BODY Chunk is splitted into two parts with equal lengths.
- That means, the BODY chunk should be as long as (VHDR.oneShotHiSamples +
- VHDR.repeatHiSamples) * 2.
-
- So both channels always have the same length and loop settings. Sample data
- after the end of the loop are not possible. In SE there are not these
- restrictions. So I had to add additional chunks which are only supported by
- SE itself (this time). If somebody wants to support these chunks in own
- applictions, implementation should be possible with following information.
-
- 3.1.3. SEVH Chunk
-
- This chunk is only saved into stereo samples. It contains infotion like the
- VHDR chunk, but for the second channel.
-
- ID "SEVH"
- ULONG ckLength ( = 12)
- ULONG OSP (one shot part like VHDR.oneShotHiSamples)
- ULONG RP (repeat part like VHDR.repeatHiSamples)
- ULONG LEN (length of 2nd channel)
-
- 3.1.4. SELE Chunk
-
- This chunk is used to save sample data behind the loop of channel 1. So it
- is only saved if channel 1 has a loop set which does not end at the end of
- the sample.
-
- 3.1.5. SERI Chunk
-
- This chunks is similiar to the SELE chunk. Here are seved data of channel 2
- which do not fit into the BODY chunk. (That means data behind
- VHDR.omeShotHiSamples + VHDR.repeatHiSamples of channel 1.)
-
-
- 3.2. APPL Chunk in AIFF Format
- ------------------------------
-
- SOUNDEffect is now able to save samples in AIFF-C format. Although this
- format is much more powerful than 8SVX there are some restrictionn, too.
- That's why I had to use the APPL chunk which is thought for application
- specific data.
-
- ID "APPL"
- ULONG ckLength
- ID "stoc"
- pstring "SOUNDEffect" (Pascal String -> 1st Byte == Length )
- ULONG Version (==1)
- ULONG len1 (Length of 1st channel)
- ULONG len2
- ULONG osh2 (Loop of 2nd channel)
- ULONG rhs2
-
-
- 3.3. Waves File Format
- ----------------------
-
- Somebeody who wanted to geneate waves from mathematical functions asked me
- for the format of Waves. They are saved in the following way:
-
- ID "WAVE" (Indicates file type AND version)
- short EchoFlag (normally 0; 1 for echo buffers)
- 1000 B. WaveData (Wave data - always 1000 bytes long)
-
-
- 4. SampleClip
- =============
-
- SampleClip is a library to make the exchange of samples between different
- programs much easier. One defined key pressing will be enough to transfer a
- sample between two applications. But the package is not released yet. If
- you have programmed an own audio application and are interested in
- supporting this, please email to fhoffman@banach.informatik.uni-dortmund.de
- or to me to get more information.
-
-
-
-
-
-
-
-