Content-type: text/html Man page of tbt


Section: User Commands (1)
Updated: April 9, 2012
Index Return to Main Contents



TBT - Time Based Text



tbt [options] [file]



This software is written to vehicle more human-input information in written text.

We record performance time of written text and vehicle it as additional information: saving and reproducing every single action during the composition of a text let us vehicle emphasis in written communication.

As this simple concept, our implementation is also kept very minimalistic while we welcome programmers to embed it in communication applications, as in emails, blogs, visual poetry, slides and what not.

Beware this software is minimalistic, you need to love text.

This manual will follow documenting the TBT protocol and usage, with commandline formulas to be casted in a terminal. Included in the sourcecode is also a website written in PHP/MySQL/Ajax to publish TBT written into the world wide web, as well a Python-GTK graphical user interface.



In the .tbt format, text is saved with a timestamp for each letter:
   _________ ___________ 
  |  u-int  |   u-int   |
  |  64bit  |   64bit   |    m-seconds = 1/1000 of a second
   --------- -----------
  |  char   | m-seconds |    char = ASCII or higher bit char code
   --------- -----------
  |    Total: 128bit    |

This software is written in thread-safe POSIX C++ and can be ported to most platforms, it provides a real-time recorder for serial timed data, recording 64bit tuples key/msec with low-latency. Included are programs providing a text console interface for the user to experiment with keyboard.

Input is captured from the console, but can be extended to intercept any application using some h4x0r keylogging technique on different OS.

Export functionality to different formats is provided, including generation of web-ready code in HTML and Javascript.



The main functionalities are exclusive (use one or the other):

Record a Time Based Text (use s to select format)
Playback a Time Based Text
Convert a Time Based Text (use s to select format)
Display version and quit
Display a help text and quit



The following switches are optional:

-s <format_name>
save format in [ bin | ascii | html | doku ]. Default is bin (see -x command)

The bin mode will store a binary file you can play with the playtext command.

The html mode will produce a simple html page, in which your text will be played. The distributed script file tbt-typewriter.js should be present in the same directory of the html file. For further information about the html mode please the the README.html file.

The ascii mode produces pure ascii text file, one character per line, with the information about the key pressed, and the timestamp.

The docu mode produces output ready to be used in dokuwiki, in case the TBT dokuwiki plugin is installed on the webserver.

Use the S-Lang console interface

-D <number>
Set verbosity level, the default value is 1

-t <timing mode>
method used to calculate time: [ posix | rtc ]. Default is posix.

So far a few methods are implemented, posix should be the most compatible, rtc works only with Linux kernel and requires suid authority.



Howto record a tbt in binary format

$ tbt -c -r mytext.tbt

Howto play a tbt binary file

$ tbt -c -p mytext.tbt

Howto record a tbt in ascii mode

$ tbt -c -r -s ascii mytext.txt

Howto record a tbt in html mode

$ tbt -c -r -s html mytext.html



Everyone is encouraged to test this software and report bugs!

Please use the web page

Get in touch with developers via mail using this web page or via chat on



Time Based Text software by Denis Roio -
Concept ideated with the contribution of Jodi -
PHP/Javascript code by Angelo Failla - pallotron
Webdesign by O.K. Parking -
Python-GTK GUI by Pablo Martines - caedes
More code and suggestions by Andrea Lo Pumo - alpt
Development supported by Impakt -
Thanks to: Florian Cramer, Annet Dekker, Paul Hendriks



This manual is Copyleft (c) 2007-2012 Denis Roio <>

Permission is granted to copy, distribute and/or modify this manual under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. Permission is granted to make and distribute verbatim copies of this manual page provided the above copyright notice and this permission notice are preserved on all copies.



The most recent version of tbt sourcecode and up to date documentation is always available for download from




This document was created by man2html, using the manual pages.
Time: 13:20:22 GMT, April 09, 2012