Delivery
What format should a speech dataset be delivered in?
Updated 2026-08-01 · 4 min read

Short answer
Deliver uncompressed WAV audio at the agreed rate and depth, one utterance or one session per file with a stable ID, plus a machine-readable manifest — JSON Lines or TSV — mapping file paths to transcripts, speaker IDs, session metadata and quality flags. Include a data dictionary, the annotation guideline, and a consent register keyed by speaker ID. The format failures that hurt are mundane: inconsistent IDs across batches, transcripts in a spreadsheet with silently mangled Unicode, and metadata that cannot be joined to audio.
Key takeaways
- Manifests should be machine-readable and joinable, not spreadsheets.
- Stable IDs across batches matter more than the file layout itself.
- Ship the annotation guideline and data dictionary with the corpus.
Audio
Uncompressed WAV at the specified rate and depth, one channel per speaker for conversational material, with lossless naming that encodes nothing you might need to change later.
Manifests
JSON Lines or TSV with UTF-8 encoding, one row per utterance: file path, duration, transcript, speaker ID, session ID, language, dialect, condition and QA flags. Spreadsheets corrupt Indic text and silently reformat numbers; avoid them in the delivery path.

Metadata and documentation
A speaker table, a session table, a data dictionary defining every field and value, the annotation guideline version used, and QA reports per batch.
Consent register
A record per speaker ID confirming consent scope and date, so provenance can be demonstrated without going back to the vendor.
Frequently asked questions
What format should a speech dataset be delivered in?
Deliver uncompressed WAV audio at the agreed rate and depth, one utterance or one session per file with a stable ID, plus a machine-readable manifest — JSON Lines or TSV — mapping file paths to transcripts, speaker IDs, session metadata and quality flags. Include a data dictionary, the annotation guideline, and a consent register keyed by speaker ID. The format failures that hurt are mundane: inconsistent IDs across batches, transcripts in a spreadsheet with silently mangled Unicode, and metadata that cannot be joined to audio.
Audio?
Uncompressed WAV at the specified rate and depth, one channel per speaker for conversational material, with lossless naming that encodes nothing you might need to change later.
Manifests?
JSON Lines or TSV with UTF-8 encoding, one row per utterance: file path, duration, transcript, speaker ID, session ID, language, dialect, condition and QA flags. Spreadsheets corrupt Indic text and silently reformat numbers; avoid them in the delivery path.
Metadata and documentation?
A speaker table, a session table, a data dictionary defining every field and value, the annotation guideline version used, and QA reports per batch.
Related reading
Turn this into a dataset specification
Tell us the languages, speaker count and minutes. You get a written scope, a protocol and a fixed price within one working day.