I do virtually all of my work using some variety of UNIX. Since 1995, this has generally been GNU/LINUX. Software that I have written is therefore known to run under GNU/Linux and sometimes under other varieties of UNIX. Most of the time software written for GNU/Linux will run on other varieties of UNIX. Often it will run on other POSIX-compliant systems. Software written in languages like Tcl and Python will generally run on any system for which there is an interpreter, including non-UNIX systems.

I hold the copyright to all software on this page. All of the software provided here is free software, in most cases licensed under the GNU General Public License.

These two programs generate charts of the Unicode character set in the form of web pages. Of course, whether a glyph will actually be displayed at a particular codepoint depends on whether that codepoint is currently defined and whether the user's system has the font necessary to display it.

MkUnicodeChart generates the entire chart as a single large (3.2MB) web page. This is convenient for scrolling around and exploring the chart, but the chart is so large and complex to render that there is a noticable delay when starting up. I am also told that it will crash Internet Explorer. I haven't verified this since I don't use Internet Explorer. It doesn't crash Galeon, which is the browser I use, but it does take a while.

MkUnicodeCharts breaks the chart into numerous separate files, one for each block of 256 characters, and generates an index page called UnicodeIndex.html that provides links to the individual files. This isn't quite as nice for browsing, but it loads immediately and doesn't stress the browser.

Language: Python
Last modified: 2003/12/17

Download MkUnicodeChart

Download MkUnicodeCharts

Back to Top

Computes a variety of measures of dynamism of an F0 contour. This program was originally written for the research reported by Rudy Gaudio in his paper "Sounding Gay: Pitch Properties in the Speech of Gay and Straight Men," American Speech 69.1.30-57 (1994).

Language: C
Last modified: 2003/10/16

Download source tarball

Back to Top

Speech Utilities [Improved]
Programs for doing various things with speech files.
   backtalkreverses a speech file sample by sample
   lehisteinverts spectrum while preserving amplitude envelope and F0 contour
   samuelflattens spectrum to white noise while preserving amplitude envelope
   sndcatconcatenates a set of audio files

These now use libsndfile to read and write a wide variety of audio file formats.

Language: C
Last modified: 2004/06/03

Download source tarball

View discussion and illustration of speech distortion methods (PDF).

Back to Top

Phonetic notation deviating in certain respects from the International Phonetic Alphabet is widely used in North America. This program translates "North American IPA" in UTF-8 Unicode into standard IPA. The mapping performed is:
y → j,
ü → y,
š → ʃ,
ž → ʒ,
č → tʃ,
ǰ → dʒ,
j → dʒ,
ñ → ɲ,
ö → œ

Language: Python
Last modified: 2004/02/04

Download program

Back to Top

tgn2ipa [version 1.14][was called u82ipa-tgn]
Translates a Unicode file from the Tigrinya writing system to the International Phonetic Alphabet. This version fixes some bugs and adds transliteration of the old glottalized alveolar affricate series and for the old numeral 10,000.

Language: C

Last modified: 2004/05/21.

Download source tarball

Back to Top

On Unix systems time is kept in seconds since the "Unix epoch", the beginning of Unix time, at midnight, January 1, 1970. The POSIX standard requires that this time be kept in a signed integer, so on systems using a 32 bit integer for the time, the maximum time is 2,147,483,647. This corresponds to 03:14.07 on Tuesday, January 19, 2038. In order to avoid this "Year 2038" problem it is necessary to use a 64 bit integer. The date corresponding to the largest signed 64 bit integer is over 200 billion years in the future. Some systems use one or two bits for other purposes and so roll over even sooner. This little program checks how many bits the system on which it is run is using. Be prepared!

Language: Python

Last modified: 2003/12/22

Download UnixEpoch

Visit the Free Software Directory

This page last modified: 2021-01-13.

Back to Bill Poser's Home Page