[Back to Home Page]


BTc Sound Encoder 3.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. Now v3.0 - web 30 July 2009 - updated 16 Sept 2009

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.

Using it is very simple; You open any .WAV file that contains sound, this software converts the sound to 1bit format, and you load the 1bit sound into your cheap hardware like PIC microcontroller and can play the sound back with practically no other hardware needed. It does not need a DAC (Digital to Analog Converter IC).

This new BTc Sound Encoder v3.0 replaces all previous versions.

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.


This Version 3.0 increases the maximum wave file length now to 4 Megasamples (4,194,304 samples). At 44.1kHz playback bitrate that would give 95 seconds of total sound playback time.

Sound quality

This is not an .MP3 player for music! This system lets you play simple sound (generally speech) on very cheap simple hardware (like a little PIC or AVR microcontroller you can buy for a couple of dollars).

The sound playback at lower bitrates can be scratchy and hissy, but still produce speech you can understand, which is fine for simple devices like talking remote controls etc. At higher bitrates like 44.1kHz the sound playback is much better and gives decent speech reproduction to use in talking robots and talking home appliances etc.

The algorithm!

Don't forget to read my BTc Binary Time Constant algorithm - HERE.


I wrote the original BTc Encoder software (for dos) in 2001 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 was simple but did the job of replacing the dos version. In Feb 2008 it was then replaced by BTc Encoder v2.0 which included every previous feature and also added many new features including dynamic compression and .WAV trimming and joining.

New features for v3.0

  • 4 Megabit capability (up from 1 Megabit)
  • 3 new 1bit Encoding Algorithms!
  • Now adds .SL (Sound Library) files, for working with multiple sounds!
  • Can export a special .BTL (BTc Library) file
  • .BTL file loads direct into hardware and contains multiple sounds (so the hardware can automatically play any sound)

    Library Files are a powerful feature that many people have asked for. You can join your sound WAVs together to make one neat easy file, and BTc Sound Encoder v3.0 handles the tricky bits like the sound Start and End pointers needed to play each sound.

    Then you can export the .SL Sound Library as a .BTL (BTc Library) which is one easy file to be loaded directly into your hardware. The hardware then has everything is needs to automatically "play sound1" or "play sound2" etc.

    Sound pointers are automatically placed when you add new sounds to the sound library. But you can also manually edit sound pointers to "chop" a .WAV into separate sounds or to remove deadspace between sounds.

    3 new BTc encoding algorithms have been added; 1.1, 1.6 and 1.7.

    The TalkBotBrain Project!

    This is the big news that comes with the release of v3.0. Since so many people want to add speech and sounds to their devices, (especially hobby/club/school robotics) but have difficulty making the hardware to play back the sounds, I have designed a complete talking device that will accept the new .BTL Library file format and play all your sounds needing just a serial command to control it.

    TalkBotBrain comes fully assembled and pre-programmed with PIC firmware, and contains every thing you need including a tiny amplifier. Just attach a speaker and a battery (5v to 14v) and you can put your own sounds in with a serial lead to your PC.

    Best of all it is sold as reduced-cost to actively promote the spread of talking technology, as I know this has many applications to help the elderly and visually impaired the TalkBot has its own onboard PIC micro that can also control devices. To suit this need the TalkBot has open-source-firmware, and its own free resources page for TalkBot owners including free sound libraries see www.TalkBotBrain.com

    The cost of the TalkBot has been reduced to barely cover parts and labour (and a small dealer mark-up for distribution) and any small profits from TalkBot sales will be re-invested into making more TalkBots and further promoting talking technology.

    We live in a world where every home has maybe 20 devices with visual displays... But how many talking devices do you have at home? It seems to be only in the movies. Let's change all that.

    Download BTc Sound Encoder v3.0

    BTc Sound Encoder 3.0 works with Win95, Win98, WinXP and probably Vista.

    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.

    It is Completely Free for anyone who supports the TalkBot Project and buys a TalkBotBrain.

    The ZIP file below contains the BTc.exe main program file, Windows help file, and a Sound Library file with 11 movie robot sounds.

    Right-click HERE to download BTcSE30.zip (1.31 Mb).

    NEW! Some PERL utilities for BTc sound data

    Here is some PERL stuff to work with BTc sound data. I didn't write these, they are from vimalsshankar who wanted a PERL utility to convert the 1bit BTc sound back into a 8bit datastream, a DE-coder of BTc sound as opposed to my BTc ENcoder. Thank you vimalsshankar. :)

    I worked with vimalsshankar (vsmGuy) on the Electro Tech forum to refine his PERL script to decode (actually SIMULATE is a better term than decode) BTc 1bit data back to 8bit data. You can see the whole thread here; ElectroTech - Decoding and graphing BTc encoded data

    Vimalsshankar has hosted his PERL stuff on his web page; https://sites.google.com/site/vimalsshankar/btc here is a screenshot;

    If you are not able to download his files from that page, I have zipped all the files together and hosted the zipfile on my page here; Vimal_BTc.zip 590 kb.

    Note! I take no responsibility for vimalsshankar's work.

    - end -

    [Back to Home Page]