Projects
If you are curious about what I am currently working on, click here.
Projects are listed roughly in order of importance, relevance, and maturity. Most of them are published on GitHub.
High Performance Computing
Sorry, I only have professional projects in this category, all of which are under NDAs and not open source. Please refer to my CV for more details.
Speech and NLP Technologies
aeneas
aeneas is a Python library and a set of tools to automagically synchronize
audio and text.
[Web page] [GitHub] [Web App]
espeakng.js
Port of the eSpeak-ng text-to-speech engine to Javascript via emscripten
that allows client-side text-to-speech synthesis in any browser supporting
Web workers and the Web Audio API.
[Blog] [Demo] [GitHub]
lachesis
lachesis automates the segmentation of a transcript into closed
captions.
[GitHub]
wiktts
Mining MediaWiki dumps to create better TTS engines (using Machine
Learning).
[GitHub]
ipapy
ipapy is a Python module to work with International Phonetic Alphabet
(IPA) strings.
[GitHub]
elzzur
elzzur solves a Ruzzle board, listing all the valid words with their
score.
[GitHub]
nvdb
A Python script to extract the plain-text data from the Nuovo vocabolario
di base (NVdB) PDF file.
[GitHub]
forced-alignment-tools
A collection of links and notes on forced alignment tools.
[GitHub]
Digital Publishing
eBooks
Please see the dedicated eBooks page.
Minstrel
Minstrel is a FLOSS hybrid reading app specifically designed for
Audio-eBooks. The app, built on the Apache Cordova framework, currently
compiles to Android and iOS.
[Web page] [GitHub]
Menestrello
Menestrello is the official stable release of Minstrel, maintained by
ReadBeyond (that is, me), which can be freely downloaded from the App Store
and Google Play. Please visit the Menestrello Web page for a video
introduction, screenshots, free demo EPUB 3 Audio-eBooks, and more.
[Web page]
penelope
A multi-tool for creating, editing and converting dictionaries, especially
for eReader devices.
[GitHub]
glyphIgo
A multi-tool for dealing with fonts and EPUB eBooks.
[GitHub]
yael
yael (Yet Another EPUB Library) is a Python library for reading,
manipulating, and writing EPUB 2/3 files.
[GitHub]
Hacking
webcube4
A Bash+Javascript script to connect/disconnect the WebCube4 (Huawei E8378)
4G/LTE router to/from the Internet directly from the shell. I grew tired of
having to use the cumbersome, JS/AJAX-ridden local Web interface, so I
captured some traffic with WireShark and analyzed it, deciphering the
relevant HTTP headers, API endpoints, and Javascript code. Then, I emulated
the relavant bits with curl
and node
, in a simple
but elegant Bash script. (The process is a story worth on its own...)
[GitHub]
C'mon, I Want Lolcats!
This proof of concept EPUB 3 eBook shows how data can be obfuscated in an
EPUB 3 file, using JS to reconstruct it at runtime.
[Local page]
Retired Projects
(The following projects are retired/deprecated/abandoned/quick-and-dirty-hacks, listed here for historical reasons. Proceed with judgement!)
rb_smil_emulator.js
This JavaScript enables the tap-to-play function on those platforms that
do not properly support the EPUB 3 Media Overlay specification (most notably,
Apple iBooks).
[GitHub]
epub3reader
This proof-of-concept Android app lets you easily read and navigate
complex EPUB 2/3 eBooks (internal/external links, parallel texts). In the
GitHub repo you can find the APK, the source code, screenshots and some EPUB
eBooks with parallel texts.
[GitHub]
ink2fxl
ink2fxl converts Inkscape SVG files to XHTML+(SVG)+CSS, XHTML+raster
(layer-wise), or raster-only (layer-wise).
[GitHub]
exlibris
exlibris is a tool for adding an ex libris to EPUB eBooks, available as a
CLI tool, a GUI tool, and Calibre plugin.
[GitHub]
Export Annotations from Kobo eReaders
A quick-and-dirty Python script to export annotations and highlights from
Kobo eReaders.
[GitHub]
Export Annotations from Bookeen Cybook Odyssey eReaders
A quick-and-dirty Python script to export annotations and highlights from
Bookeen Cybook Odyssey eReaders.
[Local page]
EPUB 3 Load External Audio Test
This EPUB 3 eBook shows how to load an external audio resource (an MP3
file from a remote server). Remember to allow remote contents in your Reading
System (e.g., iBooks).
[Local file]