Direct answer
A noisy-audio test for an offline translator is a method for locating failure, not a shortcut to a universal quality claim. First identify exactly which stages the tested application performs: microphone capture, audio framing, recognition or transcription, translation, display, and optional playback. `COVE-ASR-01` describes the repository’s current shared engine path as PCM wrapped into WAV and submitted with a transcription instruction to LiteRT-LM; `COVE-ASR-02` describes segmented, sequential transcription and visible placeholders for failed segments. Those facts explain why a test should preserve stage boundaries. They do not show a measured noise threshold, word-error rate, language capability, or successful translation in any particular environment. Build a controlled fixture set before inviting people to interpret results. Use consented or synthetic recordings with a checked reference transcript, fixed speaker distance and device placement, and labels for the sound condition. A “noise condition” should be described by what the recording contains—such as overlapping speech, a steady fan, street ambience, or a short interruption—not by an invented decibel value. Keep the reference phrases identical across runs and include silence, clipped beginnings, names, numbers, negation, and short turns. Do not publish private conversations or record bystanders without appropriate permission and notice. A test record needs a frozen app build, model artifact identity, runtime configuration, language direction, audio source, sample format, segmentation rules, network state, and any preprocessing revision. If one of these changes, treat it as a new condition. Android’s audio-capture documentation describes platform capture APIs and lifecycle responsibilities, while the `AudioRecord` reference documents the low-level recording interface. The application must still establish what frames it received; an empty transcript cannot by itself tell whether the microphone route, buffer, segmentation, recognizer, or translator failed. Review outputs stage by stage. Compare the recognizer’s text with the checked transcript first. Then compare the translation of that recognized text with an independently reviewed target reference. Preserve segment timestamps or sequence identifiers when available, because a missing segment can shift turn alignment. For playback, judge the spoken output separately from displayed text. Keep every failed, empty, partial, and cancelled run in the record; deleting failures creates a misleading sample. When the exact runtime does not expose an intermediate stage, mark it unavailable rather than reconstructing it from a fluent final sentence. Make the report useful without making it promotional: list the fixture design, exact route, observed stage outcomes, exclusions, and known limitations. If results vary, show the condition matrix and raw record schema rather than an unsupported single score. Do not say a particular phone “handles noise,” that a language pair is dependable, or that emergency speech will be understood unless exact-device evidence and appropriate review support that statement. A passed synthetic fixture demonstrates only that fixture in the recorded setup. Repeat the workflow after changes to the model, microphone path, segmentation, runtime, prompt, or translation parser, and keep the user-facing claim no broader than the test evidence.
A traveler tests a short spoken request near competing voices
A QA reviewer needs to know whether an observed wrong translation began in capture, transcription, or translation. The test uses a newly recorded consented phrase and a labeled competing-speech condition; it does not assume any noise capability.
Decision
Keep a checked source transcript, capture condition, recognition output, and target reference as separate records. Treat missing intermediate output as unknown rather than guessing the failed stage.
Expected outcome
The report identifies the stage that can be evidenced, preserves partial failures, and makes no generalized phone, language, or noise-performance claim.
Evidence to collect
The claim becomes reviewable only when the following evidence is attached to the same artifact and test run:
- Audio and transcript fixtures
- Noise-condition labels
- Recognition, translation, and failure outcomes
A release claim is valid only for the recorded configuration and acceptance set. Generalization requires additional records.
Implementation workflow
- Freeze the test configuration. Record app build, artifact identity, runtime, requested language direction, audio source and format, segmentation configuration, preprocessing revision, and connectivity state. Give the run a unique ID.
- Prepare labeled, consented fixtures. Use a checked reference transcript and a fixed short phrase set with silence, clipped starts, names, numbers, negation, and short turns. Label the sound scenario in descriptive terms; do not invent a measured noise threshold.
- Verify capture before language output. Record whether audio frames were produced, their declared format and duration metadata if available, and whether interruption or permission state changed. Do not infer recognition from a non-empty final translation.
- Score each stage independently. Compare recognized text with the transcript, then translation with a separately reviewed target reference. Keep missing segments, empty results, cancellation, and malformed output in the run record.
- Publish method and limits. Report exact fixtures, route, stage observations, exclusions, and unobserved intermediates. Repeat after audio, segmentation, runtime, or model changes; scope every statement to the recorded test.
Keep each transition observable. A failure should identify the stage, artifact, runtime, and recovery action without logging private user content.
Acceptance criteria
- Every run identifies the tested build, artifact/runtime, route, fixture, capture setup, and network condition so another reviewer can reproduce the method.
- Capture, recognition, translation, and optional playback outcomes are not collapsed into one pass/fail label; failed and partial runs are retained.
- The report contains no invented noise threshold, accuracy, language guarantee, or device verdict and limits conclusions to the recorded fixtures.
Decision table
| Dimension | Choice or evidence | How to interpret it |
|---|---|---|
| Quiet reference fixture | Baseline capture and stage trace | Helps establish whether the pipeline works for the chosen phrase; it does not characterize noise behavior. |
| Labeled competing sound | Diagnostic condition with fixed phrase | Can reveal a stage-specific difference for this setup; it is not a universal real-world ranking. |
| Uncontrolled public recording | Exploratory observation only | Mixes speakers, distance, permission, route, and room effects; do not treat it as a comparable benchmark. |
Failure patterns to prevent
- Testing clean studio audio only
- Combining recognition and translation errors
Also prevent silent fallback, unpinned artifacts, missing cancellation, and conclusions that combine unlike configurations. Store unsuccessful runs alongside successful ones.
Minimum reproducibility record
| Layer | Record |
|---|---|
| Device | Manufacturer, model, chipset, RAM class, operating-system build |
| Software | Application version and git commit |
| Model | Family, variant, revision, format, file length, hash, quantization |
| Runtime | Name, revision, requested backend, observed backend evidence |
| Workload | Fixture revision, input hash, prompt hash, output policy |
| Outcome | Completed, failed, cancelled, fallback, and privacy-safe diagnostics |
Release checklist
- ☐ The primary query is answered without an unsupported number.
- ☐ Every artifact and runtime is pinned.
- ☐ The representative task and failure policy are explicit.
- ☐ Lifecycle, cancellation, cleanup, and fallback are tested.
- ☐ User-content and network boundaries are documented.
- ☐ Result wording applies only to the recorded configuration.
- ☐ The page links to raw method or evidence when results are added.
Sources and related evidence
- Cove Travel voice translation
- Cove benchmark method
- Android audio capture overview
- Android AudioRecord reference
- Android audio formats reference
Chinese deployment and troubleshooting content is organized in the .奇连 AI 端侧专题.
Frequently asked questions
Can one noisy recording prove a translator works in noisy places?
No. One recording is a single fixture and setup. Preserve the reference, capture details, language direction, and stage outputs; broader claims require a documented representative test set.
Should recognition and translation be scored together?
No. Compare transcription with its source reference first, then compare translation against a reviewed target. Otherwise a recognition omission can be mistaken for a translation failure.
Can I use a decibel cutoff without measuring it?
No. Describe the sound condition honestly or use a calibrated measurement with its method. Never invent a numeric noise level to make a fixture sound scientific.