ctr_WaveConverter

Description

ctr_WaveConverter is a tool for converting general-purpose waveform file formats (WAV, AIF, AIFF) into the CTR waveform file format (BCWAV).

With the nn::snd::Bcwav class API you can extract metadata or sample data from BCWAV files.

Using the Tool

Commands

% ctr_WaveConverter32.exe [option...] file...

You must specify file (the input file or files). All other options are optional.

Options

OptionsDescription
--pcm16 Uses the 16-bit PCM encoder.
--pcm8 Uses the 8-bit PCM encoder.
--dspadpcm Uses the DSP ADPCM encoder. [Default]
--imaadpcm Uses the IMA ADPCM encoder.
--loopStart <loopStartFrame> Specifies the loop start frame. This option may be omitted.
--loopEnd <loopEndFrame or "end"> Specifies the loop end frame. This option may be omitted.
-o <filename> Specifies the output filename. This option may be omitted.
-v, --verbose Displays a log at runtime.
-u, --update Converts files only if the input files are more recent than the output files.
-h, --help Displays help.

If the encoder type is not specified, the DSP ADPCM encoder is used by default.

You can specify multiple input files. However, if you use the option to specify an output filename (-o filename), the output files, having the same filename, will overwrite each other until only the file created by converting the last-specified input file remains.

If you do not specify an output filename using the -o option, the output filename will include the encoding type before their extension.
Example for PCM16: sound.wavsound.pcm16.bcwav

Loop frames can be specified using the --loopStart and --loopEnd options. If not specified, and loop frames are specified in the .wav/.aiff file, information in the file is used. If specified, any loop frame specifications in the .wav/.aiff file are ignored. Although loop frames are usually specified as a numeric value, a specification of the form "--loopEnd end" can be made when you want to use the last sample of a waveform as the loop end.

Loop frames are counted from 0. In other words, "0" indicates the first sample, while "100" indicates the 101st sample. In addition, the sample specified as the loop end frame is not played back. (The sample immediately before the loop end frame is the last sample played.)

For example, assume a 100-sample wave form. Specify --loopStart 90 --loopEnd 96 to loop between frames 90 through 95 (0, 1, ... 88, 89, 90, 91, 92, 93, 94, 95, 90, 91, 92, 93, 94, 95, 90, 91, ...).

DSP ADPCM achieves a compressed waveform size of 1/3.5 compared to 16-bit PCM.

IMA ADPCM achieves a compressed waveform size of 1/4 compared to 16-bit PCM. However, playback features for IMA ADPCM have not been publicly disclosed in a standard application development environment.

Revision History

2010/09/15
Added the --loopStart and --loopEnd options
2010/08/30
Changed "nn::snd::Bcwav namespace" to "nn::snd::Bcwave class".
2010/06/23
Initial version.

CONFIDENTIAL