fix: normalize ambience loudness for v0.2.5

This commit is contained in:
oz
2026-10-14 12:12:13 +00:00
parent 812540c743
commit 91aff66445
390 changed files with 97709 additions and 257 deletions
+9 -9
View File
@@ -1,4 +1,4 @@
# Find-Word v0.2.3 — Field recording notices
# Find-Word v0.2.5 — Field recording notices
These third-party recordings retain their own licenses. The private project license does not apply to them.
All files are modified excerpts: trimmed, faded, downmixed, resampled, normalized and converted to WAV.
@@ -13,7 +13,7 @@ Source: https://commons.wikimedia.org/wiki/File:Sunday_in_the_city_street_noise2
Download: https://upload.wikimedia.org/wikipedia/commons/2/24/Sunday_in_the_city_street_noise2.ogg
License: Public domain (PD-author) — https://commons.wikimedia.org/wiki/Template:PD-author
Output license: Public domain (PD-author)
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 35–47.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 35–47.
## 쇼핑몰 — mall
@@ -24,7 +24,7 @@ Source: https://commons.wikimedia.org/wiki/File:1_minute_at_the_alexa_mall_in_be
Download: https://upload.wikimedia.org/wikipedia/commons/f/fd/1_minute_at_the_alexa_mall_in_berlin.ogg
License: Public domain (PD-author) — https://commons.wikimedia.org/wiki/Template:PD-author
Output license: Public domain (PD-author)
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 36–48.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 36–48.
## 극장 — theater
@@ -35,7 +35,7 @@ Source: https://freesound.org/people/ElevatorFan2020/sounds/853576/
Download: https://cdn.freesound.org/previews/853/853576_14269391-lq.mp3
License: CC0 1.0 Universal — https://creativecommons.org/publicdomain/zero/1.0/
Output license: CC0 1.0 Universal
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 45–57.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 45–57.
## 백화점 — department
@@ -46,7 +46,7 @@ Source: https://freesound.org/people/icmusic/sounds/268941/
Download: https://cdn.freesound.org/previews/268/268941_40107-lq.mp3
License: CC0 1.0 Universal — https://creativecommons.org/publicdomain/zero/1.0/
Output license: CC0 1.0 Universal
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 90–102.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 90–102.
## 시장 — market
@@ -57,7 +57,7 @@ Source: https://commons.wikimedia.org/wiki/File:Italia_Palermo_mercato-Ballaro_2
Download: https://upload.wikimedia.org/wikipedia/commons/e/e8/Italia_Palermo_mercato-Ballaro_20161225_122421.ogg
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Output license: CC BY-SA 4.0
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 24–36.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 24–36.
## 지하철 — subway
@@ -68,7 +68,7 @@ Source: https://commons.wikimedia.org/wiki/File:TTC_Subway_Line_1_Ambience_-_Mus
Download: https://upload.wikimedia.org/wikipedia/commons/d/d3/TTC_Subway_Line_1_Ambience_-_Museum_to_Union_%28Freesound%29.ogg
License: CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/
Output license: CC BY 4.0
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 65–77.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 65–77.
## 카페 — cafe
@@ -79,7 +79,7 @@ Source: https://commons.wikimedia.org/wiki/File:Cafe_ambiance.ogg
Download: https://upload.wikimedia.org/wikipedia/commons/5/54/Cafe_ambiance.ogg
License: CC0 1.0 Universal — https://creativecommons.org/publicdomain/zero/1.0/
Output license: CC0 1.0 Universal
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 0–12.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 0–12.
## 비 오는 거리 — rain
@@ -90,4 +90,4 @@ Source: https://commons.wikimedia.org/wiki/File:Urban_Street_on_a_Rainy_Afternoo
Download: https://upload.wikimedia.org/wikipedia/commons/8/8c/Urban_Street_on_a_Rainy_Afternoon.flac
License: CC0 1.0 Universal — https://creativecommons.org/publicdomain/zero/1.0/
Output license: CC0 1.0 Universal
Changes: excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding; source seconds 180–192.
Changes: excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement; source seconds 180–192.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+276 -66
View File
@@ -1,6 +1,16 @@
{
"version": "0.2.3",
"generatedAtUtc": "2026-10-14T09:33:24.077276+00:00",
"version": "0.2.5",
"normalization": {
"algorithm": "FFmpeg ebur128 measurement; scalar volume in double precision; PCM16; fresh ebur128 verification",
"targetIntegratedLUFS": -32.5,
"truePeakCeilingDBTP": -6.0,
"internalTruePeakCeilingDBTP": -6.2,
"toleranceLU": 0.2,
"maximumSpreadLU": 0.4,
"measurementFilter": "ebur128=peak=true",
"maximumIterations": 3
},
"generatedAtUtc": "2026-10-14T11:03:24.984237+00:00",
"toolVersions": {
"ffmpeg": "ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers"
},
@@ -31,11 +41,11 @@
"sourceSha256": "0ddb0be7eb3427f781c8268bcbc74b8ad7e1fbf75b9f6966e65274dbe85f3d9d",
"outputLicense": "Public domain (PD-author)",
"verificationDateUtc": "2026-10-14",
"sha256": "a8bffa201b174618955bc51b860167169125304811aabe2086b0bb35b06c3ae1",
"sha256": "dace0969087539e5b67fb6fac11b759e81626574230ca7f8d2feb484753656a8",
"bytes": 576044,
"duration": 12.0,
"rms": 0.07999756262285758,
"peak": 0.396759033203125,
"rms": 0.06252080375016092,
"peak": 0.310089111328125,
"conversion": {
"startSeconds": 35,
"durationSeconds": 12,
@@ -44,11 +54,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 1.849547024580241,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "ce81f64439077faf363d7ad1221b8454c52dd17dad20317a1436ce830dad63bb",
"input": {
"integratedLUFS": -35.7,
"truePeakDBTP": -13.4,
"loudnessRangeLU": 4.6,
"thresholdLUFS": -45.7
},
"iterations": [
{
"gainDB": 3.2,
"filter": "volume=3.200000000000dB:precision=double",
"predictedTruePeakDBTP": -10.2,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -10.2,
"loudnessRangeLU": 4.6,
"thresholdLUFS": -42.5
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -10.2,
"loudnessRangeLU": 4.6,
"thresholdLUFS": -42.5
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
},
{
@@ -74,11 +109,11 @@
"sourceSha256": "bb066e130e5d665db57cb5f88e820d053c724d8f777b275213998d2074c6529a",
"outputLicense": "Public domain (PD-author)",
"verificationDateUtc": "2026-10-14",
"sha256": "680a769940c08f0d12c6c954c08366598dd8b5745e276f39c82b10d1a88261a1",
"sha256": "a0a135e319ed70f55b03c6e266fb047e53db8008277a6ba8b855a05a1b82662f",
"bytes": 576044,
"duration": 12.0,
"rms": 0.07999755012072322,
"peak": 0.71917724609375,
"rms": 0.025609277908631805,
"peak": 0.230224609375,
"conversion": {
"startSeconds": 36,
"durationSeconds": 12,
@@ -87,11 +122,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 0.9433928828892831,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "5201c456ac4e21917ee48b8c012c80129bff2dbb66d30248562da8f9fb1c44fa",
"input": {
"integratedLUFS": -22.1,
"truePeakDBTP": -1.8,
"loudnessRangeLU": 1.4,
"thresholdLUFS": -32.1
},
"iterations": [
{
"gainDB": -10.4,
"filter": "volume=-10.400000000000dB:precision=double",
"predictedTruePeakDBTP": -12.2,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -12.2,
"loudnessRangeLU": 1.4,
"thresholdLUFS": -42.5
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -12.2,
"loudnessRangeLU": 1.4,
"thresholdLUFS": -42.5
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
},
{
@@ -117,11 +177,11 @@
"sourceSha256": "05c3ece7c088f34700b7610f791c0ad848a24c77be2c32fd1503a78356739a43",
"outputLicense": "CC0 1.0 Universal",
"verificationDateUtc": "2026-10-14",
"sha256": "2d6a444fb7874cdf6b2d8a741a69175299b112eb66834912c025437d8277d635",
"sha256": "634fc25e8c4e9dcbab97688bc4c0ef9b0299cc7c4c921781a70740aabe46b900",
"bytes": 576044,
"duration": 12.0,
"rms": 0.0799975663639253,
"peak": 0.495086669921875,
"rms": 0.02542900687404662,
"peak": 0.157379150390625,
"conversion": {
"startSeconds": 45,
"durationSeconds": 12,
@@ -130,11 +190,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 1.438006249673014,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "a30b2bb8bbea2cda003c8d0afd470f97538d9c6d7393958dab883b6163d1c366",
"input": {
"integratedLUFS": -25.7,
"truePeakDBTP": -9.3,
"loudnessRangeLU": 1.0,
"thresholdLUFS": -35.7
},
"iterations": [
{
"gainDB": -6.8,
"filter": "volume=-6.800000000000dB:precision=double",
"predictedTruePeakDBTP": -16.1,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -16.1,
"loudnessRangeLU": 1.0,
"thresholdLUFS": -42.5
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -16.1,
"loudnessRangeLU": 1.0,
"thresholdLUFS": -42.5
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
},
{
@@ -160,11 +245,11 @@
"sourceSha256": "261fda28722fba623483a90b32e7a2ec388c59887f56a5247156b53f1ffb6ccd",
"outputLicense": "CC0 1.0 Universal",
"verificationDateUtc": "2026-10-14",
"sha256": "aa43f3d1d3e7c2b1f8ace24ecbda45d0ea3a031db941c39506dc6c1665b8efa7",
"sha256": "93e5c23bff2b19716dd21111746837a4df8c52d4b88c6874e57828d09ca5507e",
"bytes": 576044,
"duration": 12.0,
"rms": 0.07999757899341044,
"peak": 0.4749755859375,
"rms": 0.024796279527863292,
"peak": 0.147216796875,
"conversion": {
"startSeconds": 90,
"durationSeconds": 12,
@@ -173,11 +258,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 1.2266018453762095,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "45c0d4aaadcbfbce9b025d2477bfef6b8e31172da2c138f7b671dd096f694098",
"input": {
"integratedLUFS": -24.1,
"truePeakDBTP": -8.2,
"loudnessRangeLU": 4.2,
"thresholdLUFS": -34.1
},
"iterations": [
{
"gainDB": -8.4,
"filter": "volume=-8.400000000000dB:precision=double",
"predictedTruePeakDBTP": -16.6,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -16.6,
"loudnessRangeLU": 4.2,
"thresholdLUFS": -42.5
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -16.6,
"loudnessRangeLU": 4.2,
"thresholdLUFS": -42.5
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
},
{
@@ -203,11 +313,11 @@
"sourceSha256": "fc0075dce8ad05b56460c9f18754c27b2021f21f1c780a595ccda648d33c941d",
"outputLicense": "CC BY-SA 4.0",
"verificationDateUtc": "2026-10-14",
"sha256": "d6f73d86aea98b83e2995e61baaa7315a0ea7adeebc093769d76e1569b207658",
"sha256": "7178307c48c192ac396dcd3c880c377bf56b45e829b459b1feca9f986437e632",
"bytes": 576044,
"duration": 12.0,
"rms": 0.04309857288377583,
"peak": 0.8499755859375,
"rms": 0.0239311160008809,
"peak": 0.471954345703125,
"conversion": {
"startSeconds": 24,
"durationSeconds": 12,
@@ -216,11 +326,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 0.8923059364616298,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "7965fd3731ccc92e8b28015f7295af15ca1e681486c1c4cca3f3522ae3e43833",
"input": {
"integratedLUFS": -26.4,
"truePeakDBTP": -0.1,
"loudnessRangeLU": 6.5,
"thresholdLUFS": -36.3
},
"iterations": [
{
"gainDB": -6.1,
"filter": "volume=-6.100000000000dB:precision=double",
"predictedTruePeakDBTP": -6.2,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -6.2,
"loudnessRangeLU": 6.5,
"thresholdLUFS": -42.4
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -6.2,
"loudnessRangeLU": 6.5,
"thresholdLUFS": -42.4
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
},
{
@@ -246,11 +381,11 @@
"sourceSha256": "41fcf064cde53cef1528fe98721347851e60c070d8ff9f213f354025cf272d4c",
"outputLicense": "CC BY 4.0",
"verificationDateUtc": "2026-10-14",
"sha256": "9faf70b68617d267b367a0f3692ed90015458543ab4b0844f6c704e6a724728f",
"sha256": "e85cf77a9baa7560fb09966c4eda3b128b92647bc4c54c417a29b4e0f4ac129f",
"bytes": 576044,
"duration": 12.0,
"rms": 0.07999755256849092,
"peak": 0.42529296875,
"rms": 0.029030512666118297,
"peak": 0.154327392578125,
"conversion": {
"startSeconds": 65,
"durationSeconds": 12,
@@ -259,11 +394,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 0.4367522670617141,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "fc2e3eeef7748e39de91ab10c372aa4c802acb9ac62573af9b18090f5f999974",
"input": {
"integratedLUFS": -16.5,
"truePeakDBTP": -0.2,
"loudnessRangeLU": 4.9,
"thresholdLUFS": -26.5
},
"iterations": [
{
"gainDB": -16.0,
"filter": "volume=-16.000000000000dB:precision=double",
"predictedTruePeakDBTP": -16.2,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -16.2,
"loudnessRangeLU": 4.9,
"thresholdLUFS": -42.5
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -16.2,
"loudnessRangeLU": 4.9,
"thresholdLUFS": -42.5
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
},
{
@@ -289,11 +449,11 @@
"sourceSha256": "6360791fdcee1f64638f0fc9abd6d2c7a1aa75fd3d2b80033170a02d025099dc",
"outputLicense": "CC0 1.0 Universal",
"verificationDateUtc": "2026-10-14",
"sha256": "6853c121104940041c268a2891eadae032c17aa22b4c3b3ddfbc025262434995",
"sha256": "864a81571a2e25a99d6408aa282570e7996c7ace432cf4f4f294677ea5bcad63",
"bytes": 576044,
"duration": 12.0,
"rms": 0.07999753838852817,
"peak": 0.405731201171875,
"rms": 0.024081999574020733,
"peak": 0.12213134765625,
"conversion": {
"startSeconds": 0,
"durationSeconds": 12,
@@ -302,11 +462,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 0.7436988602699036,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "d1415c42e4a9da921e0ae82fb8076fb69cb6eadc28f9048e70d8ce66a56348b1",
"input": {
"integratedLUFS": -19.5,
"truePeakDBTP": -5.2,
"loudnessRangeLU": 0.5,
"thresholdLUFS": -29.5
},
"iterations": [
{
"gainDB": -13.0,
"filter": "volume=-13.000000000000dB:precision=double",
"predictedTruePeakDBTP": -18.2,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -18.2,
"loudnessRangeLU": 0.5,
"thresholdLUFS": -42.5
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -18.2,
"loudnessRangeLU": 0.5,
"thresholdLUFS": -42.5
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
},
{
@@ -332,11 +517,11 @@
"sourceSha256": "ef0511593b1bb0ba47d5c5dafd83eb07ba854b5a65fd5d41b8c76a1b3ff2c22a",
"outputLicense": "CC0 1.0 Universal",
"verificationDateUtc": "2026-10-14",
"sha256": "f4315084e820f742b0709de5bb0d1abd3d5af1730620e08c2948b70347356dd9",
"sha256": "1842a717e6c77811cb6d6cb09d364e8ef644d50e6beb97d3d187c96e95d85784",
"bytes": 576044,
"duration": 12.0,
"rms": 0.011384632877156162,
"peak": 0.1024169921875,
"rms": 0.02749625922231914,
"peak": 0.247344970703125,
"conversion": {
"startSeconds": 180,
"durationSeconds": 12,
@@ -345,11 +530,36 @@
"sampleRate": 24000,
"channels": 1,
"encoding": "PCM16 little-endian",
"linearGain": 4,
"targetRms": 0.08,
"peakLimit": 0.85,
"maxGain": 4,
"operations": "excerpt, downmix, resample, linear end fades, bounded linear normalization, WAV encoding"
"loudness": {
"measurementFilter": "ebur128=peak=true",
"fadedPcmSha256": "16f38e75f7f27a2d73c645bc20f045d94fd13b7f16c2987dc67a200ed7c688cd",
"input": {
"integratedLUFS": -52.2,
"truePeakDBTP": -31.8,
"loudnessRangeLU": 8.4,
"thresholdLUFS": -62.2
},
"iterations": [
{
"gainDB": 19.7,
"filter": "volume=19.700000000000dB:precision=double",
"predictedTruePeakDBTP": -12.1,
"output": {
"integratedLUFS": -32.5,
"truePeakDBTP": -12.1,
"loudnessRangeLU": 8.4,
"thresholdLUFS": -42.5
}
}
],
"final": {
"integratedLUFS": -32.5,
"truePeakDBTP": -12.1,
"loudnessRangeLU": 8.4,
"thresholdLUFS": -42.5
}
},
"operations": "excerpt, downmix, resample, linear end fades, FFmpeg double-precision scalar volume, PCM16 WAV encoding, fresh ebur128 integrated/true-peak measurement"
}
}
]
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1,5 +1,5 @@
{
"version": "0.2.3",
"version": "0.2.5",
"provider": "Microsoft Edge online TTS",
"voice": "ko-KR-HyunsuMultilingualNeural",
"rate": "-6%",