Skip to main content

Research protocol v0.1 · reviewed August 24, 2026

Text-to-speech app test protocol

A useful comparison needs the same files, device conditions, and measurements for every app. The fixture manifest and hashes are now frozen, and wave 01 records the first ReadGoodr observations plus Speechify's public US price displays. Incomplete rows stay visibly incomplete.

Core test rules

Same input

Both apps receive the same article, document, scan, language sample, and account-region view.

Recorded conditions

We log app version, iPhone model, iOS version, network, date, plan, and every manual step.

Observation before opinion

Timings, failures, OCR samples, and screenshots are stored separately from subjective voice preferences.

Reproducibility gate

What is frozen before a result can count

Fixture manifest

Record every URL and filename, a SHA-256 hash for each local fixture, its license or usage basis, and the human reference text used for OCR scoring.

Timing events

Start at the defined untouched state; stop at the first comprehensible spoken word. Run five cold and five warm trials per app, alternate app order, and record a 120-second timeout as a failure.

OCR calculation

Compare extracted text with a fixed human transcription and report word error rate and character error rate alongside omissions, inventions, and reading-order errors.

Price normalization

Capture US web and App Store checkout totals on the same date. Compare annual with annual and monthly with monthly; mark an unavailable period as not offered.

Evidence wave 01

First observations, including the failure

ReadGoodr was observed on an iPhone 16 Pro simulator running iOS 18.5 with bundle version 2. These are single-run functional observations, not speed or quality winners. Speechify's figures below are official public US web displays, not a completed checkout.

T02 · partial pass

Selectable-text PDF

A controlled 10-page PDF imported through Safari share. ReadGoodr showed 1/10, navigated to pages 2 and 10, displayed the correct page markers, and disabled next navigation at 10/10. Full extraction scoring and human audio review remain pending.

T03 · observed limitation

Image-only PDF

A controlled five-page image-only PDF reached ReadGoodr through the same share path, but the build returned “No text found” instead of invoking OCR. Separate camera and document-scan OCR still need their own physical run.

T05 · partial

Direct text and quota behavior

The exact 150-word fixture imported and reached the player. With all 30 Pro Voice hours already used, Rachel opened the extra-hours screen and the player then exposed robot fallback. Alabama–Darlene prepared and entered visible playback state. No human listening result is claimed.

T10 · public displays

Speechify price views

Speechify's official US web page displayed $29/month and $139/year for Premium. Its Free card advertised up to 1.5×, 10 robotic-sounding voices, and TTS-only features. Checkout, tax, renewal, and cancellation evidence remain pending.

Frozen fixture hashes: direct text 5ee04498…13205, selectable PDF bdddb47f…f128, image-only PDF f2739beb…134. Full SHA-256 values are retained in the run manifest.

Test matrix

13 shared tests, no moving goalposts

Every row produces a timestamped evidence record for both apps. A row cannot be called complete from marketing copy alone.

ReadGoodr and Speechify comparison test matrix
IDScenarioControlled inputWhat we recordStatus
T01Clean web articleThe same public English-language article URLImport success, cleanup quality, steps to play, and time to first comprehensible speechFixture defined · matched run pending
T02Text-based PDFThe same 10-page selectable-text PDFImport success, reading order, page navigation, highlighting, and first-audio timeWave 01 · ReadGoodr partial pass; Speechify pending
T03Scanned PDFThe same image-only five-page PDFOCR success, omitted or invented words, reading order, and time until playbackWave 01 · image-only PDF rejected; camera OCR pending
T04Photographed book pageThe same curved, evenly lit printed pageCapture steps, OCR word error sample, paragraph order, and playback resultFixture defined · matched run pending
T05Direct short-text importThe same 150-word sample pasted into each appNumber of user actions and time from untouched app state to first comprehensible speechWave 01 · ReadGoodr partial; audible check pending
T06Long documentThe same 20,000-word documentImport reliability, processing time, resume behavior, and navigationFixture defined · matched run pending
T07English voice and speedThe same 500-word English passageAvailable voices, intelligibility at 1×/2×/3×, and maximum selectable speedFixture defined · matched run pending
T08Swedish textThe same 500-word Swedish passageLanguage detection, pronunciation notes, available voices, and highlightingFixture defined · matched run pending
T09Follow-along readingThe same article with paragraph and sentence markersHighlight alignment, tap-to-seek behavior, scrolling, and recovery after manual scrollFixture defined · matched run pending
T10Price, trial, and cancellationNew US web and App Store account views for each available channel on the same dateDisplayed checkout total, normalized billing period, trial terms, renewal disclosure, and cancellation pathPublic web displays verified; matched checkout pending
T11Control Center copied textThe same 150-word clipboard sample launched from the actual ReadGoodr Control Center controlWhether text reaches the app, error state, number of actions, and time to first comprehensible speechFixture defined · matched run pending
T12Control Center copied URLThe same article URL on the clipboard, launched from the actual ReadGoodr Control Center controlWhether the URL reaches import, error state, cleanup result, number of actions, and time to first speechFixture defined · matched run pending
T13Limited mode, Trial, Pro, and Max boundariesThe same direct non-URL text, article URL, scan, and existing document under each entitlement stateLimited Apple-voice fallback after an active opt-out; URL, OCR, scan, and file gating before network, camera warmup, or library creation; Trial, Pro, and Max continuation; expired and billing-issue paywall behaviorFixture defined · matched run pending

Evidence record for every run

  • Protocol version, fixture manifest, hashes, test date, app version, plan, device, iOS version, account region, and network.
  • A screen recording from the untouched input through the first comprehensible spoken word.
  • Five cold and five warm runs per timing scenario, with app order alternated and every timeout retained.
  • The number of deliberate user actions, import failures, warnings, and recovery steps.
  • OCR output checked against a human reference with WER, CER, omissions, inventions, and reading-order errors recorded.
  • Visible price, billing period, trial, renewal text, and the path to manage or cancel the subscription.

Evidence and official sources

Official competitor sources establish advertised features and prices. The ReadGoodr wave entry records controlled physical observations. Neither replaces the still-pending matched runs. All were reviewed on August 24, 2026.

  • ReadGoodr physical test wave 01

    Controlled iPhone 16 Pro simulator observations for direct text, a selectable-text PDF, an image-only PDF, quota fallback, and visible playback state.

  • Speechify pricing

    Free and Premium plan details, the $29 monthly and $139 yearly US web displays, speed, voices, languages, scan, and cloud integrations.

  • Speechify iOS product page

    iOS features including highlighting, scan and listen, and broader AI tools.

  • Speechify on the US App Store

    Supported Apple platforms, public app description, and in-app-purchase disclosures.

Next

See the current decision guide

The comparison page separates verified public facts from launch assumptions and pending measurements, so you can decide whether either app fits today.

Compare ReadGoodr and Speechify