[Back to Home Page]
www.RomanBlack.com
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.
Limitations?
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.
History
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]