[Back to Home Page]
www.RomanBlack.com
BTc Sound Encoder 2.0 Software
A self-contained software utility for digital sound encoding.
Roman Black - orig 2001 - v1.0 April 2004, v1.1 web Aug 2006.
v2.0 - web Feb 2008.
What is it?
The BTC Sound Encoder is software I have written for the purpose of
converting sound (in wave files) to a 1-bit format that can be played
back on very cheap hardware, like a microprocessor chip (ie PIC, Atmel,
Motorola etc). The encoding process is based on my
BTc Binary Time Constant algorithm - HERE.
This new windows version 2.0 replaces version 1.1 and my original dos
software version from pre 2004.
Here you can see the original .WAV sound file (green) and the encoder
software has converted that sound file to a 1-bit format (blue). See also
that the created bitstream is shown as 1's and 0's under the blue waveform.
How it works
This encoder software also lets you try different BTc encoding
parameters, and listen to an approximation of the encoded data played back
by the PC sound card. BTc Sound Encoder is a stand alone tool for
converting sound files into a 1-bit bitstream format that you can play
back on a PIC or other micro simply by adding a resistor/capacitor network
to any PIC digital output pin;
The BTc Sound Encoder creates the 1-bit data by digitally modeling
an RC filter, so that when the bitstream is played back through a real world
RC filter the analogue sound will be the closest possible reproduction of the
original wave file that is possible on the crude hardware.
BTc Sound Encoder also gives you specs for the resistor and capacitor values
that were used in the encoding model.
Limitations?
This Version 2.0 increases the maximum wave file length now to 1,048,576 samples,
this gives a max output file size of 1 megasample (1,048,576 bits),
which is enough to fill two 512kbit eeproms (each is 524,288 bits).
At 15625Hz each 512kbit eeprom gives a full 33 seconds of sound playback,
enough for 50 spoken words.
Sound quality
I added the BTc sound playback feature to the software to enable you to play
the BTc sound (on your PC sound card) after encoding it. This is useful as
you can try different encoding settings and listen to the result.
Note! The PC sound card and PC speakers will sound different to a
properly set up hardware system as used in the final application. The main
difference is that the PC sound card and speakers are optimised for good
high frequency performance and they will sound much worse then
the final application which should use low-pass filtering to remove the
high frequency noise artifacts which are an unfortunate part of 1-bit
sound playback.
If your PC sound card is set to stereo (NOT surround) you may be able to turn
the treble right down and bass up, and get a playback sound closer to the
final application. My suggestion is to use the PC sound only as
a rough guide, and set the final paramaters based on actual hardware tests
with the sound in your final application. You should balance the BTc encoding
settings against the final app hardware low-pass filter settings so that you
get the best clarity possible without too much high frequency noise.
Although 19531Hz and 15625Hz are ideal playback speeds for a PIC micro,
you can get quite good sound quality by increasing the bitrate
and using a high bitrate like 39062Hz or 78125Hz. Even 78125Hz only
requires a 20MHz PIC to output one bit every 64 PIC instructions. If you
have a 512kbit eeprom and only need to playback a few words this will
give excellent sound.
The algorithm!
Don't forget to read my
BTc Binary Time Constant algorithm - HERE.
History
I wrote the original BTc Encoder software (for dos) a few years back
to provide a tool for people who were interested in using my BTc algorithm
and one bit sound in their own projects. The original dos version encoder.exe
is now obsolete and you are welcome to use it but I will no longer provide
support for it or distribute it.
My original DOS program was also called "PicSound Encoder" and the web page
likewise. If you have references to the original "PicSound" they are probably mine and
you have found the latest version here.
My Windows version BTc Encoder 1.1 has been quite popular. In Feb 2008
it has been totally replaced by BTc Encoder 2.0 which includes every
feature of the 1.1 version and also adds many new features.
The new version 2.0 is provided below.
New features for v2.0
1 Mbit capability (up from 0.5 Mbit)
Reads all types of .WAV files now
Change .WAV playback freq (change wave pitch)
Powerful resampling feature - resample .WAV to different sample rates
Supports .WAV frequencies from 1,000 Hz to 199,999 Hz
Powerful dynamic compression and volume increase of wave data
Join .WAVs into one .WAV to build sound playlists
Edit and save .WAV files!
Edit start and end points of wave data, test, then crop
Now also loads raw sound data of ANY uncompressed type
Now exports sound as C source for MikroC
Bug fixes for v2.0
(Previous problem that v1.1 had with not opening some .WAV file types...)
Fixed! v2.0 now opens all .WAV file types.
Download it!
BTc Sound Encoder 2.0 works with Win95, Win98, WinXP and probably Vistacide.
It is Hippyware which means you can use it for free for personal
or corporate use and you only pay me IF you choose. Payment is $10 USD or
a postcard etc.
The ZIP file below contains the BTc.exe main program file, windows help file,
and five .WAV samples at differing bitrates.
Right-click HERE to download BTcSE20.zip (781 kb).
- end -
[Back to Home Page]