[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]