About Cadence
Speech competitors often hear feedback like “speak more clearly” or “slow down,” without knowing where their delivery changed or what to practice. We built Cadence to make that feedback more specific: compare a recording with a reference reading of the same words, find measurable differences over time, and connect them to practical suggestions.
Our prototype uses Python and FastAPI to process audio, extract features such as pitch, volume, speech rate, and pauses, and compare corresponding words against a selected baseline. The dashboard displays a waveform, feature charts, highlighted transcript sections, rubric scores, and explanations. Its deterministic scoring uses feature-specific scales; for example, a deviation is calculated as
pᵢ - bᵢ
dᵢ = ───────, s_{f}
where pᵢ is the participant’s measurement, bᵢ is the corresponding baseline measurement, and s_{f} is a scale based on the baseline’s spread and a feature-specific minimum.
Building Cadence taught us that audio feedback is only useful when timing and comparisons are handled carefully. Comparing against a global average can mistake normal changes in expression for flaws, while standardizing every pitch contour can erase monotone delivery. We instead compare matched word regions and center pitch relative to each speaker while preserving its range.
A major challenge was creating and validating paired data. The current prototype includes controlled synthetic audio fixtures to test the pipeline, along with tools for importing and labeling real recordings. Those fixtures are tones, not human speeches, so validating the system on reviewed real recordings remains essential. We also built an optional WhisperX alignment path, but its model setup and the Next.js build still need verification in our environment.
Cadence is a working prototype, and its fixture tests demonstrate software behavior—not accuracy on real speeches. Our next step is to build and review the real contrastive dataset, then measure detection and timestamp accuracy against independently checked labels.
Log in or sign up for Devpost to join the conversation.