home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 2 / AUCD2.iso / internet / soundcon.spk / !SoundCon / !Help < prev    next >
Text File  |  1995-09-26  |  25KB  |  583 lines

  1.                                   S o u n d C o n
  2.                                  =================
  3.                               version 1.60,  1-09-95
  4.                                   by Rick Hudson
  5.  
  6.  
  7. This software is FreeWare. It must only be distrubuted in its original form
  8. and there must be no charge for it (except possibly for covering media
  9. costs). No part of this application (including the PlaySample module) may be
  10. distributed separately from SoundCon without my prior permission.
  11.  
  12.  
  13. Contents
  14. ========
  15.  
  16.   1     Summary
  17.   2     Other documentation
  18.   3     Supported formats
  19.   4     Using SoundCon
  20.   4.1     Loading a sample
  21.   4.2     Changing the interpretation
  22.   4.3     Listening to the sample
  23.   4.3.1     Controlling playback
  24.   4.3.2     Volume
  25.   4.3.3     Mono-echo mode
  26.   4.3.4     Section mode
  27.   4.3.5     Looping mode
  28.   4.4     Converting the sample to another format
  29.   4.4.1     Options
  30.   4.5     Preferences
  31.   4.5.1     Default conversion format
  32.   4.5.2     Default raw interpretation
  33.   4.5.3     Auto actions on load
  34.   4.5.4     File naming
  35.   4.5.5     Sound configuration
  36.   4.5.6     General options
  37.   4.6     Queue processing
  38.   4.6.1     Loading the queue
  39.   4.6.2     Loading a queued sample
  40.   4.6.3     Batch conversion
  41.   4.6.4     The queue menu
  42.   4.7     Using SoundCon with ArcWeb
  43.   5     History/Future
  44.   6     Problems?
  45.   7     Acknowledgements
  46.  
  47.  
  48.  
  49. 1. Summary
  50. ==========
  51.  
  52. SoundCon is an application for basic sound sample format conversion on the
  53. Archimedes. It can read and write samples in a variety of formats common on
  54. various computer platforms and can directly playback most the formats it can
  55. read (without converting it first). An important feature of SoundCon is that
  56. all processing and playback is done from disc meaning that the only memory
  57. required is for the application itself and there is no limit to the sample
  58. size.
  59.  
  60. As of version 1.40 SoundCon can respond to render requests from ArcWeb so
  61. that WWW sounds can be played by just clicking on them.
  62.  
  63. See the version history in the !SoundCon.Docs.HistFuture file for a summary
  64. of changes and additions to this version.
  65.  
  66.  
  67. 2. Other documentation
  68. ======================
  69.  
  70. The Docs directory within !SoundCon contains further information on the
  71. PlaySample module, the various sound formats supported, version history and
  72. possible/probable future developments. The Formats file contains format
  73. descriptions, what sub-formats are and aren't supported, limitations of them
  74. and which ones can be played without conversion.
  75.  
  76. Interactive help is supported. Theoretically, you should be able to stop
  77. reading this now and use that.
  78.  
  79.  
  80. 3. Supported formats
  81. ====================
  82.  
  83.    Major formats       sub-formats
  84.  
  85.    Audio IFF           8/16 bit, mono/stereo
  86.    Armadeus            n/a (8 bit mono signed linear)
  87.    ARMovie             8/16 bit, (un)signed linear, VIDC, mono/stereo
  88.    Sun Audio           8 bit A/µ-law, 8 bit lin, 16 bit lin, mono/stereo
  89.    AudioWorks          8/16 bit (un)signed, A/µ-law, VIDC, mono/stereo
  90.    Datavox             8/16 bit (un)signed, µ-law, VIDC, mono/stereo
  91.    IFF/8SVX            n/a (8 bit mono signed linear)
  92.    Psion S3a           n/a (8 bit mono A-law 8kHz)
  93.    VOC                 n/a (8 bit mono unsigned linear)
  94.    Voice modules       4 volume modes, fixed/var frequency, voice/transient
  95.    RIFF WAVE           8/16 bit PCM, A/µ-law, MS/DVI ADPCM, mono/stereo
  96.    Raw data            8/16 bit, (un)signed lin, A/µ-law, VIDC, mono/stereo
  97.  
  98. For more information on these formats see the file Docs.Formats which
  99. describes in more details what the formats can support and what the menu
  100. sub-options do.
  101.  
  102.  
  103.                               =================
  104.                               4. Using SoundCon
  105.                               =================
  106.  
  107. 4.1  Loading a sample
  108. =====================
  109.  
  110. SoundCon is sample converter so it can't do anything until you give a
  111. sample. Drag a file onto the icon bar icon or any of it's windows to 'open'
  112. the sample. The settings of the preferences may cause some actions to happen
  113. automatically at this point (see later) but the default is not do anything
  114. except open the sample information window (click select on the icon bar icon
  115. to open it if you need to). This window displays information about the file
  116. loaded. If the format is not recognised (or a recognisable format is
  117. unsupported - WAVEs have several such formats) then an error message is
  118. reported and sample is loaded as raw data.
  119.  
  120.  
  121. 4.2  Changing the interpretation
  122. ================================
  123.  
  124. Recognised formats will not usually have to be fiddled with but raw data
  125. will probably have to have the interpretation of the data changed to make
  126. it sound right - this is largely a trial and error process.
  127.  
  128. At the bottom of the sample info window (click on Toggle Size or scroll
  129. down) there is the interpretation format and frequency - use the pop-up
  130. menus to change these. The format selections are summarised by interactive
  131. help (if your version of RISC OS isn't too old) and described in more detail
  132. in the file Docs.Formats.
  133.  
  134. The interpretation frequency sets how many sample frames per second to
  135. assume. A sample frame is the samples on all channels at any given point and
  136. so frames per second means samples per channel per second. The menu provides
  137. a list of common frequencies as well as a writable entry for other
  138. frequencies.
  139.  
  140.  
  141. 4.3  Listening to the sample
  142. ============================
  143.  
  144. The playback control window can be opened by clicking Adjust on the icon bar
  145. icon or by selecting the menu item in the sample info window or icon bar
  146. menus. The sample will be played based on the format and frequency set in the
  147. Interpret As section of the sample info window. An exception to this are
  148. samples that cannot be interpreted as raw data by SoundCon (ADPCM and
  149. Audioworks formats) which can only be played in their original format.
  150.  
  151. Note that the ADPCM play routines are quite CPU intensive (since they
  152. decompress on the fly) and the sound quality will probably suffer when
  153. interrupts are used heavily (eg lots of disc activity).
  154.  
  155.  
  156. 4.3.1  Controlling playback
  157.  
  158. The CD-style buttons control the playback and their use should is as follows:
  159.  
  160.   o    Stop. Stop a sample playing and reset the position to the start.
  161.   >    Play. Start playing a sample. Also unpauses if paused.
  162.   ||   Pause. Stop playing but retain the current position. Click again to
  163.        resume playback.
  164.   <<   Rewind. Move the position back by 1/100th of the sample length and
  165.        return to play or pause as appropriate. If sample is stopped then
  166.        pause mode is entered. Holding the button down 
  167.   >>   Cue. As rewind but move forward 1/100th of the sample length.
  168.   |<<  Previous sample. If the play position is near or at the beginning and
  169.        the queue pointer is not on the first entry then the previous sample
  170.        is loaded. If the play position is *not* near the beginning then it
  171.        rewinds to the start.
  172.   >>|  If the queue pointer is not at the end of the queue then the next
  173.        queued item is loaded.
  174.  
  175. The slider marking the sample progress can be dragged around as an
  176. alternative to setting the sample position with the cue and rewind buttons.
  177. Play or pause is resumed as appropriate. If the sample has not been started
  178. then pause mode is entered.
  179.  
  180. 4.3.2  Volume
  181.  
  182. The volume slider on the right controls the volume and the speaker button
  183. (top button) toggles the speaker on and off. If the volume is changed or the
  184. speaker toggled from another application then SoundCon updates the volume
  185. slider and speaker button automatically. Note though that the volume is
  186. independant of the normal system volume so other system-volume controllers
  187. will have no effect.
  188.  
  189. The percentage above the volume slider shows the volume that will be used
  190. when the slider is pushed right to the top. If you click on it, it will
  191. switch between 100% and 200%; the latter mode allowing a sample to be
  192. amplified. Distortion due to clipping will occur if the sample is amplified
  193. too much.
  194.  
  195. The writable icon box beside the volume slider is the numeric setting of the
  196. volume. You can type in a value here to set the volume if you wish.
  197.  
  198. 4.3.3  Mono-echo mode
  199.  
  200. Mono samples can be played with a simulated stereo effect by having two
  201. channels playing the same thing with one lagging slightly behind the other.
  202. Click on the mono echo button (under the speaker button) to toggle this
  203. feature on and off. The echo delay is set in the preferences. This option has
  204. no effect on stereo samples and has not been implemented for ADPCM formats.
  205.  
  206. 4.3.4  Section mode
  207.  
  208. Clicking the third button from the top toggles section mode. When off, a
  209. sample will start from the beginning and play right through to the end as
  210. expected. When on, the start and end can be set within the sample to play
  211. only the selected section. Hopefully, in a later version this will also be
  212. used to convert a section of the sample. Currently it only effects playback.
  213.  
  214. The start and end times can only be set when section mode is on. To change
  215. them, either click on the start or end time and enter a valid time index or
  216. drag the section markers underneath the progress bar. To accept a typed-in
  217. time, move the caret off the field or click on play. The section markers will
  218. move to reflect the entered time.
  219.  
  220. Note that the start and end times are subject to cueing restrictions imposed
  221. by sample formats so that the time may be 'rounded' to a nearby time.
  222. Currently ADPCM samples are only formats that can't be cueued to an arbitrary
  223. position. The cue step size depends on the ADPCM block size.
  224.  
  225. 4.3.5  Looping mode
  226.  
  227. Clicking the bottom button toggles looping mode. When off, the sample (or
  228. section off) plays and stops as normal. When on, the sample will restart when
  229. it reaches the end and play ad infinitum. Pressing the stop button to make it
  230. stop.
  231.  
  232. Currently restarting is done by the application (as opposed to being done
  233. automatically by the play module) with the effect that restart may not be
  234. immediate if the wimp is busy.
  235.  
  236.  
  237.  
  238. 4.4  Converting the sample to another format
  239. ============================================
  240.  
  241. Open the conversion window from the info window or icon bar menus. The
  242. current destination format is shown with the usual elements of a save box.
  243. Change the format, sample rate and filename (if current settings are not
  244. suitable) and drag the icon to where you want the new sample to be or click
  245. OK/press Return if a complete path is already present. The conversion
  246. progress window will open and the conversion will occur in the background.
  247. The conversion can be paused if you need the computer to be more responsive
  248. for a while or aborted by clicking the appropriate button.
  249.  
  250. The filename initially present in the convert window will depend on the
  251. preferences (see Preferences for options).
  252.  
  253. The conversion produces a sample (in the specified format) so that playing
  254. it at the speed set in the 'Rate' box will sound the same as the original
  255. sample played at the speed set the 'Frequency' box of the 'Interpret As'
  256. section. That is, the sample is resampled at the new frequency. If the
  257. frequencies are different then new samples are generated by linearly
  258. interpolating between the original samples.
  259.  
  260. 4.4.1  Options
  261.  
  262. Clicking Menu in the conversion window to see the conversion options. (In a
  263. future version, there will be more options and they will probably displayed
  264. in the window).
  265.  
  266.   - Auto chnls. When this is selected, loading a new sample causes the
  267.     default output format to have the same number of channels as the source,
  268.     if the output format permits. This can also be set in the preferences but
  269.     toggling it here does not effect the preference setting.
  270.     
  271.   - Stereo>Mono. Converting from stereo to mono can be done in one of three
  272.     ways (selected in the sub-menu):
  273.     
  274.     - Mix. The channels are mixed by averaging the instantaneous amplitudes.
  275.     - Left. The left channel is extracted and the right channel is ignored.
  276.     - Right. The right channel is extracted and the left channel is ignored.
  277.  
  278. See the file Docs.Formats for a description of the supported formats and
  279. their sub formats.
  280.  
  281.  
  282. 4.5  Preferences
  283. ================
  284.  
  285. The preferences dialogue is opened from the icon-bar menu. It allows SoundCon
  286. to be customised to some extent. Any changes you make have no effect until
  287. one of the buttons at the bottom the main window are pressed:
  288.  
  289.   - Save. Make the change take effect and save them them to disc. Next time
  290.     SoundCon is loaded the saved preferences will be loaded. Clicking with
  291.     select, closes the window. Clicking with adjust keeps the window open.
  292.     
  293.   - OK. Make the changes take effect. Clicking with select, closes the
  294.     window. Clicking with adjust keeps the window open.
  295.     
  296.   - Cancel (also window close icon). Throw away changes and close the window.
  297.  
  298.  
  299. 4.5.1  Default Conversion format
  300.  
  301. This controls what output format will initially be in the conversion save box
  302. when the program is loaded. This format may also be set on loading a new
  303. sample (see Auto Load Actions below). The effect of these settings is
  304. described in 'Converting a sample' above.
  305.  
  306.  
  307. 4.5.2  Interpret Unknown As
  308.  
  309. When an unrecogised sample is loaded, the data will be initially interpreted
  310. according the settings in this box. The pop-up menus are identical to those
  311. for the Interpret As part of the info window (see 'Changing The
  312. Interpretation' above).
  313.  
  314.  
  315. 4.5.3  Auto Actions On Load
  316.  
  317. Any combination (including none) of the following actions are performed when
  318. a new sample is opened.
  319.  
  320.   - Open info window: The window displaying the information on the sample is
  321.     opened.
  322.  
  323.   - Open convert window: The conversion/save window is opened.
  324.  
  325.   - Open play window: The play control window is opened.
  326.  
  327.   - Default format: The format and frequency used for the output sample is
  328.     set from the Default Conversion Format part of the preferences.
  329.  
  330.   - Convert: The conversion process is started using the format and filename
  331.     determined from other preference settings.
  332.  
  333.   - Play: The sample is played.
  334.  
  335. If either convert or play (or both) are selected and there is at least one
  336. sample in the queue then the sample is cleared after the respective operation
  337. has completed to allow the next queued sample to be processed automatically.
  338. If convert AND play are selected then the sample is cleared after both have
  339. finished.
  340.  
  341.  
  342. 4.5.4  File naming
  343.  
  344. These options control what filename will appear in the conversion/save box
  345. when a new sample is opened:
  346.  
  347.   - Do not update name: The writable icon is left the same as when it was
  348.     last used.
  349.  
  350.   - New leaf with previous path: Everything up to the last '.' is preserved
  351.     and remainder (the leaf) is replaced with the leaf name of the source
  352.     sample. This is the only useful file naming option for queue processing.
  353.  
  354.   - New leaf-only name: The filename is set to the leaf name of the source
  355.     sample.
  356.  
  357.   - Add/change extentions: When this option is set an extension of the form
  358.     '/XXX' is appended to the filename (after one is generated from the
  359.     above options). XXX is an MS-DOS like abbreviation like WAV, AIF, RAW
  360.     etc. The leaf is not truncated to 10 characters in case you want to copy
  361.     it to a filing system supporting longer filenames.
  362.  
  363. If the auto-convert option and 'New leaf with previous path' is not selected
  364. then a warning is displayed when you exit the preferences window because
  365. queue processing can only be done with that option set. (no update can be
  366. used but all the samples will overwrite each other!)
  367.  
  368.     
  369. 4.5.5  Sound
  370.  
  371. This section specifies how to set up the sound system on loading SoundCon:
  372.  
  373.   - Set volume: If this option is set then the playback volume is set
  374.     according the slider below otherwise it is left unchanged. Note that
  375.     this only affects the volume for the PlaySample module which is
  376.     independant of the normal system volume.
  377.  
  378.   - Don't set speaker: The speaker is left in the current state (on or off).
  379.  
  380.   - Speaker off: The speaker is switched off.
  381.  
  382.   - Speaker on: The speaker is switched on.
  383.   
  384.   - Mono echo: Set the delay between channels in centiseconds (0-99) for a
  385.     simulated stereo effect on mono samples. If this mode is not selected
  386.     then mono samples are played using one channel only. This option has no
  387.     effect on stereo playback or ADPCM formats. The actual delay is limited
  388.     to 2048 sample frames so the maximum delay in seconds is 2048/rate. eg at
  389.     11111Hz 2048/11111 = 18cs. This option is enabled and disabled in the
  390.     playback window.
  391.     
  392.   - Frequency modulation: Select whether to control the frequency accurately
  393.     using frequency modulation. When on, sound is played at the current
  394.     sound system frequency and the sample stream is modulated to keep the
  395.     required pace. When off, the sound system frequency is set as close as
  396.     possible to the frequency required by the sample and the sample stream is
  397.     sent verbatum.
  398.     
  399.     The advantage of frequency modulation is precise frequency control
  400.     including correction for VIDC speeds that normally cause speed problems.
  401.     There may be some slight noise associated with the modulation which is
  402.     why the unmodulated option is present; the sample will be as clean as
  403.     possible but probably too fast or slow depending on how close the sample
  404.     frequency is to the nearest sound system frequency.
  405.  
  406.  
  407. 4.5.6  General
  408.  
  409. Miscellaneous options
  410.  
  411.   - Dble click load: SoundCon repsonds to the Dataload message allowing it to
  412.     load samples by double clicking on them. It attempts to load any file
  413.     that is 'launched'. If it recognises it, loads it otherwise it is ignored
  414.     so other applications still get a look in.
  415.     
  416.   - ArcWeb render: When this option is set, SoundCon responds to rendering
  417.     requests from ArcWeb. If the file to be rendered is a recognised sound
  418.     format and SoundCon is idle then it will be loaded and played.
  419.     
  420.   - Auto Set Type: This allows files recognised by contents to be given the
  421.     correct filetype when they are loaded (if the filing system permits). No
  422.     action is taken if the format is unrecognised.
  423.  
  424.   - Auto #chnls: When selected, the number of channels in the output format
  425.     will be set to the number of channels in the source (if the format
  426.     permits). This happens when the sample is first loaded and can still be
  427.     changed manually.
  428.     
  429.   - Dequeue on use: When files are taken from the queue and 'loaded' as the
  430.     current sample, this option determines whether the entry will be removed
  431.     from the queue (option on) or not.
  432.  
  433.   - Font: This sets the font that SoundCon will use for all its text. RiscOS
  434.     3.5 (and above) users should leave this set to 'system font' so that the
  435.     OS will use the current desktop font. Apparantly there is a bug in RO3.5
  436.     that causes font problems if an outline font is used in the slab buttons.
  437.     This feature is mainly for use in OS versions before 3.5. Note that if
  438.     you have *lots* of fonts the menu won't display all of them.
  439.     
  440.   - Sprites: The set of sprites used (they're only used in the playback
  441.     window currently) can be selected from the pop-up menu. If a square-pixel
  442.     (hi-res, 22 suffix) sprite file exists and you are using a square-pixel
  443.     mode then that is loaded. If you are not using a sqaure-pixel mode or the
  444.     '22 file does not exist then the lo-res (mode 12) sprites are loaded
  445.     instead.
  446.  
  447.  
  448. 4.6  Queue processing
  449. =====================
  450.  
  451. SoundCon can process a queue of samples as well as single samples; this is
  452. so that a whole bunch of samples can be converted (or played) without user
  453. intervention. The restrictions are that all the samples in the batch will be
  454. converted to the same format and will all be placed in the same directory.
  455.  
  456.  
  457. 4.6.1  Loading the queue
  458.  
  459. One or more samples may be explicitly loaded into the queue by dragging
  460. it/them into the queue window (opened from the icon bar menu). If more than
  461. one sample is dragged to into SoundCon (to any window, or the icon-bar) then
  462. the first will be dealt with normally (ie as if it was a single file) and the
  463. rest will be queued automatically.
  464.  
  465.  
  466. 4.6.2  Loading a queued sample
  467.  
  468. The queue works on the principle that when there is no sample open, the one
  469. at queue pointer is opened (and removed from the queue if dequeueing is
  470. selected). The current sample will be cleared and a new new loaded from
  471. the queue when:
  472.  
  473.   - You clear it manually from the menu in the Sample Info window.
  474.   - The 'next track' button is pressed in the play window.
  475.   - You double-click on a queue entry.
  476.   - A sample has finished converting and the 'Auto Actions on Load/Convert'
  477.     option is set from the preferences.
  478.   - A sample has finished playing and the 'Auto Actions on Load/Play' option
  479.     is set from the preferences.
  480.     
  481. All but the first instance do nothing if the queue pointer is not pointing to
  482. anything (eg, queue empty or end-of-queue) so that the last sample in the
  483. queue remains the current sample.
  484.  
  485. The queue pointer can be set manually by clicking on a queue entry.
  486.  
  487.  
  488. 4.6.3  Batch conversion
  489.  
  490. If SoundCon is set to auto-convert on load, all the files in the queue
  491. will convert automatically. Note however that when the first file is opened
  492. the warning message 'To save, drag the file to a directory display' is
  493. displayed. The first file needs to be dragged manually to determine where to
  494. save the samples. You should also select what you want them all converted
  495. to at this point. A result of this is that conversion can only progress
  496. automatically if the file naming method is set to 'New leaf with previous
  497. path' otherwise the warning will be given for every file or the files will
  498. all have the same name and overwrite each other. If you select auto-convert
  499. and the file naming is set to something inappopriate, you are warned when
  500. you close the preferences window.
  501.  
  502. You will need to change the format and output path (if necessary) before you
  503. load the queue a second time because there will now be suitable defaults to
  504. begin conversion immediately. Alternatively, clear the filename or the entire
  505. sample to set things up after the queue is loaded.
  506.  
  507.  
  508. 4.6.4  The queue menu
  509.  
  510. When the menu button is pressed in the queue window the selected entry is
  511. highlighted and the menu entries above the dividing line operate on that
  512. entry.
  513.  
  514.   - Delete: The selected entry is removed from the queue.
  515.   
  516.   - Delete to start: All entries *before* the selected entry are removed
  517.     making the selected entry the first one in the queue.
  518.   
  519.   - Delete to end: All entries from the selected entry onward are removed.
  520.   
  521.   - Clear queue: All entries are removed from the queue.
  522.   
  523.   - Shuffle: The queue entries are arranged randomly (for if you want to use
  524.     SoundCon like a CD player).
  525.   
  526.   - Remove on use: A toggling option to select whether entries should be
  527.     removed from the queue when they are used or not. This is the same as the
  528.     preference option 'dequeue on use'.
  529.   
  530.   - Save queue: A particular group of samples (the queue) can be saved to be
  531.     loaded back into SoundCon later. Currently the only way to re-load a
  532.     saved queue is to double-click on it while SoundCon is loaded.
  533.  
  534.  
  535. 4.7  Using SoundCon with ArcWeb
  536. ===============================
  537.  
  538. From version 1.40 SoundCon can play samples for ArcWeb by responding to its
  539. rendering requests. The 'ArcWeb render' preference must be set and SoundCon
  540. must be idle (ie not converting or playing another sample) to repsond to
  541. ArcWeb requests because it 'loads' the sound as its current sound which would
  542. mean halting any previous activity. While the sound is 'loaded' it can be
  543. converted/saved or played again until a new sound is loaded or it disappears
  544. from the ArcWeb cache.
  545.  
  546.  
  547. 5. History/Future
  548. =================
  549.  
  550. See the file !SoundCon.Docs.HistFuture
  551.  
  552.  
  553. 6. Problems?
  554. ============
  555.  
  556. I have tried to ensure that SoundCon can process a wide variety of sample
  557. formats and sub-formats and because of this it has been hard to find original
  558. files to test them all with. Please let me know (e-mail address below) if you
  559. encounter a sample that SoundCon doesn't process correctly; several small
  560. bugs have been fixed because of this kind of feedback. I'd also be interested
  561. to hear if there are any other unsupported formats that could be included in
  562. SoundCon's repertoire; bearing in mind that I need some information about the
  563. format before I can implement it.
  564.  
  565. The file !SoundCon.Docs.HistFuture lists known bugs/features and additions
  566. being considered for future versions.
  567.  
  568.  
  569. 7. Acknowledgements
  570. ===================
  571.  
  572. Thanks to the following people who mades useful suggestions, supplied
  573. information or did testing:
  574.  
  575. Andrew (what is your other name anyway?!), Stewart Brodie, Trevor Johnson,
  576. Jasper Wallace, John Brand, Are Leistad, Nick Bannon, Chris Poole and Matthew
  577. Norrie for the much needed sprites!
  578.  
  579.  
  580.  
  581. Rick Hudson
  582. rick@actrix.gen.nz
  583.