{
  "schemaVersion": 1,
  "product": "Kokoro Web",
  "productCaption": "Pure text-to-speech utility using supplied synthetic voices. The test covers English text to audio generation.",
  "author": "Eduardo Lat / Luis Eduardo",
  "officialRepository": "https://github.com/eduardolat/kokoro-web",
  "nativeUiUrl": "https://voice-generator.pages.dev/",
  "fixedResearchSourceCommit": "2cb9d771a549870e7220783a53bdb2e99ed2f421",
  "hostedCommitBinding": "Not established. Root observed the native UI's v0.1.3 label; this does not prove the hosted bundle was built from the research commit.",
  "uiControls": {
    "executionPlace": {
      "label": "Execution place",
      "option": "Browser",
      "value": "browser"
    },
    "acceleration": {
      "label": "Acceleration",
      "option": "CPU",
      "value": "cpu"
    },
    "model": {
      "label": "Model quantization",
      "option": "92.4 MB - model_quantized (8-bit)",
      "value": "model_quantized"
    },
    "language": {
      "label": "Language accent (region)",
      "option": "English (US)",
      "value": "en-us"
    },
    "voice": {
      "option": "Heart (A)",
      "value": "af_heart"
    },
    "voiceMode": "simple; Advanced Mode unchecked",
    "speed": {
      "label": "Speed 1x",
      "value": 1
    },
    "inputLabel": "Text to process",
    "generateLabel": "Generate Voice",
    "format": "Native default MP3; do not inject hidden state to request WAV",
    "outputControl": "Output player Download"
  },
  "modelMetadataOnly": {
    "repository": "onnx-community/Kokoro-82M-v1.0-ONNX",
    "revision": "1939ad2a8e416c0acfeecc08a694d14ef25f2231",
    "model": {
      "path": "onnx/model_quantized.onnx",
      "bytes": 92361116,
      "advertisedLfsSha256": "fbae9257e1e05ffc727e951ef9b9c98418e6d79f1c9b6b13bd59f5c9028a1478"
    },
    "voice": {
      "path": "voices/af_heart.bin",
      "bytes": 522240,
      "advertisedLfsSha256": "d583ccff3cdca2f7fae535cb998ac07e9fcb90f09737b9a41fa2734ec44a8f0b"
    },
    "modelWeightsDownloadedOrVerifiedLocallyByThisResearch": false
  },
  "executionLimits": {
    "nativeGenerateClicksPerCase": 1,
    "useFirstNativeOutput": true,
    "repairRetryOrEditing": false,
    "accountOrApiProviderSetup": false,
    "voiceCloning": false,
    "businessActions": false,
    "syntheticTextOnly": true,
    "noProviderOnlyOrHandwrittenWrapperSubstitution": true
  },
  "cases": [
    {
      "id": "kokoro-web-primary",
      "kind": "primary",
      "inputFile": "inputs/primary-text.txt",
      "inputPolicy": "Use the file contents verbatim except removing its single final line terminator; preserve every punctuation mark, number and negation.",
      "text": "The community garden opens on Saturday at 10:00 a.m. Bring a water bottle and meet our volunteers at the blue gate. Do not bring pets. This announcement is a test, and every detail is fictional.",
      "firstNativeExport": "results/primary/first-native-export.mp3",
      "conditions": [
        {
          "id": "primary-input-controls",
          "criterion": "Capture the exact input and every frozen visible UI control before generation."
        },
        {
          "id": "primary-single-native-generation",
          "criterion": "One Generate Voice click in the actual native Browser/CPU UI; retain any first error instead of silently retrying or changing settings."
        },
        {
          "id": "primary-first-native-mp3",
          "criterion": "Download the first native output without edits or stitching. Record file bytes and SHA256; decoding confirms an MP3 audio stream with positive duration."
        },
        {
          "id": "primary-audible-output",
          "criterion": "The first output plays as audible English speech rather than an empty, silent or corrupt file. Record actual duration and any rendering failure; waveform metadata alone does not prove intelligibility."
        },
        {
          "id": "primary-facts-negation",
          "criterion": "Listening confirms Saturday, 10:00 a.m., water bottle, blue gate, and the negation in Do not bring pets are preserved; record each item separately."
        },
        {
          "id": "primary-complete-text",
          "criterion": "Listening confirms the complete announcement through every detail is fictional, with no added content or early truncation. If no listening review is available, leave this condition unverified."
        }
      ]
    },
    {
      "id": "kokoro-web-boundary",
      "kind": "boundary",
      "inputFile": "inputs/boundary-text.txt",
      "inputPolicy": "Use the file contents verbatim except removing its single final line terminator; preserve B72, $12.50, October 12, 2026, 3:30 p.m., [1s], and both negated actions.",
      "text": "Test notice: parcel B72 costs $12.50. Delivery is October 12, 2026, at 3:30 p.m.[1s]Do not send messages or place orders. Every detail in this notice is fictional.",
      "firstNativeExport": "results/boundary/first-native-export.mp3",
      "conditions": [
        {
          "id": "boundary-input-controls",
          "criterion": "Capture the exact boundary input and the same frozen native UI settings before generation."
        },
        {
          "id": "boundary-single-native-generation",
          "criterion": "One Generate Voice click; retain first native failure and prohibit replacement outputs or changed settings."
        },
        {
          "id": "boundary-first-native-mp3",
          "criterion": "Download and retain the first native MP3. Record bytes, SHA256, stream metadata and actual duration; it must decode and play as audible speech."
        },
        {
          "id": "boundary-number-date-time",
          "criterion": "Listening confirms parcel B72, twelve dollars and fifty cents, October twelfth twenty twenty six, and three thirty p.m. Preserve the meaning of every value; equivalent natural spoken forms are accepted and deviations are recorded individually."
        },
        {
          "id": "boundary-silence-tag",
          "criterion": "Listening confirms an audible pause between p.m. and Do not, and does not speak the [1s] control tag. Record the measured interval if reviewed from decoded audio; do not claim exact one-second accuracy without measurement."
        },
        {
          "id": "boundary-negation-completion",
          "criterion": "Listening confirms Do not send messages or place orders and the closing fictional disclaimer without added or missing content. This evaluates spoken text preservation, with no real messages or orders executed."
        }
      ]
    }
  ],
  "resultStatusAtFreeze": "not_executed"
}
