Hertz-1
Ask typed questions about audio in Portuguese or Spanish. Hertz-1 uses the Parakeet-TDT transducer, whose greedy decoder emits tokens sequentially, followed by the frozen Laya decision model. The runtime does not materialize a decoded transcription string. Its token IDs and public lexicon still encode a readily decodable transcription. Treat them as sensitive speech content.
16 kHz audio
│
▼
Parakeet-TDT greedy token IDs
│ no text decoding
▼
2.9M-entry word ID lexicon
│ integer-to-integer conversion
▼
Laya native token embeddings
│
▼
typed answer + model probabilities
What is in this repository?
| Path | Purpose |
|---|---|
laya/ | Frozen Laya checkpoint used by Hertz-1 |
lexicon/ | Parakeet-ID to Laya-ID word lexicon and fallback tables |
audio_openjev/ | Minimal frozen inference modules |
runtime.py | Hash-checked Python API |
inference.py | Command-line interface |
requirements.txt | Runtime dependencies |
LICENSES.md | License map and attribution |
The Parakeet weights are not duplicated here. The first run downloads the official
nvidia/parakeet-tdt-0.6b-v3
checkpoint at revision 541d1f99c6b0c3cd0b11a95167540bb8edefd82b.
Install
Python 3.12 or newer is recommended. A CUDA GPU gives the measured low latency. CPU execution is supported but is slower.
python -m venv .venv
source .venv/bin/activate
pip install "huggingface_hub[cli]"
hf download telepatia-ai/hertz-1 --local-dir hertz-1
pip install -r hertz-1/requirements.txt
The complete Hertz-1 download is about 939 MB. The first inference also downloads the external Parakeet checkpoint. The measured process used about 10.2 GiB of host memory and 2.0 GiB of allocated GPU memory after setup.
Run
All examples repeat --option in the model's answer order.
Choice — exactly 3 options
python hertz-1/inference.py \
--audio sample.wav \
--task choice \
--question "Qual orientação foi dada neste trecho?" \
--option "Manter a medicação" \
--option "Suspender a medicação" \
--option "Procurar atendimento de emergência"
Score — exactly 4 ordered levels
python hertz-1/inference.py \
--audio sample.wav \
--task score \
--question "Quão intensa é a dor descrita?" \
--option "Sem informação" \
--option "Leve" \
--option "Moderada" \
--option "Intensa"
Noul — false first, true second
python hertz-1/inference.py \
--audio sample.wav \
--task noul \
--question "Segundo este trecho, o paciente relata febre?" \
--option "Não" \
--option "Sim"
The command returns JSON:
{
"answer": "A",
"model_probabilities": {"A": 0.82, "B": 0.11, "C": 0.07},
"fallback_words": 0,
"word_count": 14,
"warning": ""
}
Python API
import soundfile as sf
from runtime import AudioLaya
audio, sample_rate = sf.read("sample.wav")
model = AudioLaya.from_pretrained()
result = model.predict(
(sample_rate, audio),
"choice",
"Qual orientação foi dada neste trecho?",
["Manter", "Suspender", "Procurar atendimento"],
)
print(result)
When using from_pretrained(), run Python from the downloaded repository or add it to
PYTHONPATH so the bundled audio_openjev package is available.
Confirmed results
The frozen system passed all six preregistered PT/ES task gates on one-time sealed read-speech tests. Gap recovery measures how much of the difference between empty audio and native text the audio path recovered.
| Language | Task | Audio accuracy | Gap recovery |
|---|---|---|---|
| pt-BR | choice | 73.07% | 95.89% |
| pt-BR | score | 31.95% | 97.08% |
| pt-BR | noul | 70.21% | 94.44% |
| Spanish | choice | 66.88% | 93.40% |
| Spanish | score | 26.50% | 93.15% |
| Spanish | noul | 62.25% | 95.87% |
On an A100 40 GB, hot end-to-end p50 latency ranged from 82.8 ms to 214.0 ms across 5–20 second clips and the three tasks. Cold setup took 56 seconds, including 13.7 seconds to load the lexicon. These numbers are single-input research measurements, not serving benchmarks.
Scope and limitations
- The confirmed panels contain short read speech in pt-BR and general Spanish.
- The results do not establish performance for long audio, clinical conversations, or es-CO.
- Hertz-1 carries lexical content only. It does not preserve non-lexical cues such as tone.
- Functionally, this is an ASR-to-text-classifier cascade with an integer-ID intermediate. Avoiding a transcription string is not a privacy guarantee.
- Output quality is bounded by the frozen Laya decision model.
scoreis its weakest task. - A nonzero
fallback_wordsvalue means at least one recognized word missed the main lexicon. - Audio must be mono or stereo and no longer than 30 seconds. The runtime resamples to 16 kHz.
Integrity
| Artifact | SHA-256 or revision |
|---|---|
| Laya tree | 8d197cc1b2cb8674d02f0ecf42850fd54ee7c4d4a81de9d8a873b3a8314a32c3 |
| ID lexicon | a3b270e88eb4661e8370159c8c303df78bffbb18d6c518d438f38f5e74e0da6b |
| Lexicon build summary | 22808f56263b1245b2ae73c74110e2e6276bcc82d9cdf67774a0809e57212b17 |
| Parakeet revision | 541d1f99c6b0c3cd0b11a95167540bb8edefd82b |
| Upstream Laya revision | 052592a15d198d9ad47da779604259b10b47b7aa |
The runtime verifies the local Laya tree and every lexicon artifact before it loads the models.
Licenses
Hertz-1 contains separately licensed components. See LICENSES.md for the
component map and attribution.
- Hertz-1 runtime and the Laya-derived checkpoint: Apache License 2.0.
- External NVIDIA Parakeet checkpoint: CC BY 4.0.
- ID lexicon derived partly from wordfreq data: CC BY-SA 4.0.
- Orphadata-derived forms in the ID lexicon: CC BY 4.0.
Please preserve all attribution when redistributing the repository or its components.