Start with What the Task Needs, Not the Technology
Real-time pitch feedback needs to update the screen within tens to hundreds of milliseconds, while the raw audio has no long-term value. A complete voice report, however, requires consistent decoding and more complex feature aggregation, and device differences can make browser-only computation difficult to keep consistent. Choosing where to process audio should address five questions at once: latency, compute cost, consistency, failure recovery, and data minimization.
Four Real-World Paths Across the CVoice Family
| App | Processing Location | Why This Choice |
|---|---|---|
| FrostNote | Local Pitch Detection in the Browser | Needs a real-time trajectory; the server does not need raw recordings or frame-by-frame data |
| MelodyCanvas | Local Browser Synthesis and Scheduling | Input is drawn lines rather than a microphone; playback should respond immediately to edits |
| CVoice | Server-Side Analysis After Upload | Process multiple file formats consistently and generate a complete voice-impression report |
| CVoice Insight | Queued Server-Side Analysis | Longer processing chain requiring task recovery and consistent report generation |
“Local” does not automatically mean safe, and “server-side” does not automatically mean abusive. The real question is whether only the data necessary for the task is collected and whether the page honestly explains its lifecycle.
Responsibility Begins After Upload
A server-side path must at minimum address transport encryption, temporary-file naming, access isolation, cleanup after success and failure, recovery from abnormal interruption, and maximum retention time. CVoice uses raw recordings only for the current analysis and deletes them after completion or failure. Insight retains task state for queues and abnormal recovery, with a maximum cleanup boundary for raw files left behind unexpectedly. Generated structured results and raw audio must also be described separately; a vague statement such as “we protect your privacy” is not enough.
Local processing still requires stopping microphone tracks when not in use, releasing in-memory recordings, and avoiding unrelated identification using device characteristics. FrostNote’s anonymous statistics include only card, duration, accuracy band, and deduplication information—not raw recordings, voiceprints, or frame-by-frame pitch.
How Users Can Judge Whether a Voice Site Is Transparent
- Is microphone access requested automatically on page entry, or only after an explicit action?
- Is audio processed only in the browser, or is it sent to a server?
- How long are raw recordings, analysis results, and anonymous statistics retained separately?
- How is data cleaned up after failures, page closure, or server restarts?
- Will results be played publicly, appear on leaderboards, or be provided to third parties?