🥔 TATERS: Takes All Things, Extracts Relevant Stuff
Taters is a Python toolkit and CLI for getting from raw media to analysis-ready data. Point it at video, audio, or text and it will extract WAV from video, transcribe it (with or without diarization), compute embeddings, run dictionary and archetype analyses, and gather the results into tidy datasets you can model or visualize.
- 🥔 Documentation: https://www.taters.wiki
- 🥔 Status: early but usable. APIs will probably evolve; pin a version if you need stability.
What Taters is (and is not)
- Is: A library + CLI with small, composable functions and an optional YAML pipeline runner. Predictable I/O, friendly defaults, and “do not overwrite unless asked.”
- Is not: A single black-box pipeline. You keep control of each step and can run pieces à la carte or all at once.
- Is not: Edible.
A short example
Python
from taters import Taters
t = Taters()
# Pull audio from video
wavs = t.audio.extract_wavs_from_video(input_path="input.mp4")
# Transcribe (CSV/SRT/TXT). Swap in diarize_with_thirdparty for multi-speaker
# recordings — it returns the same shape, so nothing below changes.
asr = t.audio.transcribe_with_whisper(audio_path=wavs[0], device="auto")
transcript = asr.raw_files["csv"] # also: asr.raw_files["srt"] / ["txt"]
# Features (defaults write under ./features/<kind>/)
t.audio.extract_whisper_embeddings(source_wav=wavs[0], transcript_csv=transcript)
t.text.analyze_with_dictionaries(csv_path=transcript, dict_paths=["dictionaries/liwc"])
t.text.analyze_with_archetypes(csv_path=transcript, archetype_csvs=["archetypes/Resilience.csv"])
CLI
# Transcribe a single-speaker recording
python -m taters.audio.transcribe_with_whisper \
--audio_path audio/lecture.wav --whisper_model small.en
# Whisper embeddings over non-silent spans, then mean-pool
python -m taters.audio.extract_whisper_embeddings \
--source_wav audio/session.wav --strategy nonsilent --aggregate mean
For more examples, including per-speaker splits, sentence embeddings, and end-to-end pipelines, see the Guides in the documentation.
Installation
Install into a fresh virtual environment. The install guide covers CPU and CUDA setups, FFmpeg, and the optional diarization extras:
https://www.taters.wiki/install-guide
Pipelines
To batch a whole dataset, use the YAML runner to chain steps and control concurrency:
python -m taters.pipelines.run_pipeline \
--root_dir videos --file_type video \
--preset conversation_video \
--workers 8 --var device=cuda
Details, presets, and how to write your own:
https://www.taters.wiki/guides/pipelines/
Contributing
Bug reports and pull requests are welcome. If you are using Taters on real projects, feedback on rough edges and missing presets is especially useful.
License
MIT. See LICENSE for details.
Release files for taters 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| taters-0.2.1.tar.gz | 180.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| taters-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 342.5 kB
Release files / taters-0.2.1.tar.gz
| Download URL | taters-0.2.1.tar.gz |
|---|---|
| Size | 180.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e0435cc19d5ecbbc45ae929afc3d006a1a5eea9eba71c5c3007afa5448b26db
|
|
BLAKE2b-256 checksum How to use checksums |
3b288abc6947f437b380cd7b240b42ed85d7d4caf00bb38380ae742158b9ff2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / taters-0.2.1-py3-none-any.whl
| Download URL | taters-0.2.1-py3-none-any.whl |
|---|---|
| Size | 161.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
535b4ff3e641f852f9452c870df3a5d3311e9403b042f671560aa0cf7641d456
|
|
BLAKE2b-256 checksum How to use checksums |
e1ebaafb3f480e5d912dd114b232f45d7e22a9cb34e4a31e2fe5f66ca0a7689e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|