diff --git a/web/.gitignore b/web/.gitignore index 239bbef..32ae3e8 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -5,3 +5,5 @@ build/ .env.local .env*.local repomix-output.xml +.venv/ +__pycache__/ diff --git a/web/scripts/generate-audio.py b/web/scripts/generate-audio.py index c4b33d3..3ccee6c 100755 --- a/web/scripts/generate-audio.py +++ b/web/scripts/generate-audio.py @@ -57,10 +57,37 @@ def display_label(short_name: str, gender: str) -> str: return f"{given} ({gender_vi})" +# Microsoft's TTS endpoint rate-limits aggressive concurrency and +# occasionally returns empty streams. Cap parallelism + retry transient +# failures so one voice run doesn't bail halfway through. +CONCURRENCY = 4 +MAX_RETRIES = 4 +RETRY_BACKOFF_SEC = 1.5 + +_sem: asyncio.Semaphore | None = None + + +def _semaphore() -> asyncio.Semaphore: + global _sem + if _sem is None: + _sem = asyncio.Semaphore(CONCURRENCY) + return _sem + + async def synth(text: str, voice: str, out: str) -> None: import edge_tts - await edge_tts.Communicate(text, voice).save(out) - print(f" {out} ← \"{text}\"") + from edge_tts.exceptions import NoAudioReceived + + async with _semaphore(): + for attempt in range(1, MAX_RETRIES + 1): + try: + await edge_tts.Communicate(text, voice).save(out) + print(f" {out} ← \"{text}\"") + return + except NoAudioReceived: + if attempt == MAX_RETRIES: + raise + await asyncio.sleep(RETRY_BACKOFF_SEC * attempt) async def main() -> None: diff --git a/web/static/audio/hoai-my/1.mp3 b/web/static/audio/hoai-my/1.mp3 new file mode 100644 index 0000000..1082089 Binary files /dev/null and b/web/static/audio/hoai-my/1.mp3 differ diff --git a/web/static/audio/hoai-my/10.mp3 b/web/static/audio/hoai-my/10.mp3 new file mode 100644 index 0000000..5bcf2bd Binary files /dev/null and b/web/static/audio/hoai-my/10.mp3 differ diff --git a/web/static/audio/hoai-my/11.mp3 b/web/static/audio/hoai-my/11.mp3 new file mode 100644 index 0000000..30354cd Binary files /dev/null and b/web/static/audio/hoai-my/11.mp3 differ diff --git a/web/static/audio/hoai-my/12.mp3 b/web/static/audio/hoai-my/12.mp3 new file mode 100644 index 0000000..990133b Binary files /dev/null and b/web/static/audio/hoai-my/12.mp3 differ diff --git a/web/static/audio/hoai-my/13.mp3 b/web/static/audio/hoai-my/13.mp3 new file mode 100644 index 0000000..70fa546 Binary files /dev/null and b/web/static/audio/hoai-my/13.mp3 differ diff --git a/web/static/audio/hoai-my/14.mp3 b/web/static/audio/hoai-my/14.mp3 new file mode 100644 index 0000000..449c4c8 Binary files /dev/null and b/web/static/audio/hoai-my/14.mp3 differ diff --git a/web/static/audio/hoai-my/15.mp3 b/web/static/audio/hoai-my/15.mp3 new file mode 100644 index 0000000..a249fbc Binary files /dev/null and b/web/static/audio/hoai-my/15.mp3 differ diff --git a/web/static/audio/hoai-my/16.mp3 b/web/static/audio/hoai-my/16.mp3 new file mode 100644 index 0000000..c2722db Binary files /dev/null and b/web/static/audio/hoai-my/16.mp3 differ diff --git a/web/static/audio/hoai-my/17.mp3 b/web/static/audio/hoai-my/17.mp3 new file mode 100644 index 0000000..78555e5 Binary files /dev/null and b/web/static/audio/hoai-my/17.mp3 differ diff --git a/web/static/audio/hoai-my/18.mp3 b/web/static/audio/hoai-my/18.mp3 new file mode 100644 index 0000000..0b1963a Binary files /dev/null and b/web/static/audio/hoai-my/18.mp3 differ diff --git a/web/static/audio/hoai-my/19.mp3 b/web/static/audio/hoai-my/19.mp3 new file mode 100644 index 0000000..f9c7378 Binary files /dev/null and b/web/static/audio/hoai-my/19.mp3 differ diff --git a/web/static/audio/hoai-my/2.mp3 b/web/static/audio/hoai-my/2.mp3 new file mode 100644 index 0000000..bbf27d9 Binary files /dev/null and b/web/static/audio/hoai-my/2.mp3 differ diff --git a/web/static/audio/hoai-my/20.mp3 b/web/static/audio/hoai-my/20.mp3 new file mode 100644 index 0000000..fd9f107 Binary files /dev/null and b/web/static/audio/hoai-my/20.mp3 differ diff --git a/web/static/audio/hoai-my/21.mp3 b/web/static/audio/hoai-my/21.mp3 new file mode 100644 index 0000000..92ed95d Binary files /dev/null and b/web/static/audio/hoai-my/21.mp3 differ diff --git a/web/static/audio/hoai-my/22.mp3 b/web/static/audio/hoai-my/22.mp3 new file mode 100644 index 0000000..e7a65da Binary files /dev/null and b/web/static/audio/hoai-my/22.mp3 differ diff --git a/web/static/audio/hoai-my/23.mp3 b/web/static/audio/hoai-my/23.mp3 new file mode 100644 index 0000000..cb0ac4f Binary files /dev/null and b/web/static/audio/hoai-my/23.mp3 differ diff --git a/web/static/audio/hoai-my/24.mp3 b/web/static/audio/hoai-my/24.mp3 new file mode 100644 index 0000000..ad3a34e Binary files /dev/null and b/web/static/audio/hoai-my/24.mp3 differ diff --git a/web/static/audio/hoai-my/25.mp3 b/web/static/audio/hoai-my/25.mp3 new file mode 100644 index 0000000..d01ac4e Binary files /dev/null and b/web/static/audio/hoai-my/25.mp3 differ diff --git a/web/static/audio/hoai-my/26.mp3 b/web/static/audio/hoai-my/26.mp3 new file mode 100644 index 0000000..09614d3 Binary files /dev/null and b/web/static/audio/hoai-my/26.mp3 differ diff --git a/web/static/audio/hoai-my/27.mp3 b/web/static/audio/hoai-my/27.mp3 new file mode 100644 index 0000000..abdb11a Binary files /dev/null and b/web/static/audio/hoai-my/27.mp3 differ diff --git a/web/static/audio/hoai-my/28.mp3 b/web/static/audio/hoai-my/28.mp3 new file mode 100644 index 0000000..710bfb0 Binary files /dev/null and b/web/static/audio/hoai-my/28.mp3 differ diff --git a/web/static/audio/hoai-my/29.mp3 b/web/static/audio/hoai-my/29.mp3 new file mode 100644 index 0000000..46fe6f3 Binary files /dev/null and b/web/static/audio/hoai-my/29.mp3 differ diff --git a/web/static/audio/hoai-my/3.mp3 b/web/static/audio/hoai-my/3.mp3 new file mode 100644 index 0000000..693424c Binary files /dev/null and b/web/static/audio/hoai-my/3.mp3 differ diff --git a/web/static/audio/hoai-my/30.mp3 b/web/static/audio/hoai-my/30.mp3 new file mode 100644 index 0000000..8e050cc Binary files /dev/null and b/web/static/audio/hoai-my/30.mp3 differ diff --git a/web/static/audio/hoai-my/31.mp3 b/web/static/audio/hoai-my/31.mp3 new file mode 100644 index 0000000..12ca306 Binary files /dev/null and b/web/static/audio/hoai-my/31.mp3 differ diff --git a/web/static/audio/hoai-my/32.mp3 b/web/static/audio/hoai-my/32.mp3 new file mode 100644 index 0000000..9d889e3 Binary files /dev/null and b/web/static/audio/hoai-my/32.mp3 differ diff --git a/web/static/audio/hoai-my/33.mp3 b/web/static/audio/hoai-my/33.mp3 new file mode 100644 index 0000000..b5daf68 Binary files /dev/null and b/web/static/audio/hoai-my/33.mp3 differ diff --git a/web/static/audio/hoai-my/34.mp3 b/web/static/audio/hoai-my/34.mp3 new file mode 100644 index 0000000..bfebee6 Binary files /dev/null and b/web/static/audio/hoai-my/34.mp3 differ diff --git a/web/static/audio/hoai-my/35.mp3 b/web/static/audio/hoai-my/35.mp3 new file mode 100644 index 0000000..0e9273b Binary files /dev/null and b/web/static/audio/hoai-my/35.mp3 differ diff --git a/web/static/audio/hoai-my/36.mp3 b/web/static/audio/hoai-my/36.mp3 new file mode 100644 index 0000000..a65f8da Binary files /dev/null and b/web/static/audio/hoai-my/36.mp3 differ diff --git a/web/static/audio/hoai-my/37.mp3 b/web/static/audio/hoai-my/37.mp3 new file mode 100644 index 0000000..0f42e0b Binary files /dev/null and b/web/static/audio/hoai-my/37.mp3 differ diff --git a/web/static/audio/hoai-my/38.mp3 b/web/static/audio/hoai-my/38.mp3 new file mode 100644 index 0000000..a0b50e4 Binary files /dev/null and b/web/static/audio/hoai-my/38.mp3 differ diff --git a/web/static/audio/hoai-my/39.mp3 b/web/static/audio/hoai-my/39.mp3 new file mode 100644 index 0000000..391d3a9 Binary files /dev/null and b/web/static/audio/hoai-my/39.mp3 differ diff --git a/web/static/audio/hoai-my/4.mp3 b/web/static/audio/hoai-my/4.mp3 new file mode 100644 index 0000000..7fca9c5 Binary files /dev/null and b/web/static/audio/hoai-my/4.mp3 differ diff --git a/web/static/audio/hoai-my/40.mp3 b/web/static/audio/hoai-my/40.mp3 new file mode 100644 index 0000000..713b921 Binary files /dev/null and b/web/static/audio/hoai-my/40.mp3 differ diff --git a/web/static/audio/hoai-my/41.mp3 b/web/static/audio/hoai-my/41.mp3 new file mode 100644 index 0000000..1970789 Binary files /dev/null and b/web/static/audio/hoai-my/41.mp3 differ diff --git a/web/static/audio/hoai-my/42.mp3 b/web/static/audio/hoai-my/42.mp3 new file mode 100644 index 0000000..e9537fa Binary files /dev/null and b/web/static/audio/hoai-my/42.mp3 differ diff --git a/web/static/audio/hoai-my/43.mp3 b/web/static/audio/hoai-my/43.mp3 new file mode 100644 index 0000000..e54921d Binary files /dev/null and b/web/static/audio/hoai-my/43.mp3 differ diff --git a/web/static/audio/hoai-my/44.mp3 b/web/static/audio/hoai-my/44.mp3 new file mode 100644 index 0000000..5ba69fa Binary files /dev/null and b/web/static/audio/hoai-my/44.mp3 differ diff --git a/web/static/audio/hoai-my/45.mp3 b/web/static/audio/hoai-my/45.mp3 new file mode 100644 index 0000000..d5f9feb Binary files /dev/null and b/web/static/audio/hoai-my/45.mp3 differ diff --git a/web/static/audio/hoai-my/46.mp3 b/web/static/audio/hoai-my/46.mp3 new file mode 100644 index 0000000..a2045c4 Binary files /dev/null and b/web/static/audio/hoai-my/46.mp3 differ diff --git a/web/static/audio/hoai-my/47.mp3 b/web/static/audio/hoai-my/47.mp3 new file mode 100644 index 0000000..41afb96 Binary files /dev/null and b/web/static/audio/hoai-my/47.mp3 differ diff --git a/web/static/audio/hoai-my/48.mp3 b/web/static/audio/hoai-my/48.mp3 new file mode 100644 index 0000000..9376edb Binary files /dev/null and b/web/static/audio/hoai-my/48.mp3 differ diff --git a/web/static/audio/hoai-my/49.mp3 b/web/static/audio/hoai-my/49.mp3 new file mode 100644 index 0000000..33aed79 Binary files /dev/null and b/web/static/audio/hoai-my/49.mp3 differ diff --git a/web/static/audio/hoai-my/5.mp3 b/web/static/audio/hoai-my/5.mp3 new file mode 100644 index 0000000..d48c2ca Binary files /dev/null and b/web/static/audio/hoai-my/5.mp3 differ diff --git a/web/static/audio/hoai-my/50.mp3 b/web/static/audio/hoai-my/50.mp3 new file mode 100644 index 0000000..ad9b966 Binary files /dev/null and b/web/static/audio/hoai-my/50.mp3 differ diff --git a/web/static/audio/hoai-my/51.mp3 b/web/static/audio/hoai-my/51.mp3 new file mode 100644 index 0000000..d48d503 Binary files /dev/null and b/web/static/audio/hoai-my/51.mp3 differ diff --git a/web/static/audio/hoai-my/52.mp3 b/web/static/audio/hoai-my/52.mp3 new file mode 100644 index 0000000..430b17a Binary files /dev/null and b/web/static/audio/hoai-my/52.mp3 differ diff --git a/web/static/audio/hoai-my/53.mp3 b/web/static/audio/hoai-my/53.mp3 new file mode 100644 index 0000000..fa6c3a0 Binary files /dev/null and b/web/static/audio/hoai-my/53.mp3 differ diff --git a/web/static/audio/hoai-my/54.mp3 b/web/static/audio/hoai-my/54.mp3 new file mode 100644 index 0000000..b06e248 Binary files /dev/null and b/web/static/audio/hoai-my/54.mp3 differ diff --git a/web/static/audio/hoai-my/55.mp3 b/web/static/audio/hoai-my/55.mp3 new file mode 100644 index 0000000..be72a52 Binary files /dev/null and b/web/static/audio/hoai-my/55.mp3 differ diff --git a/web/static/audio/hoai-my/56.mp3 b/web/static/audio/hoai-my/56.mp3 new file mode 100644 index 0000000..4428746 Binary files /dev/null and b/web/static/audio/hoai-my/56.mp3 differ diff --git a/web/static/audio/hoai-my/57.mp3 b/web/static/audio/hoai-my/57.mp3 new file mode 100644 index 0000000..3c8b9b6 Binary files /dev/null and b/web/static/audio/hoai-my/57.mp3 differ diff --git a/web/static/audio/hoai-my/58.mp3 b/web/static/audio/hoai-my/58.mp3 new file mode 100644 index 0000000..9ae2523 Binary files /dev/null and b/web/static/audio/hoai-my/58.mp3 differ diff --git a/web/static/audio/hoai-my/59.mp3 b/web/static/audio/hoai-my/59.mp3 new file mode 100644 index 0000000..168675e Binary files /dev/null and b/web/static/audio/hoai-my/59.mp3 differ diff --git a/web/static/audio/hoai-my/6.mp3 b/web/static/audio/hoai-my/6.mp3 new file mode 100644 index 0000000..9ffd8c7 Binary files /dev/null and b/web/static/audio/hoai-my/6.mp3 differ diff --git a/web/static/audio/hoai-my/60.mp3 b/web/static/audio/hoai-my/60.mp3 new file mode 100644 index 0000000..f36398b Binary files /dev/null and b/web/static/audio/hoai-my/60.mp3 differ diff --git a/web/static/audio/hoai-my/61.mp3 b/web/static/audio/hoai-my/61.mp3 new file mode 100644 index 0000000..76e431c Binary files /dev/null and b/web/static/audio/hoai-my/61.mp3 differ diff --git a/web/static/audio/hoai-my/62.mp3 b/web/static/audio/hoai-my/62.mp3 new file mode 100644 index 0000000..f5ed67f Binary files /dev/null and b/web/static/audio/hoai-my/62.mp3 differ diff --git a/web/static/audio/hoai-my/63.mp3 b/web/static/audio/hoai-my/63.mp3 new file mode 100644 index 0000000..65860aa Binary files /dev/null and b/web/static/audio/hoai-my/63.mp3 differ diff --git a/web/static/audio/hoai-my/64.mp3 b/web/static/audio/hoai-my/64.mp3 new file mode 100644 index 0000000..d0f7dc2 Binary files /dev/null and b/web/static/audio/hoai-my/64.mp3 differ diff --git a/web/static/audio/hoai-my/65.mp3 b/web/static/audio/hoai-my/65.mp3 new file mode 100644 index 0000000..ce024f9 Binary files /dev/null and b/web/static/audio/hoai-my/65.mp3 differ diff --git a/web/static/audio/hoai-my/66.mp3 b/web/static/audio/hoai-my/66.mp3 new file mode 100644 index 0000000..86f6a99 Binary files /dev/null and b/web/static/audio/hoai-my/66.mp3 differ diff --git a/web/static/audio/hoai-my/67.mp3 b/web/static/audio/hoai-my/67.mp3 new file mode 100644 index 0000000..872df05 Binary files /dev/null and b/web/static/audio/hoai-my/67.mp3 differ diff --git a/web/static/audio/hoai-my/68.mp3 b/web/static/audio/hoai-my/68.mp3 new file mode 100644 index 0000000..b791586 Binary files /dev/null and b/web/static/audio/hoai-my/68.mp3 differ diff --git a/web/static/audio/hoai-my/69.mp3 b/web/static/audio/hoai-my/69.mp3 new file mode 100644 index 0000000..e080bc0 Binary files /dev/null and b/web/static/audio/hoai-my/69.mp3 differ diff --git a/web/static/audio/hoai-my/7.mp3 b/web/static/audio/hoai-my/7.mp3 new file mode 100644 index 0000000..a440189 Binary files /dev/null and b/web/static/audio/hoai-my/7.mp3 differ diff --git a/web/static/audio/hoai-my/70.mp3 b/web/static/audio/hoai-my/70.mp3 new file mode 100644 index 0000000..cfac4ff Binary files /dev/null and b/web/static/audio/hoai-my/70.mp3 differ diff --git a/web/static/audio/hoai-my/71.mp3 b/web/static/audio/hoai-my/71.mp3 new file mode 100644 index 0000000..6742732 Binary files /dev/null and b/web/static/audio/hoai-my/71.mp3 differ diff --git a/web/static/audio/hoai-my/72.mp3 b/web/static/audio/hoai-my/72.mp3 new file mode 100644 index 0000000..63c8aa1 Binary files /dev/null and b/web/static/audio/hoai-my/72.mp3 differ diff --git a/web/static/audio/hoai-my/73.mp3 b/web/static/audio/hoai-my/73.mp3 new file mode 100644 index 0000000..8f0427c Binary files /dev/null and b/web/static/audio/hoai-my/73.mp3 differ diff --git a/web/static/audio/hoai-my/74.mp3 b/web/static/audio/hoai-my/74.mp3 new file mode 100644 index 0000000..c2be046 Binary files /dev/null and b/web/static/audio/hoai-my/74.mp3 differ diff --git a/web/static/audio/hoai-my/75.mp3 b/web/static/audio/hoai-my/75.mp3 new file mode 100644 index 0000000..d714ec2 Binary files /dev/null and b/web/static/audio/hoai-my/75.mp3 differ diff --git a/web/static/audio/hoai-my/76.mp3 b/web/static/audio/hoai-my/76.mp3 new file mode 100644 index 0000000..48182e8 Binary files /dev/null and b/web/static/audio/hoai-my/76.mp3 differ diff --git a/web/static/audio/hoai-my/77.mp3 b/web/static/audio/hoai-my/77.mp3 new file mode 100644 index 0000000..c9a1579 Binary files /dev/null and b/web/static/audio/hoai-my/77.mp3 differ diff --git a/web/static/audio/hoai-my/78.mp3 b/web/static/audio/hoai-my/78.mp3 new file mode 100644 index 0000000..5941a78 Binary files /dev/null and b/web/static/audio/hoai-my/78.mp3 differ diff --git a/web/static/audio/hoai-my/79.mp3 b/web/static/audio/hoai-my/79.mp3 new file mode 100644 index 0000000..6fdc916 Binary files /dev/null and b/web/static/audio/hoai-my/79.mp3 differ diff --git a/web/static/audio/hoai-my/8.mp3 b/web/static/audio/hoai-my/8.mp3 new file mode 100644 index 0000000..62673bf Binary files /dev/null and b/web/static/audio/hoai-my/8.mp3 differ diff --git a/web/static/audio/hoai-my/80.mp3 b/web/static/audio/hoai-my/80.mp3 new file mode 100644 index 0000000..96adcfd Binary files /dev/null and b/web/static/audio/hoai-my/80.mp3 differ diff --git a/web/static/audio/hoai-my/81.mp3 b/web/static/audio/hoai-my/81.mp3 new file mode 100644 index 0000000..fd199e4 Binary files /dev/null and b/web/static/audio/hoai-my/81.mp3 differ diff --git a/web/static/audio/hoai-my/82.mp3 b/web/static/audio/hoai-my/82.mp3 new file mode 100644 index 0000000..7e857c5 Binary files /dev/null and b/web/static/audio/hoai-my/82.mp3 differ diff --git a/web/static/audio/hoai-my/83.mp3 b/web/static/audio/hoai-my/83.mp3 new file mode 100644 index 0000000..b09d22b Binary files /dev/null and b/web/static/audio/hoai-my/83.mp3 differ diff --git a/web/static/audio/hoai-my/84.mp3 b/web/static/audio/hoai-my/84.mp3 new file mode 100644 index 0000000..21796bd Binary files /dev/null and b/web/static/audio/hoai-my/84.mp3 differ diff --git a/web/static/audio/hoai-my/85.mp3 b/web/static/audio/hoai-my/85.mp3 new file mode 100644 index 0000000..0c11919 Binary files /dev/null and b/web/static/audio/hoai-my/85.mp3 differ diff --git a/web/static/audio/hoai-my/86.mp3 b/web/static/audio/hoai-my/86.mp3 new file mode 100644 index 0000000..0c0dc4e Binary files /dev/null and b/web/static/audio/hoai-my/86.mp3 differ diff --git a/web/static/audio/hoai-my/87.mp3 b/web/static/audio/hoai-my/87.mp3 new file mode 100644 index 0000000..684647c Binary files /dev/null and b/web/static/audio/hoai-my/87.mp3 differ diff --git a/web/static/audio/hoai-my/88.mp3 b/web/static/audio/hoai-my/88.mp3 new file mode 100644 index 0000000..ecf88fe Binary files /dev/null and b/web/static/audio/hoai-my/88.mp3 differ diff --git a/web/static/audio/hoai-my/89.mp3 b/web/static/audio/hoai-my/89.mp3 new file mode 100644 index 0000000..0693964 Binary files /dev/null and b/web/static/audio/hoai-my/89.mp3 differ diff --git a/web/static/audio/hoai-my/9.mp3 b/web/static/audio/hoai-my/9.mp3 new file mode 100644 index 0000000..a57734b Binary files /dev/null and b/web/static/audio/hoai-my/9.mp3 differ diff --git a/web/static/audio/hoai-my/90.mp3 b/web/static/audio/hoai-my/90.mp3 new file mode 100644 index 0000000..a21b9bf Binary files /dev/null and b/web/static/audio/hoai-my/90.mp3 differ diff --git a/web/static/audio/hoai-my/cho.mp3 b/web/static/audio/hoai-my/cho.mp3 new file mode 100644 index 0000000..9ba3441 Binary files /dev/null and b/web/static/audio/hoai-my/cho.mp3 differ diff --git a/web/static/audio/hoai-my/kinh.mp3 b/web/static/audio/hoai-my/kinh.mp3 new file mode 100644 index 0000000..8489d86 Binary files /dev/null and b/web/static/audio/hoai-my/kinh.mp3 differ diff --git a/web/static/audio/manifest.json b/web/static/audio/manifest.json index c4e94ee..cf35192 100644 --- a/web/static/audio/manifest.json +++ b/web/static/audio/manifest.json @@ -13,4 +13,4 @@ "gender": "male" } ] -} +} \ No newline at end of file diff --git a/web/static/audio/nam-minh/1.mp3 b/web/static/audio/nam-minh/1.mp3 new file mode 100644 index 0000000..a1d86d3 Binary files /dev/null and b/web/static/audio/nam-minh/1.mp3 differ diff --git a/web/static/audio/nam-minh/10.mp3 b/web/static/audio/nam-minh/10.mp3 new file mode 100644 index 0000000..3ef5ee3 Binary files /dev/null and b/web/static/audio/nam-minh/10.mp3 differ diff --git a/web/static/audio/nam-minh/11.mp3 b/web/static/audio/nam-minh/11.mp3 new file mode 100644 index 0000000..07458bc Binary files /dev/null and b/web/static/audio/nam-minh/11.mp3 differ diff --git a/web/static/audio/nam-minh/12.mp3 b/web/static/audio/nam-minh/12.mp3 new file mode 100644 index 0000000..570e811 Binary files /dev/null and b/web/static/audio/nam-minh/12.mp3 differ diff --git a/web/static/audio/nam-minh/13.mp3 b/web/static/audio/nam-minh/13.mp3 new file mode 100644 index 0000000..869450e Binary files /dev/null and b/web/static/audio/nam-minh/13.mp3 differ diff --git a/web/static/audio/nam-minh/14.mp3 b/web/static/audio/nam-minh/14.mp3 new file mode 100644 index 0000000..04c8d61 Binary files /dev/null and b/web/static/audio/nam-minh/14.mp3 differ diff --git a/web/static/audio/nam-minh/15.mp3 b/web/static/audio/nam-minh/15.mp3 new file mode 100644 index 0000000..42c554b Binary files /dev/null and b/web/static/audio/nam-minh/15.mp3 differ diff --git a/web/static/audio/nam-minh/16.mp3 b/web/static/audio/nam-minh/16.mp3 new file mode 100644 index 0000000..e78e9b8 Binary files /dev/null and b/web/static/audio/nam-minh/16.mp3 differ diff --git a/web/static/audio/nam-minh/17.mp3 b/web/static/audio/nam-minh/17.mp3 new file mode 100644 index 0000000..14601fb Binary files /dev/null and b/web/static/audio/nam-minh/17.mp3 differ diff --git a/web/static/audio/nam-minh/18.mp3 b/web/static/audio/nam-minh/18.mp3 new file mode 100644 index 0000000..653ef24 Binary files /dev/null and b/web/static/audio/nam-minh/18.mp3 differ diff --git a/web/static/audio/nam-minh/19.mp3 b/web/static/audio/nam-minh/19.mp3 new file mode 100644 index 0000000..ecbbdae Binary files /dev/null and b/web/static/audio/nam-minh/19.mp3 differ diff --git a/web/static/audio/nam-minh/2.mp3 b/web/static/audio/nam-minh/2.mp3 new file mode 100644 index 0000000..b77123e Binary files /dev/null and b/web/static/audio/nam-minh/2.mp3 differ diff --git a/web/static/audio/nam-minh/20.mp3 b/web/static/audio/nam-minh/20.mp3 new file mode 100644 index 0000000..a33282e Binary files /dev/null and b/web/static/audio/nam-minh/20.mp3 differ diff --git a/web/static/audio/nam-minh/21.mp3 b/web/static/audio/nam-minh/21.mp3 new file mode 100644 index 0000000..7896e63 Binary files /dev/null and b/web/static/audio/nam-minh/21.mp3 differ diff --git a/web/static/audio/nam-minh/22.mp3 b/web/static/audio/nam-minh/22.mp3 new file mode 100644 index 0000000..f18f88e Binary files /dev/null and b/web/static/audio/nam-minh/22.mp3 differ diff --git a/web/static/audio/nam-minh/23.mp3 b/web/static/audio/nam-minh/23.mp3 new file mode 100644 index 0000000..d16db50 Binary files /dev/null and b/web/static/audio/nam-minh/23.mp3 differ diff --git a/web/static/audio/nam-minh/24.mp3 b/web/static/audio/nam-minh/24.mp3 new file mode 100644 index 0000000..5a59768 Binary files /dev/null and b/web/static/audio/nam-minh/24.mp3 differ diff --git a/web/static/audio/nam-minh/25.mp3 b/web/static/audio/nam-minh/25.mp3 new file mode 100644 index 0000000..8ebf939 Binary files /dev/null and b/web/static/audio/nam-minh/25.mp3 differ diff --git a/web/static/audio/nam-minh/26.mp3 b/web/static/audio/nam-minh/26.mp3 new file mode 100644 index 0000000..a7d7af8 Binary files /dev/null and b/web/static/audio/nam-minh/26.mp3 differ diff --git a/web/static/audio/nam-minh/27.mp3 b/web/static/audio/nam-minh/27.mp3 new file mode 100644 index 0000000..2ce8ce8 Binary files /dev/null and b/web/static/audio/nam-minh/27.mp3 differ diff --git a/web/static/audio/nam-minh/28.mp3 b/web/static/audio/nam-minh/28.mp3 new file mode 100644 index 0000000..5fd24b0 Binary files /dev/null and b/web/static/audio/nam-minh/28.mp3 differ diff --git a/web/static/audio/nam-minh/29.mp3 b/web/static/audio/nam-minh/29.mp3 new file mode 100644 index 0000000..e1b4f7c Binary files /dev/null and b/web/static/audio/nam-minh/29.mp3 differ diff --git a/web/static/audio/nam-minh/3.mp3 b/web/static/audio/nam-minh/3.mp3 new file mode 100644 index 0000000..0fd75d2 Binary files /dev/null and b/web/static/audio/nam-minh/3.mp3 differ diff --git a/web/static/audio/nam-minh/30.mp3 b/web/static/audio/nam-minh/30.mp3 new file mode 100644 index 0000000..36497d9 Binary files /dev/null and b/web/static/audio/nam-minh/30.mp3 differ diff --git a/web/static/audio/nam-minh/31.mp3 b/web/static/audio/nam-minh/31.mp3 new file mode 100644 index 0000000..10de234 Binary files /dev/null and b/web/static/audio/nam-minh/31.mp3 differ diff --git a/web/static/audio/nam-minh/32.mp3 b/web/static/audio/nam-minh/32.mp3 new file mode 100644 index 0000000..ed59011 Binary files /dev/null and b/web/static/audio/nam-minh/32.mp3 differ diff --git a/web/static/audio/nam-minh/33.mp3 b/web/static/audio/nam-minh/33.mp3 new file mode 100644 index 0000000..3621289 Binary files /dev/null and b/web/static/audio/nam-minh/33.mp3 differ diff --git a/web/static/audio/nam-minh/34.mp3 b/web/static/audio/nam-minh/34.mp3 new file mode 100644 index 0000000..bd2d226 Binary files /dev/null and b/web/static/audio/nam-minh/34.mp3 differ diff --git a/web/static/audio/nam-minh/35.mp3 b/web/static/audio/nam-minh/35.mp3 new file mode 100644 index 0000000..c2a4e9b Binary files /dev/null and b/web/static/audio/nam-minh/35.mp3 differ diff --git a/web/static/audio/nam-minh/36.mp3 b/web/static/audio/nam-minh/36.mp3 new file mode 100644 index 0000000..f49acde Binary files /dev/null and b/web/static/audio/nam-minh/36.mp3 differ diff --git a/web/static/audio/nam-minh/37.mp3 b/web/static/audio/nam-minh/37.mp3 new file mode 100644 index 0000000..bc60b08 Binary files /dev/null and b/web/static/audio/nam-minh/37.mp3 differ diff --git a/web/static/audio/nam-minh/38.mp3 b/web/static/audio/nam-minh/38.mp3 new file mode 100644 index 0000000..d14291b Binary files /dev/null and b/web/static/audio/nam-minh/38.mp3 differ diff --git a/web/static/audio/nam-minh/39.mp3 b/web/static/audio/nam-minh/39.mp3 new file mode 100644 index 0000000..0393d8b Binary files /dev/null and b/web/static/audio/nam-minh/39.mp3 differ diff --git a/web/static/audio/nam-minh/4.mp3 b/web/static/audio/nam-minh/4.mp3 new file mode 100644 index 0000000..d6573f7 Binary files /dev/null and b/web/static/audio/nam-minh/4.mp3 differ diff --git a/web/static/audio/nam-minh/40.mp3 b/web/static/audio/nam-minh/40.mp3 new file mode 100644 index 0000000..2218ede Binary files /dev/null and b/web/static/audio/nam-minh/40.mp3 differ diff --git a/web/static/audio/nam-minh/41.mp3 b/web/static/audio/nam-minh/41.mp3 new file mode 100644 index 0000000..cfd2d32 Binary files /dev/null and b/web/static/audio/nam-minh/41.mp3 differ diff --git a/web/static/audio/nam-minh/42.mp3 b/web/static/audio/nam-minh/42.mp3 new file mode 100644 index 0000000..7207fb1 Binary files /dev/null and b/web/static/audio/nam-minh/42.mp3 differ diff --git a/web/static/audio/nam-minh/43.mp3 b/web/static/audio/nam-minh/43.mp3 new file mode 100644 index 0000000..f3d7874 Binary files /dev/null and b/web/static/audio/nam-minh/43.mp3 differ diff --git a/web/static/audio/nam-minh/44.mp3 b/web/static/audio/nam-minh/44.mp3 new file mode 100644 index 0000000..c95c555 Binary files /dev/null and b/web/static/audio/nam-minh/44.mp3 differ diff --git a/web/static/audio/nam-minh/45.mp3 b/web/static/audio/nam-minh/45.mp3 new file mode 100644 index 0000000..5719502 Binary files /dev/null and b/web/static/audio/nam-minh/45.mp3 differ diff --git a/web/static/audio/nam-minh/46.mp3 b/web/static/audio/nam-minh/46.mp3 new file mode 100644 index 0000000..009c7b0 Binary files /dev/null and b/web/static/audio/nam-minh/46.mp3 differ diff --git a/web/static/audio/nam-minh/47.mp3 b/web/static/audio/nam-minh/47.mp3 new file mode 100644 index 0000000..a48861b Binary files /dev/null and b/web/static/audio/nam-minh/47.mp3 differ diff --git a/web/static/audio/nam-minh/48.mp3 b/web/static/audio/nam-minh/48.mp3 new file mode 100644 index 0000000..776c291 Binary files /dev/null and b/web/static/audio/nam-minh/48.mp3 differ diff --git a/web/static/audio/nam-minh/49.mp3 b/web/static/audio/nam-minh/49.mp3 new file mode 100644 index 0000000..3e23011 Binary files /dev/null and b/web/static/audio/nam-minh/49.mp3 differ diff --git a/web/static/audio/nam-minh/5.mp3 b/web/static/audio/nam-minh/5.mp3 new file mode 100644 index 0000000..e089b87 Binary files /dev/null and b/web/static/audio/nam-minh/5.mp3 differ diff --git a/web/static/audio/nam-minh/50.mp3 b/web/static/audio/nam-minh/50.mp3 new file mode 100644 index 0000000..817af84 Binary files /dev/null and b/web/static/audio/nam-minh/50.mp3 differ diff --git a/web/static/audio/nam-minh/51.mp3 b/web/static/audio/nam-minh/51.mp3 new file mode 100644 index 0000000..a2c2a4b Binary files /dev/null and b/web/static/audio/nam-minh/51.mp3 differ diff --git a/web/static/audio/nam-minh/52.mp3 b/web/static/audio/nam-minh/52.mp3 new file mode 100644 index 0000000..9b2e34e Binary files /dev/null and b/web/static/audio/nam-minh/52.mp3 differ diff --git a/web/static/audio/nam-minh/53.mp3 b/web/static/audio/nam-minh/53.mp3 new file mode 100644 index 0000000..e50e610 Binary files /dev/null and b/web/static/audio/nam-minh/53.mp3 differ diff --git a/web/static/audio/nam-minh/54.mp3 b/web/static/audio/nam-minh/54.mp3 new file mode 100644 index 0000000..b1b5d2a Binary files /dev/null and b/web/static/audio/nam-minh/54.mp3 differ diff --git a/web/static/audio/nam-minh/55.mp3 b/web/static/audio/nam-minh/55.mp3 new file mode 100644 index 0000000..1dbca24 Binary files /dev/null and b/web/static/audio/nam-minh/55.mp3 differ diff --git a/web/static/audio/nam-minh/56.mp3 b/web/static/audio/nam-minh/56.mp3 new file mode 100644 index 0000000..098edf1 Binary files /dev/null and b/web/static/audio/nam-minh/56.mp3 differ diff --git a/web/static/audio/nam-minh/57.mp3 b/web/static/audio/nam-minh/57.mp3 new file mode 100644 index 0000000..400e067 Binary files /dev/null and b/web/static/audio/nam-minh/57.mp3 differ diff --git a/web/static/audio/nam-minh/58.mp3 b/web/static/audio/nam-minh/58.mp3 new file mode 100644 index 0000000..4c2690b Binary files /dev/null and b/web/static/audio/nam-minh/58.mp3 differ diff --git a/web/static/audio/nam-minh/59.mp3 b/web/static/audio/nam-minh/59.mp3 new file mode 100644 index 0000000..4cee32c Binary files /dev/null and b/web/static/audio/nam-minh/59.mp3 differ diff --git a/web/static/audio/nam-minh/6.mp3 b/web/static/audio/nam-minh/6.mp3 new file mode 100644 index 0000000..d3ed32e Binary files /dev/null and b/web/static/audio/nam-minh/6.mp3 differ diff --git a/web/static/audio/nam-minh/60.mp3 b/web/static/audio/nam-minh/60.mp3 new file mode 100644 index 0000000..f14c160 Binary files /dev/null and b/web/static/audio/nam-minh/60.mp3 differ diff --git a/web/static/audio/nam-minh/61.mp3 b/web/static/audio/nam-minh/61.mp3 new file mode 100644 index 0000000..2e8d5ab Binary files /dev/null and b/web/static/audio/nam-minh/61.mp3 differ diff --git a/web/static/audio/nam-minh/62.mp3 b/web/static/audio/nam-minh/62.mp3 new file mode 100644 index 0000000..586c4ba Binary files /dev/null and b/web/static/audio/nam-minh/62.mp3 differ diff --git a/web/static/audio/nam-minh/63.mp3 b/web/static/audio/nam-minh/63.mp3 new file mode 100644 index 0000000..7bc8b89 Binary files /dev/null and b/web/static/audio/nam-minh/63.mp3 differ diff --git a/web/static/audio/nam-minh/64.mp3 b/web/static/audio/nam-minh/64.mp3 new file mode 100644 index 0000000..705e307 Binary files /dev/null and b/web/static/audio/nam-minh/64.mp3 differ diff --git a/web/static/audio/nam-minh/65.mp3 b/web/static/audio/nam-minh/65.mp3 new file mode 100644 index 0000000..0d293c2 Binary files /dev/null and b/web/static/audio/nam-minh/65.mp3 differ diff --git a/web/static/audio/nam-minh/66.mp3 b/web/static/audio/nam-minh/66.mp3 new file mode 100644 index 0000000..5419539 Binary files /dev/null and b/web/static/audio/nam-minh/66.mp3 differ diff --git a/web/static/audio/nam-minh/67.mp3 b/web/static/audio/nam-minh/67.mp3 new file mode 100644 index 0000000..3518994 Binary files /dev/null and b/web/static/audio/nam-minh/67.mp3 differ diff --git a/web/static/audio/nam-minh/68.mp3 b/web/static/audio/nam-minh/68.mp3 new file mode 100644 index 0000000..f72445d Binary files /dev/null and b/web/static/audio/nam-minh/68.mp3 differ diff --git a/web/static/audio/nam-minh/69.mp3 b/web/static/audio/nam-minh/69.mp3 new file mode 100644 index 0000000..02573cd Binary files /dev/null and b/web/static/audio/nam-minh/69.mp3 differ diff --git a/web/static/audio/nam-minh/7.mp3 b/web/static/audio/nam-minh/7.mp3 new file mode 100644 index 0000000..7c7b7d4 Binary files /dev/null and b/web/static/audio/nam-minh/7.mp3 differ diff --git a/web/static/audio/nam-minh/70.mp3 b/web/static/audio/nam-minh/70.mp3 new file mode 100644 index 0000000..61f7f73 Binary files /dev/null and b/web/static/audio/nam-minh/70.mp3 differ diff --git a/web/static/audio/nam-minh/71.mp3 b/web/static/audio/nam-minh/71.mp3 new file mode 100644 index 0000000..6ca7d12 Binary files /dev/null and b/web/static/audio/nam-minh/71.mp3 differ diff --git a/web/static/audio/nam-minh/72.mp3 b/web/static/audio/nam-minh/72.mp3 new file mode 100644 index 0000000..cc5b621 Binary files /dev/null and b/web/static/audio/nam-minh/72.mp3 differ diff --git a/web/static/audio/nam-minh/73.mp3 b/web/static/audio/nam-minh/73.mp3 new file mode 100644 index 0000000..0985fd2 Binary files /dev/null and b/web/static/audio/nam-minh/73.mp3 differ diff --git a/web/static/audio/nam-minh/74.mp3 b/web/static/audio/nam-minh/74.mp3 new file mode 100644 index 0000000..c880f52 Binary files /dev/null and b/web/static/audio/nam-minh/74.mp3 differ diff --git a/web/static/audio/nam-minh/75.mp3 b/web/static/audio/nam-minh/75.mp3 new file mode 100644 index 0000000..49371cd Binary files /dev/null and b/web/static/audio/nam-minh/75.mp3 differ diff --git a/web/static/audio/nam-minh/76.mp3 b/web/static/audio/nam-minh/76.mp3 new file mode 100644 index 0000000..619c2e2 Binary files /dev/null and b/web/static/audio/nam-minh/76.mp3 differ diff --git a/web/static/audio/nam-minh/77.mp3 b/web/static/audio/nam-minh/77.mp3 new file mode 100644 index 0000000..1e9fcba Binary files /dev/null and b/web/static/audio/nam-minh/77.mp3 differ diff --git a/web/static/audio/nam-minh/78.mp3 b/web/static/audio/nam-minh/78.mp3 new file mode 100644 index 0000000..84aba7b Binary files /dev/null and b/web/static/audio/nam-minh/78.mp3 differ diff --git a/web/static/audio/nam-minh/79.mp3 b/web/static/audio/nam-minh/79.mp3 new file mode 100644 index 0000000..8176149 Binary files /dev/null and b/web/static/audio/nam-minh/79.mp3 differ diff --git a/web/static/audio/nam-minh/8.mp3 b/web/static/audio/nam-minh/8.mp3 new file mode 100644 index 0000000..722a1b1 Binary files /dev/null and b/web/static/audio/nam-minh/8.mp3 differ diff --git a/web/static/audio/nam-minh/80.mp3 b/web/static/audio/nam-minh/80.mp3 new file mode 100644 index 0000000..23f697b Binary files /dev/null and b/web/static/audio/nam-minh/80.mp3 differ diff --git a/web/static/audio/nam-minh/81.mp3 b/web/static/audio/nam-minh/81.mp3 new file mode 100644 index 0000000..b4d8115 Binary files /dev/null and b/web/static/audio/nam-minh/81.mp3 differ diff --git a/web/static/audio/nam-minh/82.mp3 b/web/static/audio/nam-minh/82.mp3 new file mode 100644 index 0000000..597478b Binary files /dev/null and b/web/static/audio/nam-minh/82.mp3 differ diff --git a/web/static/audio/nam-minh/83.mp3 b/web/static/audio/nam-minh/83.mp3 new file mode 100644 index 0000000..a5db4f5 Binary files /dev/null and b/web/static/audio/nam-minh/83.mp3 differ diff --git a/web/static/audio/nam-minh/84.mp3 b/web/static/audio/nam-minh/84.mp3 new file mode 100644 index 0000000..18a052f Binary files /dev/null and b/web/static/audio/nam-minh/84.mp3 differ diff --git a/web/static/audio/nam-minh/85.mp3 b/web/static/audio/nam-minh/85.mp3 new file mode 100644 index 0000000..79dcd8f Binary files /dev/null and b/web/static/audio/nam-minh/85.mp3 differ diff --git a/web/static/audio/nam-minh/86.mp3 b/web/static/audio/nam-minh/86.mp3 new file mode 100644 index 0000000..48fff31 Binary files /dev/null and b/web/static/audio/nam-minh/86.mp3 differ diff --git a/web/static/audio/nam-minh/87.mp3 b/web/static/audio/nam-minh/87.mp3 new file mode 100644 index 0000000..88d809c Binary files /dev/null and b/web/static/audio/nam-minh/87.mp3 differ diff --git a/web/static/audio/nam-minh/88.mp3 b/web/static/audio/nam-minh/88.mp3 new file mode 100644 index 0000000..f1e914f Binary files /dev/null and b/web/static/audio/nam-minh/88.mp3 differ diff --git a/web/static/audio/nam-minh/89.mp3 b/web/static/audio/nam-minh/89.mp3 new file mode 100644 index 0000000..863fe8d Binary files /dev/null and b/web/static/audio/nam-minh/89.mp3 differ diff --git a/web/static/audio/nam-minh/9.mp3 b/web/static/audio/nam-minh/9.mp3 new file mode 100644 index 0000000..05aaa30 Binary files /dev/null and b/web/static/audio/nam-minh/9.mp3 differ diff --git a/web/static/audio/nam-minh/90.mp3 b/web/static/audio/nam-minh/90.mp3 new file mode 100644 index 0000000..2afb396 Binary files /dev/null and b/web/static/audio/nam-minh/90.mp3 differ diff --git a/web/static/audio/nam-minh/cho.mp3 b/web/static/audio/nam-minh/cho.mp3 new file mode 100644 index 0000000..4fa28e0 Binary files /dev/null and b/web/static/audio/nam-minh/cho.mp3 differ diff --git a/web/static/audio/nam-minh/kinh.mp3 b/web/static/audio/nam-minh/kinh.mp3 new file mode 100644 index 0000000..8ab2503 Binary files /dev/null and b/web/static/audio/nam-minh/kinh.mp3 differ