Fedir Zadniprovskyi commited on
Commit
5809d79
·
1 Parent(s): 2f0c9a2

deps: update kokoro-onnx

Browse files
docs/usage/text-to-speech.md CHANGED
@@ -14,8 +14,8 @@ Download the Kokoro model and voices.
14
  export KOKORO_REVISION=c97b7bbc3e60f447383c79b2f94fee861ff156ac
15
  # Download the ONNX model (~346 MBs)
16
  docker exec -it speaches huggingface-cli download hexgrad/Kokoro-82M --include 'kokoro-v0_19.onnx' --revision $KOKORO_REVISION
17
- # Download the voices.json (~54 MBs) file
18
- docker exec -it speaches curl --location --output /home/ubuntu/.cache/huggingface/hub/models--hexgrad--Kokoro-82M/snapshots/$KOKORO_REVISION/voices.json https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/voices.json
19
  ```
20
 
21
  !!! note
 
14
  export KOKORO_REVISION=c97b7bbc3e60f447383c79b2f94fee861ff156ac
15
  # Download the ONNX model (~346 MBs)
16
  docker exec -it speaches huggingface-cli download hexgrad/Kokoro-82M --include 'kokoro-v0_19.onnx' --revision $KOKORO_REVISION
17
+ # Download the voices.bin (~5.5 MBs) file
18
+ docker exec -it speaches curl --location --output /home/ubuntu/.cache/huggingface/hub/models--hexgrad--Kokoro-82M/snapshots/$KOKORO_REVISION/voices.bin https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/voices.bin
19
  ```
20
 
21
  !!! note
pyproject.toml CHANGED
@@ -8,9 +8,8 @@ dependencies = [
8
  "fastapi>=0.115.6",
9
  "faster-whisper>=1.1.1",
10
  "huggingface-hub[hf-transfer]>=0.25.1",
11
- "kokoro-onnx>=0.2.2",
12
  "numpy>=2.1.1",
13
- "onnxruntime-gpu>=1.20.1 ; platform_machine == 'x86_64'",
14
  "piper-phonemize ; platform_machine == 'x86_64'",
15
  "piper-tts>=1.2.0 ; platform_machine == 'x86_64'",
16
  "pydantic-settings>=2.5.2",
 
8
  "fastapi>=0.115.6",
9
  "faster-whisper>=1.1.1",
10
  "huggingface-hub[hf-transfer]>=0.25.1",
11
+ "kokoro-onnx[gpu]>=0.3.6,<0.4.0",
12
  "numpy>=2.1.1",
 
13
  "piper-phonemize ; platform_machine == 'x86_64'",
14
  "piper-tts>=1.2.0 ; platform_machine == 'x86_64'",
15
  "pydantic-settings>=2.5.2",
src/speaches/hf_utils.py CHANGED
@@ -232,9 +232,9 @@ def download_kokoro_model() -> None:
232
  )
233
  # HACK
234
  res = httpx.get(
235
- "https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/voices.json", follow_redirects=True
236
  ).raise_for_status()
237
- voices_path = model_repo_path / "voices.json"
238
  voices_path.touch(exist_ok=True)
239
  voices_path.write_bytes(res.content)
240
 
 
232
  )
233
  # HACK
234
  res = httpx.get(
235
+ "https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/voices.bin", follow_redirects=True
236
  ).raise_for_status()
237
+ voices_path = model_repo_path / "voices.bin"
238
  voices_path.touch(exist_ok=True)
239
  voices_path.write_bytes(res.content)
240
 
src/speaches/model_manager.py CHANGED
@@ -201,7 +201,7 @@ class KokoroModelManager:
201
  # TODO
202
  def _load_fn(self, _model_id: str) -> Kokoro:
203
  model_path = get_kokoro_model_path()
204
- voices_path = model_path.parent / "voices.json"
205
  inf_sess = InferenceSession(model_path, providers=ONNX_PROVIDERS)
206
  return Kokoro.from_session(inf_sess, str(voices_path))
207
 
 
201
  # TODO
202
  def _load_fn(self, _model_id: str) -> Kokoro:
203
  model_path = get_kokoro_model_path()
204
+ voices_path = model_path.parent / "voices.bin"
205
  inf_sess = InferenceSession(model_path, providers=ONNX_PROVIDERS)
206
  return Kokoro.from_session(inf_sess, str(voices_path))
207
 
src/speaches/routers/speech.py CHANGED
@@ -134,7 +134,7 @@ async def synthesize(
134
  ) -> StreamingResponse:
135
  match body.model:
136
  case "hexgrad/Kokoro-82M":
137
- # TODO: download the `voices.json` file
138
  with kokoro_model_manager.load_model(body.voice) as tts:
139
  audio_generator = kokoro_utils.generate_audio(
140
  tts,
 
134
  ) -> StreamingResponse:
135
  match body.model:
136
  case "hexgrad/Kokoro-82M":
137
+ # TODO: download the `voices.bin` file
138
  with kokoro_model_manager.load_model(body.voice) as tts:
139
  audio_generator = kokoro_utils.generate_audio(
140
  tts,
uv.lock CHANGED
@@ -79,6 +79,15 @@ wheels = [
79
  { url = "https://files.pythonhosted.org/packages/89/aa/ab0f7891a01eeb2d2e338ae8fecbe57fcebea1a24dbb64d45801bfab481d/attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308", size = 63397 },
80
  ]
81
 
 
 
 
 
 
 
 
 
 
82
  [[package]]
83
  name = "av"
84
  version = "12.3.0"
@@ -329,6 +338,15 @@ wheels = [
329
  { url = "https://files.pythonhosted.org/packages/5a/d8/ead3e857d4048947fe92a731d6b1f257dcb267cc8b8918d3b72598c9b728/datamodel_code_generator-0.26.5-py3-none-any.whl", hash = "sha256:e32f986b9914a2b45093947043aa0192d704650be93151f78acf5c95676601ce", size = 114982 },
330
  ]
331
 
 
 
 
 
 
 
 
 
 
332
  [[package]]
333
  name = "deprecated"
334
  version = "1.2.14"
@@ -392,15 +410,15 @@ wheels = [
392
 
393
  [[package]]
394
  name = "espeakng-loader"
395
- version = "0.2.1"
396
  source = { registry = "https://pypi.org/simple" }
397
  wheels = [
398
- { url = "https://files.pythonhosted.org/packages/b5/cc/1243e5875d28c5022d74b46947e00ad4d5a645aab535e9194676ee6af9ce/espeakng_loader-0.2.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:166aaaceb210a108f731e411b1b74514a7acaf26274506da86c4b66081a47e28", size = 10039382 },
399
- { url = "https://files.pythonhosted.org/packages/74/d3/41c12a6bd54db48db0b7d20bc4186fabd622a0e7670861e2db06470e8654/espeakng_loader-0.2.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:245af5f91c2f9bb94cac734d2bf6aea430fe0ca99949d2f7c5e402ae3630fc86", size = 9892514 },
400
- { url = "https://files.pythonhosted.org/packages/da/32/4b73fda7104b5baa15fc541f2a8889fbb3f451ebf812c2fb72ebb1b27007/espeakng_loader-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30538e0d6d8b4f6e17f5097efc2f522237fab2344604de57a68be9781776e3e", size = 10039390 },
401
- { url = "https://files.pythonhosted.org/packages/75/2d/57c29a2dbaa3b9287e6dd153e41508b88d1b5ef3236d2baad573d88068e0/espeakng_loader-0.2.1-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:0e615ee569b8246ab344985de66e2debecf5c6a097fb8651893c0b704cf3a667", size = 10037691 },
402
- { url = "https://files.pythonhosted.org/packages/c3/87/41ad3d7b104383a39ce748b4376b1ad407131d63349d3346707bbf51ab31/espeakng_loader-0.2.1-py3-none-win_amd64.whl", hash = "sha256:c66ee888728c6fe2f940d7aee7726f45b9a781c4c0676ea50174a0f0d789cd3c", size = 9437244 },
403
- { url = "https://files.pythonhosted.org/packages/dd/16/b6d5acfca12768ed783c93d44d6924d6a8809dd914ad7752c89726502d15/espeakng_loader-0.2.1-py3-none-win_arm64.whl", hash = "sha256:a0c4482a80fb2e8d60fa31291fd44437075d30eeb15dce1f7aac7057dada3517", size = 9426795 },
404
  ]
405
 
406
  [[package]]
@@ -842,17 +860,25 @@ wheels = [
842
 
843
  [[package]]
844
  name = "kokoro-onnx"
845
- version = "0.2.2"
846
  source = { registry = "https://pypi.org/simple" }
847
  dependencies = [
848
  { name = "colorlog" },
849
  { name = "espeakng-loader" },
 
 
 
850
  { name = "onnxruntime" },
851
  { name = "phonemizer-fork" },
852
  ]
853
- sdist = { url = "https://files.pythonhosted.org/packages/79/03/24b58986a5b25aed3892689239d6ce34265d87a8534bc81b59f94ea6b0e9/kokoro_onnx-0.2.2.tar.gz", hash = "sha256:7a4725c2cfd97ae15b3e636e452e4e7a4831375662137c8311824160575698ba", size = 72547 }
854
  wheels = [
855
- { url = "https://files.pythonhosted.org/packages/6e/ea/45ee02681a2f054a2d3e52022b766fe9417b8ac5e4132ad17b07c8f6896e/kokoro_onnx-0.2.2-py3-none-any.whl", hash = "sha256:4ab13e67c327c7c8a82875be291f142149624f6f032b32858828e4d27ec731e3", size = 8127 },
 
 
 
 
 
856
  ]
857
 
858
  [[package]]
@@ -864,6 +890,55 @@ wheels = [
864
  { url = "https://files.pythonhosted.org/packages/b0/42/327554649ed2dd5ce59d3f5da176c7be20f9352c7c6c51597293660b7b08/language_tags-1.2.0-py3-none-any.whl", hash = "sha256:d815604622242fdfbbfd747b40c31213617fd03734a267f2e39ee4bd73c88722", size = 213449 },
865
  ]
866
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
867
  [[package]]
868
  name = "lxml"
869
  version = "5.3.0"
@@ -1099,6 +1174,25 @@ wheels = [
1099
  { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 },
1100
  ]
1101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1102
  [[package]]
1103
  name = "mypy-extensions"
1104
  version = "1.0.0"
@@ -1131,6 +1225,23 @@ wheels = [
1131
  { url = "https://files.pythonhosted.org/packages/f3/3c/a14fee421b201bcc1a50c10657593602bac666eda94117cd35c117c89800/nodejs_wheel_binaries-20.17.0-py2.py3-none-win_amd64.whl", hash = "sha256:931558d528b976eb67ae1f68253df089e9d7d7267b6980fc580bfd31d67a0f5c", size = 33946987 },
1132
  ]
1133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1134
  [[package]]
1135
  name = "numpy"
1136
  version = "2.1.1"
@@ -1643,6 +1754,20 @@ wheels = [
1643
  { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 },
1644
  ]
1645
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1646
  [[package]]
1647
  name = "pre-commit"
1648
  version = "4.0.1"
@@ -4484,6 +4609,44 @@ wheels = [
4484
  { url = "https://files.pythonhosted.org/packages/4d/c0/1108ad9f01567f66b3154063605b350b69c3c9366732e09e45f9fd0d1deb/safehttpx-0.1.6-py3-none-any.whl", hash = "sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c", size = 8692 },
4485
  ]
4486
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4487
  [[package]]
4488
  name = "segments"
4489
  version = "2.2.1"
@@ -4576,6 +4739,22 @@ wheels = [
4576
  { url = "https://files.pythonhosted.org/packages/50/ff/26a4ee48d0b66625a4e4028a055b9f25bc9d7c7b2d17d21a45137621a50d/soundfile-0.12.1-py2.py3-none-win_amd64.whl", hash = "sha256:0d86924c00b62552b650ddd28af426e3ff2d4dc2e9047dae5b3d8452e0a49a77", size = 1009109 },
4577
  ]
4578
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4579
  [[package]]
4580
  name = "speaches"
4581
  version = "0.1.0"
@@ -4587,9 +4766,8 @@ dependencies = [
4587
  { name = "fastapi" },
4588
  { name = "faster-whisper" },
4589
  { name = "huggingface-hub", extra = ["hf-transfer"] },
4590
- { name = "kokoro-onnx" },
4591
  { name = "numpy" },
4592
- { name = "onnxruntime-gpu", marker = "platform_machine == 'x86_64'" },
4593
  { name = "openai" },
4594
  { name = "piper-phonemize", marker = "platform_machine == 'x86_64'" },
4595
  { name = "piper-tts", marker = "platform_machine == 'x86_64'" },
@@ -4658,13 +4836,12 @@ requires-dist = [
4658
  { name = "httpx-sse", marker = "extra == 'ui'", specifier = ">=0.4.0" },
4659
  { name = "huggingface-hub", extras = ["hf-transfer"], specifier = ">=0.25.1" },
4660
  { name = "keyboard", marker = "extra == 'client'", specifier = ">=0.13.5" },
4661
- { name = "kokoro-onnx", specifier = ">=0.2.2" },
4662
  { name = "mdx-truly-sane-lists", marker = "extra == 'dev'", specifier = ">=1.3" },
4663
  { name = "mkdocs-material", marker = "extra == 'dev'", specifier = ">=9.5.39" },
4664
  { name = "mkdocs-render-swagger-plugin", marker = "extra == 'dev'", specifier = ">=0.1.2" },
4665
  { name = "mkdocstrings", extras = ["python"], marker = "extra == 'dev'", specifier = ">=0.26.1" },
4666
  { name = "numpy", specifier = ">=2.1.1" },
4667
- { name = "onnxruntime-gpu", marker = "platform_machine == 'x86_64'", specifier = ">=1.20.1" },
4668
  { name = "openai", specifier = ">=1.60.0" },
4669
  { name = "openai", marker = "extra == 'ui'", specifier = ">=1.60.0" },
4670
  { name = "opentelemetry-distro", marker = "extra == 'opentelemetry'", specifier = ">=0.48b0" },
@@ -4736,6 +4913,15 @@ wheels = [
4736
  { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252 },
4737
  ]
4738
 
 
 
 
 
 
 
 
 
 
4739
  [[package]]
4740
  name = "tokenizers"
4741
  version = "0.20.1"
 
79
  { url = "https://files.pythonhosted.org/packages/89/aa/ab0f7891a01eeb2d2e338ae8fecbe57fcebea1a24dbb64d45801bfab481d/attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308", size = 63397 },
80
  ]
81
 
82
+ [[package]]
83
+ name = "audioread"
84
+ version = "3.0.1"
85
+ source = { registry = "https://pypi.org/simple" }
86
+ sdist = { url = "https://files.pythonhosted.org/packages/db/d2/87016ca9f083acadffb2d8da59bfa3253e4da7eeb9f71fb8e7708dc97ecd/audioread-3.0.1.tar.gz", hash = "sha256:ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d", size = 116513 }
87
+ wheels = [
88
+ { url = "https://files.pythonhosted.org/packages/57/8d/30aa32745af16af0a9a650115fbe81bde7c610ed5c21b381fca0196f3a7f/audioread-3.0.1-py3-none-any.whl", hash = "sha256:4cdce70b8adc0da0a3c9e0d85fb10b3ace30fbdf8d1670fd443929b61d117c33", size = 23492 },
89
+ ]
90
+
91
  [[package]]
92
  name = "av"
93
  version = "12.3.0"
 
338
  { url = "https://files.pythonhosted.org/packages/5a/d8/ead3e857d4048947fe92a731d6b1f257dcb267cc8b8918d3b72598c9b728/datamodel_code_generator-0.26.5-py3-none-any.whl", hash = "sha256:e32f986b9914a2b45093947043aa0192d704650be93151f78acf5c95676601ce", size = 114982 },
339
  ]
340
 
341
+ [[package]]
342
+ name = "decorator"
343
+ version = "5.1.1"
344
+ source = { registry = "https://pypi.org/simple" }
345
+ sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016 }
346
+ wheels = [
347
+ { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073 },
348
+ ]
349
+
350
  [[package]]
351
  name = "deprecated"
352
  version = "1.2.14"
 
410
 
411
  [[package]]
412
  name = "espeakng-loader"
413
+ version = "0.2.4"
414
  source = { registry = "https://pypi.org/simple" }
415
  wheels = [
416
+ { url = "https://files.pythonhosted.org/packages/f8/92/f44ed7f531143c3c6c97d56e2b0f9be8728dc05e18b96d46eb539230ed46/espeakng_loader-0.2.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b77477ae2ddf62a748e04e49714eabb2f3a24f344166200b00539083bd669904", size = 9938387 },
417
+ { url = "https://files.pythonhosted.org/packages/a8/26/258c0cd43b9bc1043301c5f61767d6a6c3b679df82790c9cb43a3277b865/espeakng_loader-0.2.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d27cdca31112226e7299d8562e889d3e38a1e48055c9ee381b45d669072ee59f", size = 9892565 },
418
+ { url = "https://files.pythonhosted.org/packages/de/1e/25ec5ab07528c0fbb215a61800a38eca05c8a99445515a02d7fa5debcb32/espeakng_loader-0.2.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08721baf27d13d461f6be6eed9a65277e70d68234ff484fd8b9897b222cdcb6d", size = 10078484 },
419
+ { url = "https://files.pythonhosted.org/packages/d9/ad/1b768d8daffc2996e07bbcb6f534d8de3202cd75fce1f1c45eced1ce6465/espeakng_loader-0.2.4-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:d1e798141b46a050cdb75fcf3c17db969bb2c40394f3f4a48910655d547508b9", size = 10037736 },
420
+ { url = "https://files.pythonhosted.org/packages/9d/ed/a3d872fbad4f3a3f3db0e8c31768ab14e77cd77306de16b8b20b1e1df7ea/espeakng_loader-0.2.4-py3-none-win_amd64.whl", hash = "sha256:41f1e08ac9deda2efd1ea9de0b81dab9f5ae3c4b24284f76533d0a7b1dd7abd7", size = 9437292 },
421
+ { url = "https://files.pythonhosted.org/packages/29/64/0b75bc50ec53b4e000bac913625511215aa96124adf5dba8c4baa17c02cd/espeakng_loader-0.2.4-py3-none-win_arm64.whl", hash = "sha256:d7a2928843eaeb2df82f99a370f44e8a630f59b02f9b0d1f168a03c4eeb76b89", size = 9426841 },
422
  ]
423
 
424
  [[package]]
 
860
 
861
  [[package]]
862
  name = "kokoro-onnx"
863
+ version = "0.3.6"
864
  source = { registry = "https://pypi.org/simple" }
865
  dependencies = [
866
  { name = "colorlog" },
867
  { name = "espeakng-loader" },
868
+ { name = "librosa" },
869
+ { name = "numba" },
870
+ { name = "numpy" },
871
  { name = "onnxruntime" },
872
  { name = "phonemizer-fork" },
873
  ]
874
+ sdist = { url = "https://files.pythonhosted.org/packages/dd/ac/6f59e07ac47ee8e35774d5fdacbd2e1b83ab727f201bb5f39789e71b2ca0/kokoro_onnx-0.3.6.tar.gz", hash = "sha256:e3c98ac80cf94452d40089d5ad9ba2eebee48187e806d6128d55add1914a7576", size = 85213 }
875
  wheels = [
876
+ { url = "https://files.pythonhosted.org/packages/ea/50/e5db468119fdc4660e52a1085ecd762601ab928585effadc1bc9106b5df8/kokoro_onnx-0.3.6-py3-none-any.whl", hash = "sha256:07e26f81fc9bae1c41a79e070d71e7f919b85fe320756328cd60d43edb3f2e27", size = 10106 },
877
+ ]
878
+
879
+ [package.optional-dependencies]
880
+ gpu = [
881
+ { name = "onnxruntime-gpu", marker = "sys_platform != 'darwin'" },
882
  ]
883
 
884
  [[package]]
 
890
  { url = "https://files.pythonhosted.org/packages/b0/42/327554649ed2dd5ce59d3f5da176c7be20f9352c7c6c51597293660b7b08/language_tags-1.2.0-py3-none-any.whl", hash = "sha256:d815604622242fdfbbfd747b40c31213617fd03734a267f2e39ee4bd73c88722", size = 213449 },
891
  ]
892
 
893
+ [[package]]
894
+ name = "lazy-loader"
895
+ version = "0.4"
896
+ source = { registry = "https://pypi.org/simple" }
897
+ dependencies = [
898
+ { name = "packaging" },
899
+ ]
900
+ sdist = { url = "https://files.pythonhosted.org/packages/6f/6b/c875b30a1ba490860c93da4cabf479e03f584eba06fe5963f6f6644653d8/lazy_loader-0.4.tar.gz", hash = "sha256:47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1", size = 15431 }
901
+ wheels = [
902
+ { url = "https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl", hash = "sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc", size = 12097 },
903
+ ]
904
+
905
+ [[package]]
906
+ name = "librosa"
907
+ version = "0.10.2.post1"
908
+ source = { registry = "https://pypi.org/simple" }
909
+ dependencies = [
910
+ { name = "audioread" },
911
+ { name = "decorator" },
912
+ { name = "joblib" },
913
+ { name = "lazy-loader" },
914
+ { name = "msgpack" },
915
+ { name = "numba" },
916
+ { name = "numpy" },
917
+ { name = "pooch" },
918
+ { name = "scikit-learn" },
919
+ { name = "scipy" },
920
+ { name = "soundfile" },
921
+ { name = "soxr" },
922
+ { name = "typing-extensions" },
923
+ ]
924
+ sdist = { url = "https://files.pythonhosted.org/packages/0e/2d/77783a52641a21ff7e2230aa588e4fb4a61422a64673096a36776b7e5bd9/librosa-0.10.2.post1.tar.gz", hash = "sha256:cd99f16717cbcd1e0983e37308d1db46a6f7dfc2e396e5a9e61e6821e44bd2e7", size = 325533 }
925
+ wheels = [
926
+ { url = "https://files.pythonhosted.org/packages/8c/8a/2d231b35456506b7c98b3ab9bbf07917b205fed8615d2e59e976ab497fff/librosa-0.10.2.post1-py3-none-any.whl", hash = "sha256:dc882750e8b577a63039f25661b7e39ec4cfbacc99c1cffba666cd664fb0a7a0", size = 260089 },
927
+ ]
928
+
929
+ [[package]]
930
+ name = "llvmlite"
931
+ version = "0.44.0"
932
+ source = { registry = "https://pypi.org/simple" }
933
+ sdist = { url = "https://files.pythonhosted.org/packages/89/6a/95a3d3610d5c75293d5dbbb2a76480d5d4eeba641557b69fe90af6c5b84e/llvmlite-0.44.0.tar.gz", hash = "sha256:07667d66a5d150abed9157ab6c0b9393c9356f229784a4385c02f99e94fc94d4", size = 171880 }
934
+ wheels = [
935
+ { url = "https://files.pythonhosted.org/packages/15/86/e3c3195b92e6e492458f16d233e58a1a812aa2bfbef9bdd0fbafcec85c60/llvmlite-0.44.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:1d671a56acf725bf1b531d5ef76b86660a5ab8ef19bb6a46064a705c6ca80aad", size = 28132297 },
936
+ { url = "https://files.pythonhosted.org/packages/d6/53/373b6b8be67b9221d12b24125fd0ec56b1078b660eeae266ec388a6ac9a0/llvmlite-0.44.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f79a728e0435493611c9f405168682bb75ffd1fbe6fc360733b850c80a026db", size = 26201105 },
937
+ { url = "https://files.pythonhosted.org/packages/cb/da/8341fd3056419441286c8e26bf436923021005ece0bff5f41906476ae514/llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0143a5ef336da14deaa8ec26c5449ad5b6a2b564df82fcef4be040b9cacfea9", size = 42361901 },
938
+ { url = "https://files.pythonhosted.org/packages/53/ad/d79349dc07b8a395a99153d7ce8b01d6fcdc9f8231355a5df55ded649b61/llvmlite-0.44.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d752f89e31b66db6f8da06df8b39f9b91e78c5feea1bf9e8c1fba1d1c24c065d", size = 41184247 },
939
+ { url = "https://files.pythonhosted.org/packages/e2/3b/a9a17366af80127bd09decbe2a54d8974b6d8b274b39bf47fbaedeec6307/llvmlite-0.44.0-cp312-cp312-win_amd64.whl", hash = "sha256:eae7e2d4ca8f88f89d315b48c6b741dcb925d6a1042da694aa16ab3dd4cbd3a1", size = 30332380 },
940
+ ]
941
+
942
  [[package]]
943
  name = "lxml"
944
  version = "5.3.0"
 
1174
  { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 },
1175
  ]
1176
 
1177
+ [[package]]
1178
+ name = "msgpack"
1179
+ version = "1.1.0"
1180
+ source = { registry = "https://pypi.org/simple" }
1181
+ sdist = { url = "https://files.pythonhosted.org/packages/cb/d0/7555686ae7ff5731205df1012ede15dd9d927f6227ea151e901c7406af4f/msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e", size = 167260 }
1182
+ wheels = [
1183
+ { url = "https://files.pythonhosted.org/packages/e1/d6/716b7ca1dbde63290d2973d22bbef1b5032ca634c3ff4384a958ec3f093a/msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d", size = 152421 },
1184
+ { url = "https://files.pythonhosted.org/packages/70/da/5312b067f6773429cec2f8f08b021c06af416bba340c912c2ec778539ed6/msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2", size = 85277 },
1185
+ { url = "https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420", size = 82222 },
1186
+ { url = "https://files.pythonhosted.org/packages/33/af/dc95c4b2a49cff17ce47611ca9ba218198806cad7796c0b01d1e332c86bb/msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2", size = 392971 },
1187
+ { url = "https://files.pythonhosted.org/packages/f1/54/65af8de681fa8255402c80eda2a501ba467921d5a7a028c9c22a2c2eedb5/msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39", size = 401403 },
1188
+ { url = "https://files.pythonhosted.org/packages/97/8c/e333690777bd33919ab7024269dc3c41c76ef5137b211d776fbb404bfead/msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f", size = 385356 },
1189
+ { url = "https://files.pythonhosted.org/packages/57/52/406795ba478dc1c890559dd4e89280fa86506608a28ccf3a72fbf45df9f5/msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247", size = 383028 },
1190
+ { url = "https://files.pythonhosted.org/packages/e7/69/053b6549bf90a3acadcd8232eae03e2fefc87f066a5b9fbb37e2e608859f/msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c", size = 391100 },
1191
+ { url = "https://files.pythonhosted.org/packages/23/f0/d4101d4da054f04274995ddc4086c2715d9b93111eb9ed49686c0f7ccc8a/msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b", size = 394254 },
1192
+ { url = "https://files.pythonhosted.org/packages/1c/12/cf07458f35d0d775ff3a2dc5559fa2e1fcd06c46f1ef510e594ebefdca01/msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b", size = 69085 },
1193
+ { url = "https://files.pythonhosted.org/packages/73/80/2708a4641f7d553a63bc934a3eb7214806b5b39d200133ca7f7afb0a53e8/msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f", size = 75347 },
1194
+ ]
1195
+
1196
  [[package]]
1197
  name = "mypy-extensions"
1198
  version = "1.0.0"
 
1225
  { url = "https://files.pythonhosted.org/packages/f3/3c/a14fee421b201bcc1a50c10657593602bac666eda94117cd35c117c89800/nodejs_wheel_binaries-20.17.0-py2.py3-none-win_amd64.whl", hash = "sha256:931558d528b976eb67ae1f68253df089e9d7d7267b6980fc580bfd31d67a0f5c", size = 33946987 },
1226
  ]
1227
 
1228
+ [[package]]
1229
+ name = "numba"
1230
+ version = "0.61.0"
1231
+ source = { registry = "https://pypi.org/simple" }
1232
+ dependencies = [
1233
+ { name = "llvmlite" },
1234
+ { name = "numpy" },
1235
+ ]
1236
+ sdist = { url = "https://files.pythonhosted.org/packages/3c/88/c13a935f200fda51384411e49840a8e7f70c9cb1ee8d809dd0f2477cf7ef/numba-0.61.0.tar.gz", hash = "sha256:888d2e89b8160899e19591467e8fdd4970e07606e1fbc248f239c89818d5f925", size = 2816484 }
1237
+ wheels = [
1238
+ { url = "https://files.pythonhosted.org/packages/63/c9/c61881e7f2e253e745209f078bbd428ce23b6cf901f7d93afe166720ff95/numba-0.61.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:152146ecdbb8d8176f294e9f755411e6f270103a11c3ff50cecc413f794e52c8", size = 2769758 },
1239
+ { url = "https://files.pythonhosted.org/packages/e1/28/ddec0147a4933f86ceaca580aa9bb767d5632ecdb1ece6cfb3eab4ac78e5/numba-0.61.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5cafa6095716fcb081618c28a8d27bf7c001e09696f595b41836dec114be2905", size = 2772445 },
1240
+ { url = "https://files.pythonhosted.org/packages/18/74/6a9f0e6c76c088f8a6aa702eab31734068061dca5cc0f34e8bc1eb447de1/numba-0.61.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ffe9fe373ed30638d6e20a0269f817b2c75d447141f55a675bfcf2d1fe2e87fb", size = 3882115 },
1241
+ { url = "https://files.pythonhosted.org/packages/53/68/d7c31e53f08e6b4669c9b5a3cd7c5fb9097220c5ef388bc099ca8ab9749f/numba-0.61.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9f25f7fef0206d55c1cfb796ad833cbbc044e2884751e56e798351280038484c", size = 3573296 },
1242
+ { url = "https://files.pythonhosted.org/packages/94/4f/8357a99a14f331b865a42cb4756ae37da85599b9c95e01277ea10361e91a/numba-0.61.0-cp312-cp312-win_amd64.whl", hash = "sha256:550d389573bc3b895e1ccb18289feea11d937011de4d278b09dc7ed585d1cdcb", size = 2828077 },
1243
+ ]
1244
+
1245
  [[package]]
1246
  name = "numpy"
1247
  version = "2.1.1"
 
1754
  { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 },
1755
  ]
1756
 
1757
+ [[package]]
1758
+ name = "pooch"
1759
+ version = "1.8.2"
1760
+ source = { registry = "https://pypi.org/simple" }
1761
+ dependencies = [
1762
+ { name = "packaging" },
1763
+ { name = "platformdirs" },
1764
+ { name = "requests" },
1765
+ ]
1766
+ sdist = { url = "https://files.pythonhosted.org/packages/c6/77/b3d3e00c696c16cf99af81ef7b1f5fe73bd2a307abca41bd7605429fe6e5/pooch-1.8.2.tar.gz", hash = "sha256:76561f0de68a01da4df6af38e9955c4c9d1a5c90da73f7e40276a5728ec83d10", size = 59353 }
1767
+ wheels = [
1768
+ { url = "https://files.pythonhosted.org/packages/a8/87/77cc11c7a9ea9fd05503def69e3d18605852cd0d4b0d3b8f15bbeb3ef1d1/pooch-1.8.2-py3-none-any.whl", hash = "sha256:3529a57096f7198778a5ceefd5ac3ef0e4d06a6ddaf9fc2d609b806f25302c47", size = 64574 },
1769
+ ]
1770
+
1771
  [[package]]
1772
  name = "pre-commit"
1773
  version = "4.0.1"
 
4609
  { url = "https://files.pythonhosted.org/packages/4d/c0/1108ad9f01567f66b3154063605b350b69c3c9366732e09e45f9fd0d1deb/safehttpx-0.1.6-py3-none-any.whl", hash = "sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c", size = 8692 },
4610
  ]
4611
 
4612
+ [[package]]
4613
+ name = "scikit-learn"
4614
+ version = "1.6.1"
4615
+ source = { registry = "https://pypi.org/simple" }
4616
+ dependencies = [
4617
+ { name = "joblib" },
4618
+ { name = "numpy" },
4619
+ { name = "scipy" },
4620
+ { name = "threadpoolctl" },
4621
+ ]
4622
+ sdist = { url = "https://files.pythonhosted.org/packages/9e/a5/4ae3b3a0755f7b35a280ac90b28817d1f380318973cff14075ab41ef50d9/scikit_learn-1.6.1.tar.gz", hash = "sha256:b4fc2525eca2c69a59260f583c56a7557c6ccdf8deafdba6e060f94c1c59738e", size = 7068312 }
4623
+ wheels = [
4624
+ { url = "https://files.pythonhosted.org/packages/0a/18/c797c9b8c10380d05616db3bfb48e2a3358c767affd0857d56c2eb501caa/scikit_learn-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:926f207c804104677af4857b2c609940b743d04c4c35ce0ddc8ff4f053cddc1b", size = 12104516 },
4625
+ { url = "https://files.pythonhosted.org/packages/c4/b7/2e35f8e289ab70108f8cbb2e7a2208f0575dc704749721286519dcf35f6f/scikit_learn-1.6.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c2cae262064e6a9b77eee1c8e768fc46aa0b8338c6a8297b9b6759720ec0ff2", size = 11167837 },
4626
+ { url = "https://files.pythonhosted.org/packages/a4/f6/ff7beaeb644bcad72bcfd5a03ff36d32ee4e53a8b29a639f11bcb65d06cd/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1061b7c028a8663fb9a1a1baf9317b64a257fcb036dae5c8752b2abef31d136f", size = 12253728 },
4627
+ { url = "https://files.pythonhosted.org/packages/29/7a/8bce8968883e9465de20be15542f4c7e221952441727c4dad24d534c6d99/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e69fab4ebfc9c9b580a7a80111b43d214ab06250f8a7ef590a4edf72464dd86", size = 13147700 },
4628
+ { url = "https://files.pythonhosted.org/packages/62/27/585859e72e117fe861c2079bcba35591a84f801e21bc1ab85bce6ce60305/scikit_learn-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:70b1d7e85b1c96383f872a519b3375f92f14731e279a7b4c6cfd650cf5dffc52", size = 11110613 },
4629
+ ]
4630
+
4631
+ [[package]]
4632
+ name = "scipy"
4633
+ version = "1.15.1"
4634
+ source = { registry = "https://pypi.org/simple" }
4635
+ dependencies = [
4636
+ { name = "numpy" },
4637
+ ]
4638
+ sdist = { url = "https://files.pythonhosted.org/packages/76/c6/8eb0654ba0c7d0bb1bf67bf8fbace101a8e4f250f7722371105e8b6f68fc/scipy-1.15.1.tar.gz", hash = "sha256:033a75ddad1463970c96a88063a1df87ccfddd526437136b6ee81ff0312ebdf6", size = 59407493 }
4639
+ wheels = [
4640
+ { url = "https://files.pythonhosted.org/packages/d8/6e/a9c42d0d39e09ed7fd203d0ac17adfea759cba61ab457671fe66e523dbec/scipy-1.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c09aa9d90f3500ea4c9b393ee96f96b0ccb27f2f350d09a47f533293c78ea776", size = 41478318 },
4641
+ { url = "https://files.pythonhosted.org/packages/04/ee/e3e535c81828618878a7433992fecc92fa4df79393f31a8fea1d05615091/scipy-1.15.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0ac102ce99934b162914b1e4a6b94ca7da0f4058b6d6fd65b0cef330c0f3346f", size = 32596696 },
4642
+ { url = "https://files.pythonhosted.org/packages/c4/5e/b1b0124be8e76f87115f16b8915003eec4b7060298117715baf13f51942c/scipy-1.15.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:09c52320c42d7f5c7748b69e9f0389266fd4f82cf34c38485c14ee976cb8cb04", size = 24870366 },
4643
+ { url = "https://files.pythonhosted.org/packages/14/36/c00cb73eefda85946172c27913ab995c6ad4eee00fa4f007572e8c50cd51/scipy-1.15.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:cdde8414154054763b42b74fe8ce89d7f3d17a7ac5dd77204f0e142cdc9239e9", size = 28007461 },
4644
+ { url = "https://files.pythonhosted.org/packages/68/94/aff5c51b3799349a9d1e67a056772a0f8a47db371e83b498d43467806557/scipy-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c9d8fc81d6a3b6844235e6fd175ee1d4c060163905a2becce8e74cb0d7554ce", size = 38068174 },
4645
+ { url = "https://files.pythonhosted.org/packages/b0/3c/0de11ca154e24a57b579fb648151d901326d3102115bc4f9a7a86526ce54/scipy-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb57b30f0017d4afa5fe5f5b150b8f807618819287c21cbe51130de7ccdaed2", size = 40249869 },
4646
+ { url = "https://files.pythonhosted.org/packages/15/09/472e8d0a6b33199d1bb95e49bedcabc0976c3724edd9b0ef7602ccacf41e/scipy-1.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:491d57fe89927fa1aafbe260f4cfa5ffa20ab9f1435025045a5315006a91b8f5", size = 42629068 },
4647
+ { url = "https://files.pythonhosted.org/packages/ff/ba/31c7a8131152822b3a2cdeba76398ffb404d81d640de98287d236da90c49/scipy-1.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:900f3fa3db87257510f011c292a5779eb627043dd89731b9c461cd16ef76ab3d", size = 43621992 },
4648
+ ]
4649
+
4650
  [[package]]
4651
  name = "segments"
4652
  version = "2.2.1"
 
4739
  { url = "https://files.pythonhosted.org/packages/50/ff/26a4ee48d0b66625a4e4028a055b9f25bc9d7c7b2d17d21a45137621a50d/soundfile-0.12.1-py2.py3-none-win_amd64.whl", hash = "sha256:0d86924c00b62552b650ddd28af426e3ff2d4dc2e9047dae5b3d8452e0a49a77", size = 1009109 },
4740
  ]
4741
 
4742
+ [[package]]
4743
+ name = "soxr"
4744
+ version = "0.5.0.post1"
4745
+ source = { registry = "https://pypi.org/simple" }
4746
+ dependencies = [
4747
+ { name = "numpy" },
4748
+ ]
4749
+ sdist = { url = "https://files.pythonhosted.org/packages/02/c0/4429bf9b3be10e749149e286aa5c53775399ec62891c6b970456c6dca325/soxr-0.5.0.post1.tar.gz", hash = "sha256:7092b9f3e8a416044e1fa138c8172520757179763b85dc53aa9504f4813cff73", size = 170853 }
4750
+ wheels = [
4751
+ { url = "https://files.pythonhosted.org/packages/5d/e3/d422d279e51e6932e7b64f1170a4f61a7ee768e0f84c9233a5b62cd2c832/soxr-0.5.0.post1-cp312-abi3-macosx_10_14_x86_64.whl", hash = "sha256:fef509466c9c25f65eae0ce1e4b9ac9705d22c6038c914160ddaf459589c6e31", size = 199993 },
4752
+ { url = "https://files.pythonhosted.org/packages/20/f1/88adaca3c52e03bcb66b63d295df2e2d35bf355d19598c6ce84b20be7fca/soxr-0.5.0.post1-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:4704ba6b13a3f1e41d12acf192878384c1c31f71ce606829c64abdf64a8d7d32", size = 156373 },
4753
+ { url = "https://files.pythonhosted.org/packages/b8/38/bad15a9e615215c8219652ca554b601663ac3b7ac82a284aca53ec2ff48c/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd052a66471a7335b22a6208601a9d0df7b46b8d087dce4ff6e13eed6a33a2a1", size = 216564 },
4754
+ { url = "https://files.pythonhosted.org/packages/e1/1a/569ea0420a0c4801c2c8dd40d8d544989522f6014d51def689125f3f2935/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3f16810dd649ab1f433991d2a9661e9e6a116c2b4101039b53b3c3e90a094fc", size = 248455 },
4755
+ { url = "https://files.pythonhosted.org/packages/bc/10/440f1ba3d4955e0dc740bbe4ce8968c254a3d644d013eb75eea729becdb8/soxr-0.5.0.post1-cp312-abi3-win_amd64.whl", hash = "sha256:b1be9fee90afb38546bdbd7bde714d1d9a8c5a45137f97478a83b65e7f3146f6", size = 164937 },
4756
+ ]
4757
+
4758
  [[package]]
4759
  name = "speaches"
4760
  version = "0.1.0"
 
4766
  { name = "fastapi" },
4767
  { name = "faster-whisper" },
4768
  { name = "huggingface-hub", extra = ["hf-transfer"] },
4769
+ { name = "kokoro-onnx", extra = ["gpu"] },
4770
  { name = "numpy" },
 
4771
  { name = "openai" },
4772
  { name = "piper-phonemize", marker = "platform_machine == 'x86_64'" },
4773
  { name = "piper-tts", marker = "platform_machine == 'x86_64'" },
 
4836
  { name = "httpx-sse", marker = "extra == 'ui'", specifier = ">=0.4.0" },
4837
  { name = "huggingface-hub", extras = ["hf-transfer"], specifier = ">=0.25.1" },
4838
  { name = "keyboard", marker = "extra == 'client'", specifier = ">=0.13.5" },
4839
+ { name = "kokoro-onnx", extras = ["gpu"], specifier = ">=0.3.6,<0.4.0" },
4840
  { name = "mdx-truly-sane-lists", marker = "extra == 'dev'", specifier = ">=1.3" },
4841
  { name = "mkdocs-material", marker = "extra == 'dev'", specifier = ">=9.5.39" },
4842
  { name = "mkdocs-render-swagger-plugin", marker = "extra == 'dev'", specifier = ">=0.1.2" },
4843
  { name = "mkdocstrings", extras = ["python"], marker = "extra == 'dev'", specifier = ">=0.26.1" },
4844
  { name = "numpy", specifier = ">=2.1.1" },
 
4845
  { name = "openai", specifier = ">=1.60.0" },
4846
  { name = "openai", marker = "extra == 'ui'", specifier = ">=1.60.0" },
4847
  { name = "opentelemetry-distro", marker = "extra == 'opentelemetry'", specifier = ">=0.48b0" },
 
4913
  { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252 },
4914
  ]
4915
 
4916
+ [[package]]
4917
+ name = "threadpoolctl"
4918
+ version = "3.5.0"
4919
+ source = { registry = "https://pypi.org/simple" }
4920
+ sdist = { url = "https://files.pythonhosted.org/packages/bd/55/b5148dcbf72f5cde221f8bfe3b6a540da7aa1842f6b491ad979a6c8b84af/threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107", size = 41936 }
4921
+ wheels = [
4922
+ { url = "https://files.pythonhosted.org/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467", size = 18414 },
4923
+ ]
4924
+
4925
  [[package]]
4926
  name = "tokenizers"
4927
  version = "0.20.1"