home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1996 / ARCHIVE_96.iso / discs / mag_discs / volume_9 / issue_01 / soundcon / !SoundCon / !Help < prev    next >
Text File  |  1995-05-25  |  18KB  |  405 lines

  1.                                   S o u n d C o n
  2.                                  =================
  3.                               version 1.50,  24-05-95
  4.                                   by Rick Hudson
  5.  
  6.  
  7. This software is FreeWare. It must only be distrubuted in its original form.
  8. The PlaySample module is also FreeWare and can be used in other applications
  9. but you must obtain my permission if you wish to distribute it separately
  10. from SoundCon.
  11.  
  12.  
  13.  
  14. Summary
  15. =======
  16.  
  17. SoundCon is an application for basic sound sample format conversion on the
  18. Archimedes. It can read and write samples in a variety of formats common on
  19. various computer platforms and can directly playback most the formats it can
  20. read (without converting it first). An important feature of SoundCon is that
  21. all processing and playback is done from disc meaning that the only memory
  22. required is for the application itself and there is no limit to the sample
  23. size.
  24.  
  25. As of version 1.40 SoundCon can respond to render requests from ArcWeb so
  26. that WWW sounds can be played by just clicking on them.
  27.  
  28. See the version history at the end of this file for a summary of changes and
  29. additions to this version.
  30.  
  31.  
  32. Other documentation
  33. ===================
  34.  
  35. The Docs directory within !SoundCon contains further information on the
  36. PlaySample module and the various sound formats supported. The latter
  37. contains format descriptions, what sub-formats are and aren't supported,
  38. limitations of them and which ones can be played without conversion.
  39.  
  40. Interactive help is supported. Theoretically, you should be able to stop
  41. reading this now and use that.
  42.  
  43.  
  44. Supported formats
  45. =================
  46.  
  47.    Major formats       sub-formats
  48.  
  49.    Audio IFF           8/16 bit, mono/stereo
  50.    Armadeus            n/a (8 bit mono signed linear)
  51.    ARMovie             8/16 bit, (un)signed linear, VIDC, mono/stereo
  52.    Sun Audio           8 bit A/╡-law, 8 bit lin, 16 bit lin, mono/stereo
  53.    AudioWorks          8/16 bit (un)signed, A/╡-law, VIDC, mono/stereo
  54.    Datavox             8/16 bit (un)signed, ╡-law, VIDC, mono/stereo
  55.    IFF/8SVX            n/a (8 bit mono signed linear)
  56.    Psion S3a           n/a (8 bit mono A-law 8kHz)
  57.    VOC                 n/a (8 bit mono unsigned linear)
  58.    Voice modules       4 volume modes, fixed/var frequency, voice/transient
  59.    RIFF WAVE           8/16 bit PCM, A/╡-law, MS/DVI ADPCM, mono/stereo
  60.    Raw data            8/16 bit, (un)signed lin, A/╡-law, VIDC, mono/stereo
  61.  
  62. For more information on these formats see the file Docs.Formats which
  63. describes in more details what the formats can support and what the menu
  64. sub-options do.
  65.  
  66.  
  67.                                ==============
  68.                                Using SoundCon
  69.                                ==============
  70.  
  71. Loading a sample:
  72. ================
  73.  
  74. SoundCon is sample converter so it can't do anything until you give a
  75. sample. Drag a file onto the icon bar icon or any of it's windows to 'open'
  76. the sample. The settings of the preferences may cause some actions to happen
  77. automatically at this point (see later) but the default is not do anything
  78. except open the sample information window (click select on the icon bar icon
  79. to open it if you need to). This window displays information about the file
  80. loaded. If the format is not recognised (or a recognisable format is
  81. unsupported - WAVEs have several such formats) then an error message is
  82. reported and sample is loaded as raw data.
  83.  
  84.  
  85. Changing the interpretation:
  86. ===========================
  87.  
  88. Recognised formats will not usually have to be fiddled with but raw data
  89. will probably have to have the interpretation of the data changed to make
  90. it sound right - this is largely a trial and error process.
  91.  
  92. At the bottom of the sample info window (click on Toggle Size or scroll
  93. down) there is the interpretation format and frequency - use the pop-up
  94. menus to change these. The format selections are summarised by interactive
  95. help (if your version of RISC OS isn't too old) and described in more detail
  96. in the file docs.Formats.
  97.  
  98. The interpretation frequency sets how many sample frames per second to
  99. assume. A sample frame is the samples on all channels at any given point and
  100. so frames per second means samples per channel per second. The menu provides
  101. a list of common frequencies as well as a writable entry for other
  102. frequencies.
  103.  
  104.  
  105. Listening to the sample
  106. =======================
  107.  
  108. The playback control window can be opened by clicking Adjust on the icon bar
  109. icon or by selecting the menu item in the sample info window or icon bar
  110. menus. The sample will be played based on the format and frequency set in the
  111. Interpret As section of the sample info window. An exception to this are
  112. samples that cannot be interpreted as raw data by SoundCon (ADPCM and
  113. Audioworks formats) which can only be played in their original format.
  114.  
  115. The CD-style buttons control the playback and their use should be obvious.
  116. The slider marking the sample progress can be dragged around as an
  117. alternative to setting the sample position with the cue and rewind buttons.
  118.  
  119. The volume slider controls the volume and the speaker button toggles the
  120. speaker on and off. If the volume is changed or the speaker toggled from
  121. another application then SoundCon updates the volume slider and speaker
  122. button automatically. Note though that the volume is independant of the
  123. normal system volume so other system-volume controllers will have no effect.
  124. The percentage above the volume slider shows the volume that will be used
  125. when the slider is pushed right to the top. If you click on it, it will
  126. switch between 100% and 200%; the latter mode allowing a sample to be
  127. amplified. Distortion due to clipping will occur if the sample is amplified
  128. too much.
  129.  
  130. The writable icon box beside the volume slider is the numeric setting of the
  131. volume. You can type in a value here to set the volume if you wish.
  132.  
  133. Mono samples can be played with a simulated stereo effect by having two
  134. channels playing the same thing with one lagging slightly behind the other.
  135. Click on the mono echo button (under the speaker button) to toggle this
  136. feature on and off. The echo delay is set in the preferences. This option has
  137. no effect on stereo samples and has not been implemented for ADPCM formats.
  138.  
  139. Note that the ADPCM play routines are quite CPU intensive (since they
  140. decompress on the fly) and the sound quality will probably suffer when
  141. interrupts are used heavily (eg lots of disc activity).
  142.  
  143.  
  144. Converting the sample to another format
  145. =======================================
  146.  
  147. Open the conversion window from the info window or icon bar menus. The
  148. current destination format is shown with the usual elements of a save box.
  149. Change the format, sample rate and filename (if current settings are not
  150. suitable) and drag the icon to where you want the new sample to be or click
  151. OK/press Return if a complete path is already present. The conversion
  152. progress window will open and the conversion will occur in the background.
  153. The conversion can be paused if you need the computer to be more responsive
  154. for a while or aborted by clicking the appropriate button.
  155.  
  156. The filename initially present in the convert window will depend on the
  157. preferences (see Preferences for options).
  158.  
  159. The conversion produces a sample (in the specified format) so that playing
  160. it at the speed set in the 'Rate' box will sound the same as the original
  161. sample played at the speed set the 'Frequency' box of the 'Interpret As'
  162. section. That is, the sample is resampled at the new frequency. If the
  163. frequencies are different then new samples are generated by linearly
  164. interpolating between the original samples.
  165.  
  166. See the file Docs.Formats for a description of the supported formats and
  167. their sub formats.
  168.  
  169.  
  170. Preferences
  171. ===========
  172.  
  173. Default Conversion format: This controls what output format will initially
  174. be in the conversion save box when the program is loaded. This format may
  175. also be set on loading a new sample (see Auto Load Actions below). The
  176. effect of these settings is described in 'Converting a sample' above. The
  177. option 'Auto #chnls', when selected, will set the number of channels in the
  178. output format the same number of channels as the source (if the format
  179. permits). This happens when the sample is first loaded and can still be
  180. changed manually.
  181.  
  182. Interpret Unknown As: When an unrecogised sample is loaded, the data will be
  183. initially interpreted according the settings in this box. The pop-up menus
  184. are identical to those for the Interpret As part of the info window (see
  185. 'Changing The Interpretation' above).
  186.  
  187. Auto Actions On Load: Any combination (including none) of the following
  188. actions are performed when a new sample is opened.
  189.  
  190.   - Open info window: The window displaying the information on the sample is
  191.     opened.
  192.  
  193.   - Open convert window: The conversion/save window is opened.
  194.  
  195.   - Open play window: The play control window is opened.
  196.  
  197.   - Default format: The format and frequency used for the output sample is
  198.     set from the Default Conversion Format part of the preferences.
  199.  
  200.   - Convert: The conversion process is started using the format and filename
  201.     determined from other preference settings.
  202.  
  203.   - Play: The sample is played back.
  204.  
  205. If either convert or play (or both) are selected then the sample is cleared
  206. after their respective operation has completed to allow the next queued
  207. sample to be processed automatically. If convert AND play are selected then
  208. the sample is cleared after both have finished.
  209.  
  210. Sound: This section specifies how to set up the sound system on loading
  211. SoundCon:
  212.  
  213.   - Set volume: If this option is set then the playback volume is set
  214.     according the slider below otherwise it is left unchanged. Note that
  215.     this only affects the volume for the PlaySample module which is
  216.     independant of the normal system volume.
  217.  
  218.   - Don't set speaker: The speaker is left in the current state (on or off).
  219.  
  220.   - Speaker off: The speaker is switched off.
  221.  
  222.   - Speaker on: The speaker is switched on.
  223.   
  224.   - Mono echo: Set the delay between channels in centiseconds (0-99) for a
  225.     simulated stereo effect on mono samples. If this is set to zero, mono
  226.     samples are played using one channel only. This option has no effect on
  227.     stereo playback or ADPCM formats. The actual delay is limited to 2048
  228.     sample frames so the maximum delay in seconds is 2048/rate. eg at 11111Hz
  229.     2048/11111 = 18cs. This option is enabled and disabled in the playback
  230.     window.
  231.  
  232. File naming: These options control what filename will appear in the
  233. conversion/save box when a new sample is opened:
  234.  
  235.   - Do not update name: The writable icon is left the same as when it was
  236.     last used.
  237.  
  238.   - New leaf with previous path: Everything up to the last '.' is preserved
  239.     and remainder (the leaf) is replaced with the leaf name of the source
  240.     sample. This is the only useful file naming option for queue processing.
  241.  
  242.   - New leaf-only name: The filename is set to the leaf name of the source
  243.     sample.
  244.  
  245.   - Add/change extentions: When this option is set an extension of the form
  246.     '/XXX' is appended to the filename (after one is generated from the
  247.     above options). XXX is an MS-DOS like abbreviation like WAV, AIF, RAW
  248.     etc. The leaf is not truncated to 10 characters in case you want to copy
  249.     it to a filing system supporting longer filenames.
  250.  
  251. If the auto-convert option and 'New leaf with previous path' is not selected
  252. then a warning is displayed when you exit the preferences window because
  253. queue processing can only be done with that option set. (no update can be
  254. used but all the samples will overwrite each other!)
  255.  
  256.     
  257. General: Miscellaneous options
  258.  
  259.   - D-click load: SoundCon repsonds to the Dataload message allowing it to
  260.     load samples by double clicking on them. It attempts to load any file
  261.     that is 'launched'. If it recognises it loads it otherwise it is ignored
  262.     so oher applications still get a look in.
  263.     
  264.   - ArcWeb render: When this option is set, SoundCon responds to rendering
  265.     requests from ArcWeb. If the file to be rendered is a recognised sound
  266.     format and SoundCon is idle then it will be loaded and played.
  267.     
  268.   - Font: This sets the font that SoundCon will use for all its text. RiscOS
  269.     3.5 users should leave this set to 'system font' so that the OS will use
  270.     the current desktop font. Apparantly there is a bug in RO3.5 that causes
  271.     font problems if an outline font is used in the slab buttons. This
  272.     feature is mainly for use in OS versions before 3.5.
  273.  
  274.  
  275. Queue processing
  276. ================
  277.  
  278. SoundCon can process a queue of samples as well as single samples; this is
  279. so that a whole bunch of samples can be converted (or played) without user
  280. intervention. The restrictions are that all the samples in the batch will be
  281. converted to the same format and will all be placed in the same directory.
  282.  
  283. A sample may be explicitly loaded into the queue by dragging one into the
  284. queue window (opened from the icon bar menu). If more than one sample is
  285. dragged to into SoundCon then the first will be dealt with normally (ie as
  286. if it was a single file) and the rest will be queued automatically.
  287.  
  288. The queue works on the principle that when there is no sample open the one
  289. at the front of the queue is opened (and removed from the queue). The
  290. current sample will be cleared (and the first one queued opened) when:
  291.  
  292.   - You clear it manually from the menu in the Sample Info window.
  293.   - A sample has finished converting and the 'Auto Actions on Load/Convert'
  294.     option is set from the preferences.
  295.   - A sample has finished playing and the 'Auto Actions on Load/Play' option
  296.     is set from the preferences.
  297.     
  298. The last two (auto-clear) instances do not occur if the queue is empty so
  299. that the last sample in the queue remains the current sample.
  300.  
  301. This means all the files in the queue can be converted or played (or both)
  302. automatically.
  303.  
  304. So if SoundCon is set to auto-convert on load, all the files in the queue
  305. will convert automatically. Note however that when the first file is opened
  306. the warning message 'To save, drag the file to a directory display' is
  307. displayed. The first file needs to be dragged manually to determine where to
  308. save the samples. You should also select what you want them all converted
  309. to at this point. A result of this is that conversion can only progress
  310. automatically if the file naming method is set to 'New leaf with previous
  311. path' otherwise the warning will be given for every file or the files will
  312. all have the same name and overwrite each other. If you select auto-convert
  313. and the file naming is set to something inappopriate, you are warned when
  314. you close the preferences window.
  315.  
  316. You will need to change the format and output path (if necessary) before you
  317. load the queue a second time because there will now be suitable defaults to
  318. begin conversion immediately. Alternatively, clear the filename or the entire
  319. sample to set things up after the queue is loaded.
  320.  
  321.  
  322. Using SoundCon with ArcWeb
  323. ==========================
  324.  
  325. From version 1.40 SoundCon can play samples for ArcWeb by responding to its
  326. rendering requests. The 'ArcWeb render' preference must be set and SoundCon
  327. must be idle (ie not converting or playing another sample) to repsond to
  328. ArcWeb requests because it 'loads' the sound as its current sound which would
  329. mean halting any previous activity. While the sound is 'loaded' it can be
  330. converted/saved or played again until a new sound is loaded or it disappears
  331. from the ArcWeb cache.
  332.  
  333.  
  334. History
  335. =======
  336.  
  337. 1.30 - First release
  338.  
  339. 1.40 - Cleaner logarithmic sound conversion
  340.      - Cleaned up glitches on standard-res monitors
  341.      - Added read-only ARMovie format
  342.      - Added ArcWeb sound playing
  343.      - Sun Audio files with zero data length can now be loaded
  344.      - Lowered lower frequency limit after discovering some 5Khz samples
  345.      - First button in preference window now works. (how'd that happen?!)
  346.      - Mouse is now constrained when dragging sliders
  347.      - Doesn't crash if sample disappears between loading and converting
  348.      
  349. 1.41 - Made Arcweb rendering optional
  350.      - Dataload option added to allow loading by double-clicking
  351.      - Made preference window resizable
  352.      
  353. 1.42 - Fixed bug re dragging play slider on 16-bit samples
  354.      - Dragging to playback window when already playing now plays
  355.      - Changing format with 'extensions' on now works
  356.      
  357. 1.50 - Fixed last-sample-in-queue bug
  358.      - Type 0 AU and some incomplete-headered AU handling added
  359.      - Added Wave filetype (FB1)
  360.      - Hi-res player buttons added (thanks Trev)
  361.      - Some mouse button actions tidied up
  362.      - Fixed a bug causing some spikes in conversions
  363.      - Fixed /0 error (opening prefs) when Armadeus is the default format
  364.      - Does not respond to shift-double-clicks now
  365.      - Fixed WAVE block alignment bug affecting samples > 1 byte/frame
  366.      - Added Psion S3a format (thanks Jasper)
  367.      - Added ARMovie export
  368.      - Added A-law format to Psion, AU, Audioworks, RIFF and raw
  369.      - Added 100%/200% (normal/amplify) volume switch
  370.      - Added typable numeric volume display
  371.      - Added mono echo (simulated stereo) to front end
  372.      - Removed queue size limit; stored in file now
  373.      - Auto mono/stereo selection in output to match source
  374.      - Changes to PlaySample module (now 2.43)
  375.        - Added A-law support
  376.        - Volume range now 0 to 255 (200%=amplify) with 127=100%
  377.      
  378.  
  379. Problems?
  380. =========
  381.  
  382. I have tried to ensure that SoundCon can process a wide variety of sample
  383. formats and sub-formats and because of this it has been hard to find original
  384. files to test them all with. Please let me know (e-mail address below) if you
  385. encounter a sample that SoundCon doesn't process correctly; several small
  386. bugs have been fixed because of this kind of feedback. I'd also be interested
  387. to hear if there are any other unsupported formats that could be included in
  388. SoundCon's repertoire; bearing in mind that I need some information about the
  389. format before I can implement it.
  390.  
  391.  
  392. Acknowledgements:
  393. ================
  394.  
  395. Thanks to the following people who mades useful suggestions, supplied
  396. information or did testing:
  397.  
  398. Andrew, Stewart Brodie, Trevor Johnson, Jasper Wallace, John Brand, Are
  399. Leistad, Nick Bannon and Chris Poole.
  400.  
  401.  
  402.  
  403. Rick Hudson
  404. rick@actrix.gen.nz
  405.