Back to Silas S. Brown's home page
Anemone DAISY makerAnemone is a Python 3 script to put together a DAISY file from HTML text, MP3 audio recordings and time index data.
Anemone produces DAISY 2.02 files by default, or DAISY 3 (i.e. ANSI/NISO Z39.86) if an option is set. It currently can produce one of two different types of digital talking book:
- Full audio with basic Navigation Control Centre only: this requires a list of MP3 files for the audio, one MP3 per section, and the title of each section can be placed either in a separate text file or in the filename of the MP3 file.
- Full audio with full text: this requires MP3 files for the audio, corresponding XHTML files for the text, and corresponding JSON files for the timing synchronisation.
Each JSON file is expected to contain a list called
"markers"whose items contain
"paragraphId"or anything else ending
"startTime"or anything else ending
time), which can be in seconds, minutes:
seconds or hours: minutes: seconds. The IDs in these JSON files should have corresponding attributes in the XHTML, by default
data-pidbut this can be changed with a command-line option.
All files are placed on the command line, and Anemone assumes the correspondences are ordered. So for example if MP3, HTML and JSON files are given, Anemone assumes the first-listed MP3 file corresponds with the first-listed HTML file and the first-listed JSON file, and so on for the second, third, etc. With most sensible file naming schemes, you should be able to use shell wildcards like * when passing the files to Anemone.
You may also set the name of an output file ending
zip; the suffix
_daisy.zip is common.
The title, publisher, language etc of the book should be set via command-line options: run the program with --help to see all.
History on GitHub
The daisy anemone is a sea creature on the rocky Western shores of Britain and Ireland; the Dorset Wildlife Trust says it's "usually found in deep pools or hiding in holes or crevices, or buried in the sediment with only tentacles displayed". Similarly this script has no interactive user interface; it hides away on the command line.
Behaviour of DAISY readers in 2024
- Dolphin EasyReader 10 (iOS, Android and Chromebook): is able to open the ZIP and play the audio while highlighting the paragraphs in a 'full audio plus full text' book, both Daisy 2 and Daisy 3
- Dolphin EasyReader 10 (Windows): ditto but ZIP needs to be unpacked separately and NCC or OPF file opened
- JAWS FSReader 3 (Windows): is able to play audio while highlighting paragraphs in both Daisy 2 and Daisy 3, but ZIP needs to be unpacked separately and NCC or OPF file opened; may work better without JAWS running; synchronisation with audio seems to require --mp3-recode; images are not scaled to fit
- HumanWare Brailliant: does not show text if there is audio (hopefully it can still be used for navigation) in both Daisy 2 and Daisy 3
- Pronto Notetaker: ZIP needs to be unpacked to a "Daisy" folder on SD or USB, and the device just plays the audio; tested only with Daisy 2
- US Library of Congress NLS Player: unpack the ZIP onto a blank USB stick of capacity 4 GB or less---audio plays; navigation works if you use --mp3-recode; tested only with Daisy 2
- HumanWare Victor Reader Stream: ZIP needs to be unpacked, either to the top level of a USB device, or into a subfolder of a
$VRDTBfolder on the SD card. If it's unpacked at the top level of the SD card, the device can still play the MP3s and allow track or time based navigation but not section navigation, so you should use either the folder structure of the SD card or else a USB device. If correctly set up then audio plays and device can navigate by section. Tested only with Daisy 2 but manual says Daisy 3 is also permissible.
- HumanWare Victor Reader Stratus4: An attempt to unpack the ZIP to a CD resulted in the device just playing the MP3 files without structured navigation, that is, it was not recognised as a DAISY CD, and we don't know why yet.
- HIMS QBraille XL: can display the text (after opening with Space and Enter); does not play audio; tested only with Daisy 2
- Daisy Consortium Simply Reading 3 (app available for Android 7 and below): is able to open the ZIP and play the audio while highlighting the paragraphs in a 'full audio plus full text' book, although fonts for some languages might be missing on earlier Android devices
- DAISY Pipeline (2023): Please do not use this to convert an Anemone-produced Daisy 2 book to Daisy 3. The resulting Daisy 3 is not likely to play on anything. If Daisy 3 is required, use Anemone's --daisy3 option to produce it directly.
All material © Silas S. Brown unless otherwise stated.
Android is a trademark of Google LLC.
GitHub is a trademark of GitHub Inc.
MP3 is a trademark that was registered in Europe to Hypermedia GmbH Webcasting but I was unable to confirm its current holder.
Python is a trademark of the Python Software Foundation.
Windows is a registered trademark of Microsoft Corp.
Any other trademarks I mentioned without realising are trademarks of their respective holders.