Recording Protocol
Editor’s note, 13 October 2026: this post describes the speech-collection plan published at launch, in February 2026. Speech is now collected by reading short construction texts aloud in the browser; the on-site field protocol below remains a plan. For the current state, see the changelog.
What ships today. Contributors record in the browser: they read short construction texts aloud and may edit a word to say it the way people do where they come from. Recordings join the corpus only after moderation and with the speaker’s consent; selected recordings are on the Voices page.
Plan at launch (February 2026). Capturing authentic construction speech on site requires carefully designed field protocols. The plan foresaw professional-grade portable recorders (Zoom F6, Sound Devices MixPre-6 II) paired with directional lavalier microphones to isolate speech from heavy machinery noise, and a standardized session workflow: environment assessment, equipment calibration, consent documentation, and structured plus free-form speech elicitation.
Sessions were to take place at active construction sites during various phases — foundation work, structural framing, finishing — to capture the full range of domain vocabulary, with both planned speech (reading technical documents aloud) and spontaneous speech (on-site discussions, safety briefings, coordination calls). Each recording would be tagged with metadata including:
- Site type: residential, commercial, infrastructure
- Construction phase: excavation, structural, MEP, finishing
- Noise level: measured in dBA at the recording position
- Recording conditions: indoor, outdoor, semi-enclosed
Speaker Recruitment
Speaker diversity is essential for building a robust ASR training corpus. BUDOVA aims to recruit participants across three axes: regional dialect (Northern — East, Central and West Polissian; Southwestern — Volhynian, Podolian, Upper Dniester, Upper Sian, Pokuttia–Bukovyna, Hutsul, Boyko, Transcarpathian, Lemko; Southeastern — Middle Dnieper, Slobozhanian, Steppe), professional role (engineers, site supervisors, skilled tradespeople, safety officers), and demographics (age, gender). Our goal is a minimum of 200 unique speakers with balanced representation across all dialect groups.
The launch plan foresaw recruitment through partnerships with construction companies, trade unions, and vocational training centres in Kyiv, Lviv, Odesa, Dnipro, Kharkiv, Uzhhorod, Chernivtsi, Ivano-Frankivsk, Lutsk, and other oblasts. Each participant signs an informed consent form (available in Ukrainian) compliant with GDPR and Ukrainian data protection law, allowing their pseudonymized speech data to be released under CC BY 4.0.
Speakers receive compensation for their time, and we conduct brief sociolinguistic questionnaires to capture self-reported dialect features, years of construction experience, and primary specialization. This metadata enables downstream analysis of dialect-specific ASR performance.
Quality Assurance
What ships today. WAV uploads run through an automated audio probe (server/utils/audio-quality.js) that decodes PCM, computes per-frame RMS with percentile-energy VAD, and reports SNR, peak (dBFS), noise floor, bit depth, and channel count. Browser recordings (WebM/Opus, MP4/AAC) and other non-WAV uploads are measured in the browser with the same algorithm (src/utils/audio-quality-client.js), and their SNR, peak and noise floor are stored with the recording; on Opus the SNR reads a few dB high. The corpus target is SNR ≥ 20 dB; recordings below threshold are stored with a qualityWarning in the response so they can be filtered at export time, not silently dropped. The server probe is exercised in CI on every deploy against a synthetic 38.7 dB fixture (tests/fixtures/audio/test-recording.wav), guaranteeing the analyzer itself stays intact.
Transcription happens in the in-app editor on every speech entry; agreement is currently single-pass. For text-mode NER tasks, multi-annotator agreement is computed automatically (Fleiss’ κ over the entity window, i.e. the character positions where at least one annotator marked an entity, plus pairwise span F1) and surfaced in the admin dashboard and on the public inter-annotator agreement page, with merged labels written to dataset_entries.
Roadmap. Quality controls planned for future releases (currently not implemented):
- Two-pass transcription with independent verification in Praat / ELAN workflows
- Forced alignment validation flagging audio-text divergence
- Speaker diarization audit for multi-speaker recordings
- Voice anonymization (x-vector conversion + pitch shifting)
Anything described in this section as “planned” is on the roadmap, not in production. See docs/audio-collection.md for the source-of-truth on shipped capabilities.