Spaces:
Running on Zero
Running on Zero
| # Repository Guidelines | |
| ## Project Structure & Module Organization | |
| - `app.py` is the Gradio entrypoint. It calls the local Ollama model, runs TTS, and serves the UI on `127.0.0.1:7860`. | |
| - `synth.py` contains the audio-processing pipeline that transforms a WAV file into the droid-style output. | |
| - `pyproject.toml` defines the project metadata and Python version requirement (`>=3.12`). | |
| - The repository currently has no dedicated `tests/`, `assets/`, or package directories, so keep new modules small and colocated until the structure grows. | |
| ## Build, Test, and Development Commands | |
| - `python app.py` starts the local web app. | |
| - `python synth.py` runs the synthesizer against `input.wav` and writes `output.wav` for quick audio checks. | |
| - `python -m pip install gradio ollama numpy scipy` installs the runtime dependencies used by the current code. | |
| - There is no formal build step yet; if packaging is added later, keep the command in `pyproject.toml` and document it here. | |
| ## Coding Style & Naming Conventions | |
| - Use standard Python 3.12 style: 4-space indentation, snake_case for functions and variables, and ALL_CAPS only for constants. | |
| - Prefer short, explicit helper functions over large inline blocks. Keep file names lowercase with underscores when adding modules. | |
| - Match the existing pragmatic style: minimal abstraction, direct control flow, and comments only where the audio logic is non-obvious. | |
| ## Testing Guidelines | |
| - No automated test framework is currently configured. | |
| - When adding tests, place them under `tests/` and name them `test_*.py`. | |
| - For now, verify changes manually by running `python synth.py` and the Gradio app, then confirming the generated WAV plays correctly. | |
| ## Commit & Pull Request Guidelines | |
| - Recent commit messages are short, lowercase, and imperative or descriptive, such as `add config.toml for Codex git commit settings`. | |
| - Keep commits focused on one change and avoid bundling unrelated refactors. | |
| - Pull requests should explain the user-visible change, list any local verification performed, and include screenshots or sample audio when UI or sound output changes. | |
| ## Configuration Notes | |
| - This app expects a local Ollama server and `espeak-ng` to be available on the PATH. | |
| - Temporary WAV files are created during generation and cleaned up automatically; avoid committing generated audio artifacts. | |