{
 "page": "/remove-echo-from-audio/",
 "producedOn": "2026-10-19",
 "playback": {
  "targetLufs": -20,
  "method": "One fixed gain per file (FFmpeg volume filter) so original, Flash and Pro play at about the same loudness; peaks kept at or below -1 dBFS. 96 kbps mono MP3. No compression, limiting or other processing.",
  "restoredOutput": "Restored speech only; no background mixed back in."
 },
 "rooms": [
  {
   "slug": "library-lecture",
   "source": {
    "title": "Lecture by Dovid Katz „Cultures of the Litvaks“.webm",
    "commonsPage": "https://commons.wikimedia.org/wiki/File:Lecture_by_Dovid_Katz_%E2%80%9ECultures_of_the_Litvaks%E2%80%9C.webm",
    "fileUrl": "https://upload.wikimedia.org/wikipedia/commons/1/16/Lecture_by_Dovid_Katz_%E2%80%9ECultures_of_the_Litvaks%E2%80%9C.webm",
    "license": "CC BY 3.0",
    "licenseUrl": "https://creativecommons.org/licenses/by/3.0",
    "author": "Vilniaus žydų viešoji biblioteka",
    "excerptStartSeconds": 1793.6,
    "excerptEndSeconds": 1822.1,
    "excerptSha256": "482389efc445620abd39d255b8fef527d222fb07ac6d900e12c90a8769671cb5",
    "preparation": "Decoded the Commons file with FFmpeg to mono 48 kHz PCM16 WAV, cut to the excerpt with 20 ms fades. No noise added, no processing."
   },
   "restorations": [
    {
     "model": "diffio-4.5-flash",
     "via": "Diffio production API (create_project, diffio-4.5-flash-generation, get_generation_download audio)",
     "apiProjectId": "6c8f4344-1ffe-48ad-bbc8-a136039fd91f",
     "generationId": "314b5c7e-87bf-5fdc-8cec-3ca9308eae1f",
     "requestedAtUtc": "2026-10-19T17:23:27.367899+00:00",
     "downloadedAtUtc": "2026-10-19T17:23:51.835301+00:00"
    },
    {
     "model": "diffio-4.5-pro",
     "via": "Diffio production API (create_project, diffio-4.5-pro-generation, get_generation_download audio)",
     "apiProjectId": "6c8f4344-1ffe-48ad-bbc8-a136039fd91f",
     "generationId": "8c6bd403-0924-5b26-8194-28ffc12635f7",
     "requestedAtUtc": "2026-10-19T17:23:28.951706+00:00",
     "downloadedAtUtc": "2026-10-19T17:23:53.045235+00:00"
    }
   ],
   "webFiles": {
    "original": {
     "file": "library-lecture-original.mp3",
     "measuredLufs": -46.6,
     "samplePeakDbfs": -23.9,
     "fixedGainDb": 22.9,
     "durationSeconds": 28.55,
     "sizeBytes": 342980,
     "sha256": "c61946cdbb34de06e41f5897e1f49dd82c01783f44aa95d2e96eb1e71c75a33e"
    },
    "flash": {
     "file": "library-lecture-flash.mp3",
     "measuredLufs": -24.6,
     "samplePeakDbfs": -1.3,
     "fixedGainDb": 0.3,
     "durationSeconds": 28.55,
     "sizeBytes": 342980,
     "sha256": "64b7c0b1b10c11dd1e3086f791f9622115f6a637e9104ece90d628ace953ffba"
    },
    "pro": {
     "file": "library-lecture-pro.mp3",
     "measuredLufs": -24.7,
     "samplePeakDbfs": -1.2,
     "fixedGainDb": 0.2,
     "durationSeconds": 28.55,
     "sizeBytes": 342980,
     "sha256": "39b67715132e1ab56b9d62733f98e15050546e833a616d212d8588471a11de79"
    }
   }
  },
  {
   "slug": "museum-gallery",
   "source": {
    "title": "Old Courthouse Tour Part 1 (jeff-200521e-08AD-OCHPARTONE-CARL_1280x720.mp4)",
    "sourcePage": "https://www.nps.gov/media/video/view.htm?id=1883EC21-5EC7-4575-8D4F-A7FECDC0EA91",
    "fileUrl": "https://www.nps.gov/nps-audiovideo/legacy/jeff/67B513C7-E3D6-8A2D-67253036A6469A43/jeff-200521e-08AD-OCHPARTONE-CARL_1280x720.mp4",
    "license": "Public domain",
    "licenseUrl": "https://www.nps.gov/aboutus/disclaimer.htm",
    "author": "National Park Service (NPS/Sue Ford)",
    "restoredExcerptStartSeconds": 9.5,
    "restoredExcerptEndSeconds": 62.0,
    "restoredExcerptSha256": "d1899b65fd80daf139a80f07c7eb705575a8c1280f0f2c7eca92035175a12ccb",
    "excerptStartSeconds": 23.1,
    "excerptEndSeconds": 54.2,
    "preparation": "Decoded the source with FFmpeg to mono 48 kHz PCM16 WAV and cut a longer excerpt with 20 ms fades, which was uploaded and restored. The original, Flash and Pro files were then trimmed to the same window (20 ms fades) where machine transcripts of all three agree. No noise added, no processing."
   },
   "restorations": [
    {
     "model": "diffio-4.5-flash",
     "via": "Diffio production API (create_project, diffio-4.5-flash-generation, get_generation_download audio)",
     "apiProjectId": "9db7fc17-17c5-4124-b260-6ba2f67974f6",
     "generationId": "508fa3ab-cf79-577d-b74d-bcf8d9dcb38a",
     "requestedAtUtc": "2026-10-19T20:38:15.336152+00:00",
     "downloadedAtUtc": "2026-10-19T20:38:36.370024+00:00"
    },
    {
     "model": "diffio-4.5-pro",
     "via": "Diffio production API (create_project, diffio-4.5-pro-generation, get_generation_download audio)",
     "apiProjectId": "9db7fc17-17c5-4124-b260-6ba2f67974f6",
     "generationId": "9d741f63-fcd9-5fdd-a3fa-72812c3ecdb3",
     "requestedAtUtc": "2026-10-19T20:38:16.601313+00:00",
     "downloadedAtUtc": "2026-10-19T20:38:48.049813+00:00"
    }
   ],
   "webFiles": {
    "original": {
     "file": "museum-gallery-original.mp3",
     "measuredLufs": -19.0,
     "samplePeakDbfs": -2.1,
     "fixedGainDb": -1.0,
     "durationSeconds": 31.14,
     "sizeBytes": 374014,
     "sha256": "2961d24b7237c897b009379fac9ad3fd60d03db8d37a0dbb70882d78873f3f82"
    },
    "flash": {
     "file": "museum-gallery-flash.mp3",
     "measuredLufs": -20.7,
     "samplePeakDbfs": -2.1,
     "fixedGainDb": 0.7,
     "durationSeconds": 31.14,
     "sizeBytes": 374014,
     "sha256": "61f684e09e2c2fc5b8969c24d1c60dc079f5d0dea1c5f6f4b1294e3d702a4240"
    },
    "pro": {
     "file": "museum-gallery-pro.mp3",
     "measuredLufs": -20.3,
     "samplePeakDbfs": -1.8,
     "fixedGainDb": 0.3,
     "durationSeconds": 31.14,
     "sizeBytes": 374014,
     "sha256": "a812266bff2f0e7df8b7ffbbf4d3a9fddb9434726023ed4bb88c78b7662238f2"
    }
   }
  },
  {
   "slug": "stone-chapel",
   "source": {
    "title": "Sermon at Calvary, Church of the Holy Sepulchre.webm",
    "commonsPage": "https://commons.wikimedia.org/wiki/File:Sermon_at_Calvary,_Church_of_the_Holy_Sepulchre.webm",
    "fileUrl": "https://upload.wikimedia.org/wikipedia/commons/6/6c/Sermon_at_Calvary%2C_Church_of_the_Holy_Sepulchre.webm",
    "license": "CC BY 3.0",
    "licenseUrl": "https://creativecommons.org/licenses/by/3.0",
    "author": "Fabricio E. Lomanto",
    "excerptStartSeconds": 12.7,
    "excerptEndSeconds": 50.6,
    "excerptSha256": "e293f0c36c062f5b56e0499b377f82a4252a89fcaecef466143d10ea7c329df7",
    "preparation": "Decoded the Commons file with FFmpeg to mono 48 kHz PCM16 WAV, cut to the excerpt with 20 ms fades. No noise added, no processing."
   },
   "restorations": [
    {
     "model": "diffio-4.5-flash",
     "via": "Diffio production API (create_project, diffio-4.5-flash-generation, get_generation_download audio)",
     "apiProjectId": "c2736879-bef0-41df-8b05-9334986983d9",
     "generationId": "d3b27c8c-14f0-5fd4-b994-0c692f9dfb1a",
     "requestedAtUtc": "2026-10-19T17:23:39.208625+00:00",
     "downloadedAtUtc": "2026-10-19T17:23:56.489451+00:00"
    },
    {
     "model": "diffio-4.5-pro",
     "via": "Diffio production API (create_project, diffio-4.5-pro-generation, get_generation_download audio)",
     "apiProjectId": "c2736879-bef0-41df-8b05-9334986983d9",
     "generationId": "a1cd6b4f-9353-523a-b27f-93a4d8cdd7b3",
     "requestedAtUtc": "2026-10-19T17:23:40.483178+00:00",
     "downloadedAtUtc": "2026-10-19T17:24:08.867458+00:00"
    }
   ],
   "webFiles": {
    "original": {
     "file": "stone-chapel-original.mp3",
     "measuredLufs": -21.3,
     "samplePeakDbfs": -3.3,
     "fixedGainDb": 1.3,
     "durationSeconds": 37.93,
     "sizeBytes": 455516,
     "sha256": "ff9186370d4ba814c182e6775d04c9262c3b09b7c01eb8ba782b957a2cb33adc"
    },
    "flash": {
     "file": "stone-chapel-flash.mp3",
     "measuredLufs": -19.6,
     "samplePeakDbfs": -1.3,
     "fixedGainDb": -0.4,
     "durationSeconds": 37.93,
     "sizeBytes": 455516,
     "sha256": "2f95a2a961e821583281a84ab6d19175e80372efa4f767d387466c8e200ecab7"
    },
    "pro": {
     "file": "stone-chapel-pro.mp3",
     "measuredLufs": -19.2,
     "samplePeakDbfs": -1.2,
     "fixedGainDb": -0.8,
     "durationSeconds": 37.93,
     "sizeBytes": 455516,
     "sha256": "2453fe4c1bcc482380298b4bd34ba044bb4d9cf5048f6f90c325ff19f27abe63"
    }
   }
  },
  {
   "slug": "school-cafeteria",
   "source": {
    "title": "Red Cross Shelter Serves Florence Evacuees.webm",
    "commonsPage": "https://commons.wikimedia.org/wiki/File:Red_Cross_Shelter_Serves_Florence_Evacuees.webm",
    "fileUrl": "https://upload.wikimedia.org/wikipedia/commons/f/ff/Red_Cross_Shelter_Serves_Florence_Evacuees.webm",
    "license": "Public domain",
    "licenseUrl": "https://commons.wikimedia.org/wiki/Template:PD-USGov-VOA",
    "author": "VOA News",
    "restoredExcerptStartSeconds": 29.0,
    "restoredExcerptEndSeconds": 105.96,
    "restoredExcerptSha256": "aa8f6c6daf3aa20d720689aafb87ce23c6495e6cf646629fa0b692fa9cd263ab",
    "excerptStartSeconds": 40.75,
    "excerptEndSeconds": 78.9,
    "preparation": "Decoded the source with FFmpeg to mono 48 kHz PCM16 WAV and cut a longer excerpt with 20 ms fades, which was uploaded and restored. The original, Flash and Pro files were then trimmed to the same window (20 ms fades) where machine transcripts of all three agree. No noise added, no processing."
   },
   "restorations": [
    {
     "model": "diffio-4.5-flash",
     "via": "Diffio production API (create_project, diffio-4.5-flash-generation, get_generation_download audio)",
     "apiProjectId": "7df2a40d-b98f-4bd9-95a3-b2bafed971c9",
     "generationId": "65ed5356-be7d-5f48-b92d-a10206c6149b",
     "requestedAtUtc": "2026-10-19T20:38:04.324362+00:00",
     "downloadedAtUtc": "2026-10-19T20:38:33.142398+00:00"
    },
    {
     "model": "diffio-4.5-pro",
     "via": "Diffio production API (create_project, diffio-4.5-pro-generation, get_generation_download audio)",
     "apiProjectId": "7df2a40d-b98f-4bd9-95a3-b2bafed971c9",
     "generationId": "b7132667-fc83-5a9c-9663-cef4dda00072",
     "requestedAtUtc": "2026-10-19T20:38:08.217171+00:00",
     "downloadedAtUtc": "2026-10-19T20:38:34.686032+00:00"
    }
   ],
   "webFiles": {
    "original": {
     "file": "school-cafeteria-original.mp3",
     "measuredLufs": -22.7,
     "samplePeakDbfs": 0.3,
     "fixedGainDb": -1.3,
     "durationSeconds": 38.19,
     "sizeBytes": 458650,
     "sha256": "af538c36e8f2b9adf85ee35fb156ca46024f04ac5def347e60ed828258149508"
    },
    "flash": {
     "file": "school-cafeteria-flash.mp3",
     "measuredLufs": -28.8,
     "samplePeakDbfs": -1.2,
     "fixedGainDb": 0.2,
     "durationSeconds": 38.19,
     "sizeBytes": 458650,
     "sha256": "88058cc2fe4cdb24bc5bc12a85667a39ca4da0f04b96ef4003f02f7124c32a4b"
    },
    "pro": {
     "file": "school-cafeteria-pro.mp3",
     "measuredLufs": -25.4,
     "samplePeakDbfs": -5.6,
     "fixedGainDb": 4.6,
     "durationSeconds": 38.19,
     "sizeBytes": 458650,
     "sha256": "cf6a019fc9d8d55c103ac445965054eb4b2f207cb6a5d85588c6ab37bab9827a"
    }
   }
  },
  {
   "slug": "conference-hall",
   "source": {
    "title": "Margrit Hugentobler's speech, Lidköping, Sweden.webm",
    "commonsPage": "https://commons.wikimedia.org/wiki/File:Margrit_Hugentobler%27s_speech,_Lidk%C3%B6ping,_Sweden.webm",
    "fileUrl": "https://upload.wikimedia.org/wikipedia/commons/e/ea/Margrit_Hugentobler%27s_speech%2C_Lidk%C3%B6ping%2C_Sweden.webm",
    "license": "CC BY 3.0",
    "licenseUrl": "https://creativecommons.org/licenses/by/3.0",
    "author": "Yann Forget",
    "excerptStartSeconds": 54.4,
    "excerptEndSeconds": 87.4,
    "excerptSha256": "68f9e25cb7a5d12de28d14fd919cb931a0e36e4f7e878129eae19c6a80590f61",
    "preparation": "Decoded the Commons file with FFmpeg to mono 48 kHz PCM16 WAV, cut to the excerpt with 20 ms fades. No noise added, no processing."
   },
   "restorations": [
    {
     "model": "diffio-4.5-flash",
     "via": "Diffio production API (create_project, diffio-4.5-flash-generation, get_generation_download audio)",
     "apiProjectId": "1dc10198-f87d-4f04-ba83-079204d6a1b9",
     "generationId": "d10a8f77-cad4-53e1-b3a0-f4aeed959ae9",
     "requestedAtUtc": "2026-10-19T17:23:49.566131+00:00",
     "downloadedAtUtc": "2026-10-19T17:24:11.963784+00:00"
    },
    {
     "model": "diffio-4.5-pro",
     "via": "Diffio production API (create_project, diffio-4.5-pro-generation, get_generation_download audio)",
     "apiProjectId": "1dc10198-f87d-4f04-ba83-079204d6a1b9",
     "generationId": "772779ff-4505-5126-894f-c5b7b488911d",
     "requestedAtUtc": "2026-10-19T17:23:50.658260+00:00",
     "downloadedAtUtc": "2026-10-19T17:24:13.345342+00:00"
    }
   ],
   "webFiles": {
    "original": {
     "file": "conference-hall-original.mp3",
     "measuredLufs": -25.3,
     "samplePeakDbfs": -3.5,
     "fixedGainDb": 2.5,
     "durationSeconds": 33.04,
     "sizeBytes": 396897,
     "sha256": "eef89d3fe2c728c02a0bfbfde0d3acd4a3c8697d81e6549190d7bf1dc88fac25"
    },
    "flash": {
     "file": "conference-hall-flash.mp3",
     "measuredLufs": -21.7,
     "samplePeakDbfs": -1.3,
     "fixedGainDb": 0.3,
     "durationSeconds": 33.04,
     "sizeBytes": 396897,
     "sha256": "617fe4eafe3d269d9432924f3f155b9e724a5564906343583235833262273930"
    },
    "pro": {
     "file": "conference-hall-pro.mp3",
     "measuredLufs": -20.2,
     "samplePeakDbfs": -1.2,
     "fixedGainDb": 0.2,
     "durationSeconds": 33.04,
     "sizeBytes": 396897,
     "sha256": "41acd75a798ca38f2ad115bea7bb00ba29d2d82a7663ba55b2422f4ed07ad04d"
    }
   }
  }
 ],
 "illustration": {
  "file": "direct-sound-and-reflections.webp",
  "generator": "gpt-image-2.5-flare",
  "via": "diffio-blog/tools blog_header_image.py",
  "createdAtUnix": 1792431161,
  "note": "Illustrative diagram, cropped and exported to WebP 1200x374. Not a product screenshot."
 },
 "video": {
  "files": [
   "echo-removal-walkthrough.mp4",
   "echo-removal-walkthrough.webm",
   "echo-removal-walkthrough-poster.webp",
   "echo-removal-walkthrough.vtt"
  ],
  "durationSeconds": 43,
  "captureMethod": "Real Chrome screenshots of the Diffio app on a local stack (Firebase emulators, real Mac mini restore of the stone chapel excerpt with Diffio 4.5 Pro on October 19, 2026), composed in HyperFrames 0.8.176 with the real original and Pro audio. Edited walkthrough, waits cut; not a continuous screen recording.",
  "audio": "stone-chapel-original.mp3 0.00-6.80 s, stone-chapel-pro.mp3 0.00-6.90 s, stone-chapel-original.mp3 7.75-11.15 s, stone-chapel-pro.mp3 11.05-16.05 s"
 },
 "files": [
  {
   "name": "conference-hall-flash.mp3",
   "sizeBytes": 396897,
   "sha256": "617fe4eafe3d269d9432924f3f155b9e724a5564906343583235833262273930"
  },
  {
   "name": "conference-hall-original.mp3",
   "sizeBytes": 396897,
   "sha256": "eef89d3fe2c728c02a0bfbfde0d3acd4a3c8697d81e6549190d7bf1dc88fac25"
  },
  {
   "name": "conference-hall-pro.mp3",
   "sizeBytes": 396897,
   "sha256": "41acd75a798ca38f2ad115bea7bb00ba29d2d82a7663ba55b2422f4ed07ad04d"
  },
  {
   "name": "direct-sound-and-reflections.webp",
   "sizeBytes": 16780,
   "sha256": "553161a23e0322d73eed70ec5241827cd49a873685917635e38e42f0c8b5f054"
  },
  {
   "name": "echo-removal-walkthrough-poster.webp",
   "sizeBytes": 37920,
   "sha256": "b72c71936777f66006a59041849bf0b145533b4c3a23bb7258b6a8832ebc7ba9"
  },
  {
   "name": "echo-removal-walkthrough.mp4",
   "sizeBytes": 1452203,
   "sha256": "6896722ae255df5a356d0b233e40512222aaa9b7c4727fcd123d4629f37ee2f1"
  },
  {
   "name": "echo-removal-walkthrough.vtt",
   "sizeBytes": 954,
   "sha256": "c15a5e59cd8354d2d7b58a44e6ea82e315bffdf7918d3ee5bf992c96c1b48605"
  },
  {
   "name": "echo-removal-walkthrough.webm",
   "sizeBytes": 1356479,
   "sha256": "d89ff6bc4a6f185185b5fed5032fe69f75bb4cebd82531a5f35595fd5faa2fed"
  },
  {
   "name": "library-lecture-flash.mp3",
   "sizeBytes": 342980,
   "sha256": "64b7c0b1b10c11dd1e3086f791f9622115f6a637e9104ece90d628ace953ffba"
  },
  {
   "name": "library-lecture-original.mp3",
   "sizeBytes": 342980,
   "sha256": "c61946cdbb34de06e41f5897e1f49dd82c01783f44aa95d2e96eb1e71c75a33e"
  },
  {
   "name": "library-lecture-pro.mp3",
   "sizeBytes": 342980,
   "sha256": "39b67715132e1ab56b9d62733f98e15050546e833a616d212d8588471a11de79"
  },
  {
   "name": "museum-gallery-flash.mp3",
   "sizeBytes": 374014,
   "sha256": "61f684e09e2c2fc5b8969c24d1c60dc079f5d0dea1c5f6f4b1294e3d702a4240"
  },
  {
   "name": "museum-gallery-original.mp3",
   "sizeBytes": 374014,
   "sha256": "2961d24b7237c897b009379fac9ad3fd60d03db8d37a0dbb70882d78873f3f82"
  },
  {
   "name": "museum-gallery-pro.mp3",
   "sizeBytes": 374014,
   "sha256": "a812266bff2f0e7df8b7ffbbf4d3a9fddb9434726023ed4bb88c78b7662238f2"
  },
  {
   "name": "school-cafeteria-flash.mp3",
   "sizeBytes": 458650,
   "sha256": "88058cc2fe4cdb24bc5bc12a85667a39ca4da0f04b96ef4003f02f7124c32a4b"
  },
  {
   "name": "school-cafeteria-original.mp3",
   "sizeBytes": 458650,
   "sha256": "af538c36e8f2b9adf85ee35fb156ca46024f04ac5def347e60ed828258149508"
  },
  {
   "name": "school-cafeteria-pro.mp3",
   "sizeBytes": 458650,
   "sha256": "cf6a019fc9d8d55c103ac445965054eb4b2f207cb6a5d85588c6ab37bab9827a"
  },
  {
   "name": "stone-chapel-flash.mp3",
   "sizeBytes": 455516,
   "sha256": "2f95a2a961e821583281a84ab6d19175e80372efa4f767d387466c8e200ecab7"
  },
  {
   "name": "stone-chapel-original.mp3",
   "sizeBytes": 455516,
   "sha256": "ff9186370d4ba814c182e6775d04c9262c3b09b7c01eb8ba782b957a2cb33adc"
  },
  {
   "name": "stone-chapel-pro.mp3",
   "sizeBytes": 455516,
   "sha256": "2453fe4c1bcc482380298b4bd34ba044bb4d9cf5048f6f90c325ff19f27abe63"
  }
 ],
 "revisions": [
  {
   "date": "2026-10-19",
   "change": "Replaced the church-sanctuary and school-gym rooms with museum-gallery (NPS, public domain) and school-cafeteria (VOA, public domain) under Diffio's sample rules: one religious service per page, no politicians. Same playback method."
  }
 ]
}