mlx-audio icon indicating copy to clipboard operation
mlx-audio copied to clipboard

Error processing file '/Users/runner/work/espeakng-loader/espeakng-loader/espeak-ng/_dynamic/share/espeak-ng-data/phontab': No such file or directory.

Open schniggie opened this issue 8 months ago • 1 comments

Error on a fresh install on M3 Pro 15.4.1.

python3.10 -m venv venv
source venv/bin/activate 
pip install -r requirements.txt
pip install mlx-audio
brew list | grep espeak
espeak-ng

Install succeeded without any errors. First try fails:

mlx_audio.tts.generate --text "Hello, world"
Fetching 2 files: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 32768.00it/s]

Model: mlx-community/Kokoro-82M-bf16
Text: Hello, world
Voice: None
Speed: 1.0x
Language: a
Error processing file '/Users/runner/work/espeakng-loader/espeakng-loader/espeak-ng/_dynamic/share/espeak-ng-data/phontab': No such file or directory.
/opt/homebrew/Cellar/[email protected]/3.10.17/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

Any ideas? /Users/runner/work/espeakng-loader/... is nothing on my system.

schniggie avatar Apr 23 '25 05:04 schniggie

Try with python 3.11 and it should work on latest main

~~Did not try with the package~~

python -m mlx_audio.tts.generate --text "Hello, world" --play

EDIT : tried with the package and it works perfectly on py311

uplg avatar Apr 23 '25 20:04 uplg

Sorry for my delay. Just tested it again with python3.10-3.13. Same error:

mlx-audio on  main [?] via 🐍 v3.12.10 (venv) took 1m0s 
❯ mlx_audio.server                           
INFO:     Warming up STT model.
INFO:     STT model warmed up.
INFO:     Warming up VAD model.
INFO:     VAD model warmed up.
Fetching 2 files: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 51150.05it/s]
2025-05-20 13:49:10,278 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
INFO:     Started server process [37312]
INFO:     Waiting for application startup.
INFO:     Visit https://fastrtc.org/userguide/api/ for WebRTC or Websocket API docs.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     127.0.0.1:50616 - "GET / HTTP/1.1" 200 OK
Fetching 2 files: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 29433.71it/s]
2025-05-20 13:50:56.433 | INFO     | mlx_audio.tts.models.kokoro.kokoro:_get_pipeline:261 - Creating new KokoroPipeline for language: a
Error processing file '/Users/runner/work/espeakng-loader/espeakng-loader/espeak-ng/_dynamic/share/espeak-ng-data/phontab': No such file or directory.
/opt/homebrew/Cellar/[email protected]/3.12.10/Frameworks/Python.framework/Versions/3.12/lib/python3.12/multiprocessing/resource_tracker.py:279: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

Quite sure the issue relates to espeak-ng Error processing file '/Users/runner/work/espeakng-loader/espeakng-loader/espeak-ng/_dynamic/share/espeak-ng-data/phontab': No such file or directory.. But no clue why, it's the latest from https://formulae.brew.sh/formula/espeak-ng#default

schniggie avatar May 20 '25 11:05 schniggie

I found out the issue. For current espeak-ng on MacOS from Homebrew I needed to add:

export ESPEAK_DATA_PATH=/opt/homebrew/Cellar/espeak-ng/1.52.0/share/espeak-ng-data

schniggie avatar May 20 '25 12:05 schniggie