toc2audio
This tool parses a Table of Contents file and:
Optionally, shows HTML in your browser and print it too on the console, for copy&paste or redirection to complete your show notes.
TODO: Optionally, adds the TOC generated HTML to an audio file.
Optionally, adds timestamps (chapters) from your TOC file to an audio file.
Optionally, adds timeoffsets to all timestamps (in the HTML and in the chapters) in order to compensate from initial presentation or teasers, advertisements during the audio, etc.
If the audio file already has chapter/TOC metadata, we will replace it as requested. The rest of the metadata presents in the original file will be preserved.
Install
$ python3 -m pip install toc2audio
Command line
$ toc2audio --version
0.5.0
$ toc2audio -h
usage: toc2audio.py [-h] [--version] [--offset OFFSET] [--show]
[--toc] [--chapters]
[TOC] [AUDIO ...]
Add Table of Contents and chapters to audio files
positional arguments:
TOC Table of Contents file
AUDIO Audio file
optional arguments:
-h, --help show this help message and exit
--version Show version info
--offset OFFSET Seconds or [HH:]MM:SS to add to ALL timestamps
--show Show the generated HTML in your browser
--toc Store Table of Contents in the audio file
--chapters Store chapters details in the audio file
Table of Contents format
The Table of Contents must be written in markdown.
toc2audio will parse any markdown file and will, optionally, insert the generated HTML and chapters metadata in your audio file. If you want to use timestamps (chapters), you must use lines in this format:
[HH:MM:SS] Chapter title
HH:MM:SS is hours:minutes:seconds. The “hours” field is optional. You can specify fields with one or two digits.
An example would be:
This audio was recorded blah blah...
* [00:50] Presentation
Here I describe the topics we will talk about.
* [02:11] Topic 1
Blah blah blah blah...
* [17:29] Topic 2
Blah blah blah blah...
Time offset
You can apply a global time offset to all timestamps in the TOC
markdown document using the --offset command line
parameter.
Supported audio containers
Supported audio containers are:
Opus. If you can choose an audio format freely, you should choose Opus. It is the current (2021) state-of-art for general purpose audio (voice and music) and free of patents. It is “the greatest thing since sliced bread”.
MP3.
-
Usually, MP4 audiobooks have a m4b extension to advertise the presence of bookmarks. Nevertheless, the file is bitwise identical to m4a. Some software doesn’t recognize m4b files, so I use a m4a suffix.
Usually, the audio format will be AAC, HE-AAC or HE-AACv2, but I don’t really care. I manipulate the generic MP4 container, I don’t pay attention to the audio data. I guess I could even add chapters to video data.
Metadata
Release files for toc2audio 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| toc2audio-1.2.0.tar.gz | 19.5 kB | Without provenance | Details for toc2audio-1.2.0.tar.gz |
Release files / toc2audio-1.2.0.tar.gz
| Download URL | toc2audio-1.2.0.tar.gz |
|---|---|
| Size | 19.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b03cdcd6e7f1f30ec13123b673d71d3c075e97405695b020f6c8c28eeb134d1
|
|
BLAKE2b-256 checksum How to use checksums |
fe1eae460198b9e3058569df5d78f916b0b6b1013d2f5f3ef7c2189510b9e973
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.13.0
|
Security for toc2audio 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.