home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Acorn User 2
/
AUCD2.iso
/
internet
/
soundcon.spk
/
!SoundCon
/
!Help
< prev
next >
Wrap
Text File
|
1995-09-26
|
25KB
|
583 lines
S o u n d C o n
=================
version 1.60, 1-09-95
by Rick Hudson
This software is FreeWare. It must only be distrubuted in its original form
and there must be no charge for it (except possibly for covering media
costs). No part of this application (including the PlaySample module) may be
distributed separately from SoundCon without my prior permission.
Contents
========
1 Summary
2 Other documentation
3 Supported formats
4 Using SoundCon
4.1 Loading a sample
4.2 Changing the interpretation
4.3 Listening to the sample
4.3.1 Controlling playback
4.3.2 Volume
4.3.3 Mono-echo mode
4.3.4 Section mode
4.3.5 Looping mode
4.4 Converting the sample to another format
4.4.1 Options
4.5 Preferences
4.5.1 Default conversion format
4.5.2 Default raw interpretation
4.5.3 Auto actions on load
4.5.4 File naming
4.5.5 Sound configuration
4.5.6 General options
4.6 Queue processing
4.6.1 Loading the queue
4.6.2 Loading a queued sample
4.6.3 Batch conversion
4.6.4 The queue menu
4.7 Using SoundCon with ArcWeb
5 History/Future
6 Problems?
7 Acknowledgements
1. Summary
==========
SoundCon is an application for basic sound sample format conversion on the
Archimedes. It can read and write samples in a variety of formats common on
various computer platforms and can directly playback most the formats it can
read (without converting it first). An important feature of SoundCon is that
all processing and playback is done from disc meaning that the only memory
required is for the application itself and there is no limit to the sample
size.
As of version 1.40 SoundCon can respond to render requests from ArcWeb so
that WWW sounds can be played by just clicking on them.
See the version history in the !SoundCon.Docs.HistFuture file for a summary
of changes and additions to this version.
2. Other documentation
======================
The Docs directory within !SoundCon contains further information on the
PlaySample module, the various sound formats supported, version history and
possible/probable future developments. The Formats file contains format
descriptions, what sub-formats are and aren't supported, limitations of them
and which ones can be played without conversion.
Interactive help is supported. Theoretically, you should be able to stop
reading this now and use that.
3. Supported formats
====================
Major formats sub-formats
Audio IFF 8/16 bit, mono/stereo
Armadeus n/a (8 bit mono signed linear)
ARMovie 8/16 bit, (un)signed linear, VIDC, mono/stereo
Sun Audio 8 bit A/µ-law, 8 bit lin, 16 bit lin, mono/stereo
AudioWorks 8/16 bit (un)signed, A/µ-law, VIDC, mono/stereo
Datavox 8/16 bit (un)signed, µ-law, VIDC, mono/stereo
IFF/8SVX n/a (8 bit mono signed linear)
Psion S3a n/a (8 bit mono A-law 8kHz)
VOC n/a (8 bit mono unsigned linear)
Voice modules 4 volume modes, fixed/var frequency, voice/transient
RIFF WAVE 8/16 bit PCM, A/µ-law, MS/DVI ADPCM, mono/stereo
Raw data 8/16 bit, (un)signed lin, A/µ-law, VIDC, mono/stereo
For more information on these formats see the file Docs.Formats which
describes in more details what the formats can support and what the menu
sub-options do.
=================
4. Using SoundCon
=================
4.1 Loading a sample
=====================
SoundCon is sample converter so it can't do anything until you give a
sample. Drag a file onto the icon bar icon or any of it's windows to 'open'
the sample. The settings of the preferences may cause some actions to happen
automatically at this point (see later) but the default is not do anything
except open the sample information window (click select on the icon bar icon
to open it if you need to). This window displays information about the file
loaded. If the format is not recognised (or a recognisable format is
unsupported - WAVEs have several such formats) then an error message is
reported and sample is loaded as raw data.
4.2 Changing the interpretation
================================
Recognised formats will not usually have to be fiddled with but raw data
will probably have to have the interpretation of the data changed to make
it sound right - this is largely a trial and error process.
At the bottom of the sample info window (click on Toggle Size or scroll
down) there is the interpretation format and frequency - use the pop-up
menus to change these. The format selections are summarised by interactive
help (if your version of RISC OS isn't too old) and described in more detail
in the file Docs.Formats.
The interpretation frequency sets how many sample frames per second to
assume. A sample frame is the samples on all channels at any given point and
so frames per second means samples per channel per second. The menu provides
a list of common frequencies as well as a writable entry for other
frequencies.
4.3 Listening to the sample
============================
The playback control window can be opened by clicking Adjust on the icon bar
icon or by selecting the menu item in the sample info window or icon bar
menus. The sample will be played based on the format and frequency set in the
Interpret As section of the sample info window. An exception to this are
samples that cannot be interpreted as raw data by SoundCon (ADPCM and
Audioworks formats) which can only be played in their original format.
Note that the ADPCM play routines are quite CPU intensive (since they
decompress on the fly) and the sound quality will probably suffer when
interrupts are used heavily (eg lots of disc activity).
4.3.1 Controlling playback
The CD-style buttons control the playback and their use should is as follows:
o Stop. Stop a sample playing and reset the position to the start.
> Play. Start playing a sample. Also unpauses if paused.
|| Pause. Stop playing but retain the current position. Click again to
resume playback.
<< Rewind. Move the position back by 1/100th of the sample length and
return to play or pause as appropriate. If sample is stopped then
pause mode is entered. Holding the button down
>> Cue. As rewind but move forward 1/100th of the sample length.
|<< Previous sample. If the play position is near or at the beginning and
the queue pointer is not on the first entry then the previous sample
is loaded. If the play position is *not* near the beginning then it
rewinds to the start.
>>| If the queue pointer is not at the end of the queue then the next
queued item is loaded.
The slider marking the sample progress can be dragged around as an
alternative to setting the sample position with the cue and rewind buttons.
Play or pause is resumed as appropriate. If the sample has not been started
then pause mode is entered.
4.3.2 Volume
The volume slider on the right controls the volume and the speaker button
(top button) toggles the speaker on and off. If the volume is changed or the
speaker toggled from another application then SoundCon updates the volume
slider and speaker button automatically. Note though that the volume is
independant of the normal system volume so other system-volume controllers
will have no effect.
The percentage above the volume slider shows the volume that will be used
when the slider is pushed right to the top. If you click on it, it will
switch between 100% and 200%; the latter mode allowing a sample to be
amplified. Distortion due to clipping will occur if the sample is amplified
too much.
The writable icon box beside the volume slider is the numeric setting of the
volume. You can type in a value here to set the volume if you wish.
4.3.3 Mono-echo mode
Mono samples can be played with a simulated stereo effect by having two
channels playing the same thing with one lagging slightly behind the other.
Click on the mono echo button (under the speaker button) to toggle this
feature on and off. The echo delay is set in the preferences. This option has
no effect on stereo samples and has not been implemented for ADPCM formats.
4.3.4 Section mode
Clicking the third button from the top toggles section mode. When off, a
sample will start from the beginning and play right through to the end as
expected. When on, the start and end can be set within the sample to play
only the selected section. Hopefully, in a later version this will also be
used to convert a section of the sample. Currently it only effects playback.
The start and end times can only be set when section mode is on. To change
them, either click on the start or end time and enter a valid time index or
drag the section markers underneath the progress bar. To accept a typed-in
time, move the caret off the field or click on play. The section markers will
move to reflect the entered time.
Note that the start and end times are subject to cueing restrictions imposed
by sample formats so that the time may be 'rounded' to a nearby time.
Currently ADPCM samples are only formats that can't be cueued to an arbitrary
position. The cue step size depends on the ADPCM block size.
4.3.5 Looping mode
Clicking the bottom button toggles looping mode. When off, the sample (or
section off) plays and stops as normal. When on, the sample will restart when
it reaches the end and play ad infinitum. Pressing the stop button to make it
stop.
Currently restarting is done by the application (as opposed to being done
automatically by the play module) with the effect that restart may not be
immediate if the wimp is busy.
4.4 Converting the sample to another format
============================================
Open the conversion window from the info window or icon bar menus. The
current destination format is shown with the usual elements of a save box.
Change the format, sample rate and filename (if current settings are not
suitable) and drag the icon to where you want the new sample to be or click
OK/press Return if a complete path is already present. The conversion
progress window will open and the conversion will occur in the background.
The conversion can be paused if you need the computer to be more responsive
for a while or aborted by clicking the appropriate button.
The filename initially present in the convert window will depend on the
preferences (see Preferences for options).
The conversion produces a sample (in the specified format) so that playing
it at the speed set in the 'Rate' box will sound the same as the original
sample played at the speed set the 'Frequency' box of the 'Interpret As'
section. That is, the sample is resampled at the new frequency. If the
frequencies are different then new samples are generated by linearly
interpolating between the original samples.
4.4.1 Options
Clicking Menu in the conversion window to see the conversion options. (In a
future version, there will be more options and they will probably displayed
in the window).
- Auto chnls. When this is selected, loading a new sample causes the
default output format to have the same number of channels as the source,
if the output format permits. This can also be set in the preferences but
toggling it here does not effect the preference setting.
- Stereo>Mono. Converting from stereo to mono can be done in one of three
ways (selected in the sub-menu):
- Mix. The channels are mixed by averaging the instantaneous amplitudes.
- Left. The left channel is extracted and the right channel is ignored.
- Right. The right channel is extracted and the left channel is ignored.
See the file Docs.Formats for a description of the supported formats and
their sub formats.
4.5 Preferences
================
The preferences dialogue is opened from the icon-bar menu. It allows SoundCon
to be customised to some extent. Any changes you make have no effect until
one of the buttons at the bottom the main window are pressed:
- Save. Make the change take effect and save them them to disc. Next time
SoundCon is loaded the saved preferences will be loaded. Clicking with
select, closes the window. Clicking with adjust keeps the window open.
- OK. Make the changes take effect. Clicking with select, closes the
window. Clicking with adjust keeps the window open.
- Cancel (also window close icon). Throw away changes and close the window.
4.5.1 Default Conversion format
This controls what output format will initially be in the conversion save box
when the program is loaded. This format may also be set on loading a new
sample (see Auto Load Actions below). The effect of these settings is
described in 'Converting a sample' above.
4.5.2 Interpret Unknown As
When an unrecogised sample is loaded, the data will be initially interpreted
according the settings in this box. The pop-up menus are identical to those
for the Interpret As part of the info window (see 'Changing The
Interpretation' above).
4.5.3 Auto Actions On Load
Any combination (including none) of the following actions are performed when
a new sample is opened.
- Open info window: The window displaying the information on the sample is
opened.
- Open convert window: The conversion/save window is opened.
- Open play window: The play control window is opened.
- Default format: The format and frequency used for the output sample is
set from the Default Conversion Format part of the preferences.
- Convert: The conversion process is started using the format and filename
determined from other preference settings.
- Play: The sample is played.
If either convert or play (or both) are selected and there is at least one
sample in the queue then the sample is cleared after the respective operation
has completed to allow the next queued sample to be processed automatically.
If convert AND play are selected then the sample is cleared after both have
finished.
4.5.4 File naming
These options control what filename will appear in the conversion/save box
when a new sample is opened:
- Do not update name: The writable icon is left the same as when it was
last used.
- New leaf with previous path: Everything up to the last '.' is preserved
and remainder (the leaf) is replaced with the leaf name of the source
sample. This is the only useful file naming option for queue processing.
- New leaf-only name: The filename is set to the leaf name of the source
sample.
- Add/change extentions: When this option is set an extension of the form
'/XXX' is appended to the filename (after one is generated from the
above options). XXX is an MS-DOS like abbreviation like WAV, AIF, RAW
etc. The leaf is not truncated to 10 characters in case you want to copy
it to a filing system supporting longer filenames.
If the auto-convert option and 'New leaf with previous path' is not selected
then a warning is displayed when you exit the preferences window because
queue processing can only be done with that option set. (no update can be
used but all the samples will overwrite each other!)
4.5.5 Sound
This section specifies how to set up the sound system on loading SoundCon:
- Set volume: If this option is set then the playback volume is set
according the slider below otherwise it is left unchanged. Note that
this only affects the volume for the PlaySample module which is
independant of the normal system volume.
- Don't set speaker: The speaker is left in the current state (on or off).
- Speaker off: The speaker is switched off.
- Speaker on: The speaker is switched on.
- Mono echo: Set the delay between channels in centiseconds (0-99) for a
simulated stereo effect on mono samples. If this mode is not selected
then mono samples are played using one channel only. This option has no
effect on stereo playback or ADPCM formats. The actual delay is limited
to 2048 sample frames so the maximum delay in seconds is 2048/rate. eg at
11111Hz 2048/11111 = 18cs. This option is enabled and disabled in the
playback window.
- Frequency modulation: Select whether to control the frequency accurately
using frequency modulation. When on, sound is played at the current
sound system frequency and the sample stream is modulated to keep the
required pace. When off, the sound system frequency is set as close as
possible to the frequency required by the sample and the sample stream is
sent verbatum.
The advantage of frequency modulation is precise frequency control
including correction for VIDC speeds that normally cause speed problems.
There may be some slight noise associated with the modulation which is
why the unmodulated option is present; the sample will be as clean as
possible but probably too fast or slow depending on how close the sample
frequency is to the nearest sound system frequency.
4.5.6 General
Miscellaneous options
- Dble click load: SoundCon repsonds to the Dataload message allowing it to
load samples by double clicking on them. It attempts to load any file
that is 'launched'. If it recognises it, loads it otherwise it is ignored
so other applications still get a look in.
- ArcWeb render: When this option is set, SoundCon responds to rendering
requests from ArcWeb. If the file to be rendered is a recognised sound
format and SoundCon is idle then it will be loaded and played.
- Auto Set Type: This allows files recognised by contents to be given the
correct filetype when they are loaded (if the filing system permits). No
action is taken if the format is unrecognised.
- Auto #chnls: When selected, the number of channels in the output format
will be set to the number of channels in the source (if the format
permits). This happens when the sample is first loaded and can still be
changed manually.
- Dequeue on use: When files are taken from the queue and 'loaded' as the
current sample, this option determines whether the entry will be removed
from the queue (option on) or not.
- Font: This sets the font that SoundCon will use for all its text. RiscOS
3.5 (and above) users should leave this set to 'system font' so that the
OS will use the current desktop font. Apparantly there is a bug in RO3.5
that causes font problems if an outline font is used in the slab buttons.
This feature is mainly for use in OS versions before 3.5. Note that if
you have *lots* of fonts the menu won't display all of them.
- Sprites: The set of sprites used (they're only used in the playback
window currently) can be selected from the pop-up menu. If a square-pixel
(hi-res, 22 suffix) sprite file exists and you are using a square-pixel
mode then that is loaded. If you are not using a sqaure-pixel mode or the
'22 file does not exist then the lo-res (mode 12) sprites are loaded
instead.
4.6 Queue processing
=====================
SoundCon can process a queue of samples as well as single samples; this is
so that a whole bunch of samples can be converted (or played) without user
intervention. The restrictions are that all the samples in the batch will be
converted to the same format and will all be placed in the same directory.
4.6.1 Loading the queue
One or more samples may be explicitly loaded into the queue by dragging
it/them into the queue window (opened from the icon bar menu). If more than
one sample is dragged to into SoundCon (to any window, or the icon-bar) then
the first will be dealt with normally (ie as if it was a single file) and the
rest will be queued automatically.
4.6.2 Loading a queued sample
The queue works on the principle that when there is no sample open, the one
at queue pointer is opened (and removed from the queue if dequeueing is
selected). The current sample will be cleared and a new new loaded from
the queue when:
- You clear it manually from the menu in the Sample Info window.
- The 'next track' button is pressed in the play window.
- You double-click on a queue entry.
- A sample has finished converting and the 'Auto Actions on Load/Convert'
option is set from the preferences.
- A sample has finished playing and the 'Auto Actions on Load/Play' option
is set from the preferences.
All but the first instance do nothing if the queue pointer is not pointing to
anything (eg, queue empty or end-of-queue) so that the last sample in the
queue remains the current sample.
The queue pointer can be set manually by clicking on a queue entry.
4.6.3 Batch conversion
If SoundCon is set to auto-convert on load, all the files in the queue
will convert automatically. Note however that when the first file is opened
the warning message 'To save, drag the file to a directory display' is
displayed. The first file needs to be dragged manually to determine where to
save the samples. You should also select what you want them all converted
to at this point. A result of this is that conversion can only progress
automatically if the file naming method is set to 'New leaf with previous
path' otherwise the warning will be given for every file or the files will
all have the same name and overwrite each other. If you select auto-convert
and the file naming is set to something inappopriate, you are warned when
you close the preferences window.
You will need to change the format and output path (if necessary) before you
load the queue a second time because there will now be suitable defaults to
begin conversion immediately. Alternatively, clear the filename or the entire
sample to set things up after the queue is loaded.
4.6.4 The queue menu
When the menu button is pressed in the queue window the selected entry is
highlighted and the menu entries above the dividing line operate on that
entry.
- Delete: The selected entry is removed from the queue.
- Delete to start: All entries *before* the selected entry are removed
making the selected entry the first one in the queue.
- Delete to end: All entries from the selected entry onward are removed.
- Clear queue: All entries are removed from the queue.
- Shuffle: The queue entries are arranged randomly (for if you want to use
SoundCon like a CD player).
- Remove on use: A toggling option to select whether entries should be
removed from the queue when they are used or not. This is the same as the
preference option 'dequeue on use'.
- Save queue: A particular group of samples (the queue) can be saved to be
loaded back into SoundCon later. Currently the only way to re-load a
saved queue is to double-click on it while SoundCon is loaded.
4.7 Using SoundCon with ArcWeb
===============================
From version 1.40 SoundCon can play samples for ArcWeb by responding to its
rendering requests. The 'ArcWeb render' preference must be set and SoundCon
must be idle (ie not converting or playing another sample) to repsond to
ArcWeb requests because it 'loads' the sound as its current sound which would
mean halting any previous activity. While the sound is 'loaded' it can be
converted/saved or played again until a new sound is loaded or it disappears
from the ArcWeb cache.
5. History/Future
=================
See the file !SoundCon.Docs.HistFuture
6. Problems?
============
I have tried to ensure that SoundCon can process a wide variety of sample
formats and sub-formats and because of this it has been hard to find original
files to test them all with. Please let me know (e-mail address below) if you
encounter a sample that SoundCon doesn't process correctly; several small
bugs have been fixed because of this kind of feedback. I'd also be interested
to hear if there are any other unsupported formats that could be included in
SoundCon's repertoire; bearing in mind that I need some information about the
format before I can implement it.
The file !SoundCon.Docs.HistFuture lists known bugs/features and additions
being considered for future versions.
7. Acknowledgements
===================
Thanks to the following people who mades useful suggestions, supplied
information or did testing:
Andrew (what is your other name anyway?!), Stewart Brodie, Trevor Johnson,
Jasper Wallace, John Brand, Are Leistad, Nick Bannon, Chris Poole and Matthew
Norrie for the much needed sprites!
Rick Hudson
rick@actrix.gen.nz