TimeCap: A Scalable Open-Source Pipeline for Captioning Wearable Health Time-Series Data
Authors: Max Rosenblattl, Milana Gurbanova, Karl Aurel Deck, Narayan Schuetz, Thomas Kaar, Manuel Milling, Nicolas Zumarraga, Ning Wang, Kelly W. Zhang, Anders Johnson, Robert Jakob, Björn W. Schuller, Elgar Fleisch, Daniel Seung Kim, Allan Lawrie, Patrick Langer, Maxwell A. Xu, Euan Ashley, Paul Schmiedmayer
Organizations: Stanford University, USA · Aionic Labs, Switzerland · Agentic Systems Lab, ETH Zurich, Switzerland · CHI, Technical University of Munich University Hospital, Germany · Imperial College London, UK · GLAM, Imperial College London, UK · Centre for Digital Health Interventions (CDHI), University of St. Gallen, Switzerland · University of Washington, USA · National Heart and Lung Institute, Imperial College London, UK · Google Research, USA
Time-series data generated continuously across industrial, environmental, and especially health domains produce multimodal signals whose scale and heterogeneity make their processing and interpretation particularly challenging. Time-Series Language Models (TSLMs) promise scalable interpretation of these signals, yet remain bottlenecked by a fundamental lack of text-annotated time series pairs that are signal-grounded, reproducible, and extensible across modalities and schemas. Existing paired corpora are either closed or limited in scale and modality coverage. Annotation with large language models could scale them up, but its outputs cannot be regenerated exactly, which prevents others from re-deriving, extending, or auditing the resulting corpus. To address this, we release TimeCap, an open deterministic captioning pipeline with three reusable extractor tiers and a cross-channel synthesis layer that operates directly on the signal with no language model in the loop, extensible to new schemas by writing channel definitions alone. This positions TimeCap as a reproducible mechanism for future dataset generation rather than a one-off release. Applying TimeCap to OpenMHC, the MyHeart Counts wearable dataset, yields MHCap, the largest open caption layer for multimodal wearable time-series data. MHCap spans 19 Apple HealthKit channels and 7,005,763 captions over 908,944 person-days. To showcase the impact of the corpus, we train OpenTSLM, a time-series language model, on MHCap and benchmark on health-outcome prediction. Caption-augmented training (OpenTSLM-Cap) outperforms a label-only baseline on 29 of 32 per-user binary evaluations across 8 tasks.
Figures & tables
Corpus
Scale
Modalities
Annotation
Open
Det.
Ext.
SensorLM a
59.7M h, 103,731 ppl
PPG, ACC, EDA, TEMP, ALT
3-tier
✗
✓
✗
Sensor-QA b
5,648 QA, 60 ppl
IMU, audio, phone state
human-written
✓
✗
✗
TSR-Suite c
23,605 (2,339 h.)
multi-domain TS
LLM + human-in-loop
✗
✗
✗
ChatTS d
134K samples (synthetic only)
univariate/multivariate TS
LLM + synthetic
✓
✗
✗
SleepLM e
>100K h, >10K ppl
PSG, (EEG/EOG, ECG, resp., EMG)
multi-level captioning
✗
✓
✗
MHCap
7.0M cap, 909k days, 2,081 ppl
19 HealthKit channels
3-tier + cross-channel
✓ f
✓
✓
Table 1: Paired sensor and language corpora at a glance. MHCap combines an open caption corpus with deterministic generation, schema extensibility, and an open-source pipeline. Open : corpus and pipeline code released. Det. : caption generation is deterministic. Ext. : captioning pipeline extends to new sensor schemas via configuration rather than redesign. Numbers are reported as in the cited papers.
Figure 1: TimeCap pipeline overview. Raw multivariate sensor streams are mapped into a unified Recording representation, then captioned by four composable extractor tiers (statistical, structural, semantic, cross-channel) that emit a shared annotation schema. Cross-channel synthesis composes per-channel evidence into multi-channel narratives.
Corpus
Captions by tier (count, share)
Dataset
Units a
Sequences b
Statistical
Structural
Semantic
Cross-channel
OpenMHC -weekly
908,944
144,412
1,002,819 (14.3%)
3,191,600 (45.6%)
867,948 (12.4%)
1,943,396 (27.7%)
WESAD
15
15
240 (16.4%)
1,071 (73.3%)
75 (5.1%)
75 (5.1%)
Table 2: TimeCap corpus scale on OpenMHC -weekly and WESAD. For OpenMHC -weekly, 7,005,763 captions are generated with a mean of 48.5 captions per user-week for a total of 2,081 participants. For WESAD, 1,461 captions are generated with a mean of 97.4 captions per session for a total of 15 participants.
Majority
1B
3B
Task
OpenTSLM-Cap
OpenTSLM
OpenTSLM-Cap
OpenTSLM
Binary (AUROC / AUPRC)
AUROC
AUPRC
AUROC
AUPRC
AUROC
AUPRC
AUROC
AUPRC
AUROC
AUPRC
Biological Sex
50.00
25.38
79.24
51.72
78.90
49.99
77.86
51.24
75.47
49.80
Cardiovascular Disease †
50.00
15.30
65.15
29.99
62.09
26.79
67.19
28.94
65.28
26.25
Coronary Artery Disease †
50.00
6.90
65.88
15.76
63.38
16.62
62.46
12.57
59.94
9.69
Atrial Fibrillation †
50.00
3.23
68.36
7.24
59.82
4.91
64.08
7.33
61.72
5.40
Table 3: User-level results. OpenTSLM-Cap vs. OpenTSLM at the 1B and 3B parameter scales on the test split. Binary tasks report AUROC and AUPRC computed over per-user mean predictions. Ordinal tasks report Spearman ρ over the per-user mean predicted class, and QWK against the rounded per-user mean. The Majority column reports a class-prior baseline (always predict the majority class) as a no-skill floor and is excluded from best-of-row bolding. Best per task within each parameter scale in bold. † Held-out clinical task, not seen during fine-tuning.
Majority
1B
3B
Task
OpenTSLM-Cap
OpenTSLM
OpenTSLM-Cap
OpenTSLM
Binary (F1 / Acc)
F1
Acc
F1
Acc
F1
Acc
F1
Acc
F1
Acc
Biological Sex
43.47
76.91
64.59
78.71
65.20
78.12
64.87
78.29
61.24
78.40
Cardiovascular Disease †
43.49
76.94
61.65
72.62
61.13
76.37
62.00
70.22
58.62
67.13
Coronary Artery Disease †
47.10
89.02
58.83
76.02
61.11
81.91
55.60
70.78
52.96
66.82
Atrial Fibrillation †
49.24
97.02
43.68
67.76
44.99
71.41
44.39
67.97
41.79
62.20
Table 4: Per-week results. Same model lineup at the (user, week) granularity, computed across all weekly predictions in the test split. Binary tasks (top) report macro-F1 (mean of class-0 and class-1 F1, label-symmetric; reported as F1) and accuracy; ordinal tasks (bottom) report Spearman ρ and QWK. The Majority column reports a class-prior baseline (always predict the majority class) as a no-skill floor and is excluded from best-of-row bolding. Best per task within each parameter scale in bold. † Held-out clinical task, not seen during fine-tuning. User-level metrics are given in Table 3 .
OpenTSLM-Cap , caption family
Task
OpenTSLM
Structural
Semantic
Cross-channel
All
Binary (AUROC)
Biological Sex
78.90
78.87
78.42
78.56
79.10
Employment
64.74
69.09
66.61
66.30
66.33
Hypertension
67.96
68.77
71.70
70.38
69.74
Sleep Diagnosis
58.86
60.44
59.25
61.26
59.20
Table 5: Caption-family ablation (1B, user level). Per-user AUROC (binary) and Spearman ρ (ordinal) as in Table 3 , whose 1B OpenTSLM-Cap is re-evaluated here as All . One seed per arm; best per row in bold. † Held-out task.
Appendix figures & tables35 assets
Supplementary material from the paper’s appendix.
Appendix
Task
n_users
n_pos
prev. (%)
Biological Sex (Female=pos)
587
149
25.4
Hypertension
279
90
32.3
Employment (False=pos)
531
127
23.9
Sleep Diagnosis
530
101
19.1
Diabetes †
279
23
8.2
Cardiovascular Disease †
464
71
15.3
Appendix
Table 6: Per-task test-set composition: binary tasks. Captioned test partition: 604 unique users; per-task counts vary due to per-label NaN filtering. “n_pos” is the minority-class user count (the convention used for AUPRC reporting); the minority label is given in parentheses where it differs from the codebase default. † Held-out clinical task, not seen during fine-tuning.
Low 28 (8.5%); Medium 53 (16.2%); High 133 (40.5%); Very High 114 (34.8%)
Appendix
Table 7: Per-task test-set composition: ordinal tasks. User counts per ordinal level. Spearman ρ and QWK reliability scales with the spread of both predicted and ground-truth scores, so heavily concentrated tasks (e.g., Happiness, with 75% of users in High/Very High) have lower effective signal than tasks where the distribution is more even (e.g., BMI).
Training multimodal models to align time series with language runs into a self-supervision trap. The usual recipe asks an LLM to read a series and write a description, so label quality is capped by the perceptual skill the model is supposed to learn. The data can never teach more than the labeler already knows. A second gap makes this worse: most datasets use a single variable, but the patterns that matter (cross-channel correlation, lead-lag structure, co-occurring anomalies) appear only with several variables, right where the labeling LLM's limits are most exposed. These two problems create a trilemma: existing methods are reliable, realistic, or scalable, but none achieves all three. We resolve this by decoupling perception from description. Deterministic code computes a set of statistics from real, open-source multivariate series; the LLM verbalizes those precomputed facts. Perception, which LLMs do poorly, is handled by computation, while the LLM handles expression. This produces CGTime, our 4B-parameter computation-grounded time-series-language model. CGTime outperforms far larger general-purpose models on multivariate understanding tasks: it attains the best multivariate fact score on our held-out benchmark (0.283 vs. 0.173 for GPT-4o-mini and 0.203 for GPT-5.4-nano), a gap that survives Holm-corrected paired significance tests against every baseline. It also states verifiable numerical facts in generated captions more accurately and covers a broader range of statistical properties.
Xinran Feng, Yi Xie, Chao Zhang +4
Thrust of Financial Technology, The Hong Kong University of Science and Technology (Guangzhou) · Technical University of Munich · Heilbronn Data Science Center, Munich Data Science Institute +1
Real-world time series come with text: metadata, descriptions, news, reports. Yet time series foundation models process numerical sequences in isolation, and the multimodal text-and-time-series models that attempt to bridge the two all adapt a pretrained language model post hoc, inheriting representations shaped without ever seeing temporal data. These models are also evaluated almost exclusively against other multimodal baselines, not against the strongest unimodal foundation models in either domain, leaving open whether joint training is needed at all. We present Chronicle, a compact 324M-parameter decoder-only transformer trained from scratch on natural language and time series within a single unified architecture. Both modalities share the same transformer blocks, attention mechanism, and residual stream; the bulk of pretraining uses unimodal batches so cross-modal capability emerges purely from shared parameters, with a short alignment stage that interleaves the two. To our knowledge, Chronicle is the first model jointly pretrained on text and time series from scratch, and the first multimodal model evaluated against dedicated foundation models in both domains. It matches Gemma-3-270M-PT on 19 NLU tasks, sets a new bar for frozen-embedding time series classification on 24 UCR/UEA datasets, and produces multimodal forecasts on Time-MMD that beat every supervised fusion baseline, all from a single backbone.
Paul Quinlan, Jeremy Levasseur, Qingguo Li +1
1InertialAI · Department of Electrical and Computer Engineering, Queen’s University · Department of Mechanical and Materials Engineering, Queen’s University
Multimodal language models have demonstrated strong semantic understanding and reasoning over physiological and behavioral signals captured from diverse healthcare sensors. However, existing sensor-language models can only process a fixed number of sensor channels at a fixed sampling rate, making them difficult to adapt to new or different sensor configurations. This inflexibility prevents models from generalizing across heterogeneous health sensing ecosystems, where data spans high-frequency wearable streams to sparse, day-scale clinical signals. To bridge this gap, we introduce SLIP (Sensor Language-Informed Pretraining), an open-source framework for learning language-aligned representations that generalize across diverse sensor setups. SLIP integrates contrastive alignment with sensor-conditioned captioning, facilitating both discriminative understanding and generative reasoning. By repurposing a pretrained decoder-only language model via cross-attention and introducing a flexible patch embedder, SLIP transfers to new sensor configurations at inference without retraining, regardless of their native sampling rate or input length. Across 11 datasets, SLIP demonstrates superior performance in retrieval, signal captioning, and question answering. It achieves a 77.14% average linear-probing accuracy, a 3.56% improvement over the strongest baseline (SensorLM). Beyond classification, SLIP supports open-vocabulary sensor captioning and question answering without any architectural modifications. Our work offers broad implications for the development of sensor-language models, utilizing cross-modal supervision to ensure more robust generalizability in health sensing applications.