git clone https://github.com/yourusername/voco.git
cd voco
pip install -e .
pip install -e plugins/voco-kokoro
pip install ruff mypyUse ruff for formatting and linting:
ruff format .
ruff check .Create a new plugin in plugins/:
plugins/voco-yourmodel/
├── pyproject.toml
└── voco_yourmodel/
├── __init__.py
└── driver.py
driver.py:
from voco.core.base_model import BaseAudioModel
class YourModelDriver(BaseAudioModel):
def load(self):
# Load your model here
self._loaded = True
def generate(self, *args, **kwargs):
# Run inference
return outputinit.py:
from voco.core.registry import register_model
from .driver import YourModelDriver
register_model("yourmodel", YourModelDriver)pyproject.toml:
[project]
name = "voco-yourmodel"
version = "0.0.1"
dependencies = [
"voco>=0.0.1",
# your deps here
]Test your plugin:
from voco.core import AudioRouter
import voco_yourmodel
router = AudioRouter()
router.load("yourmodel", device="cpu")
output = router.infer("yourmodel", input_data)- Fork the repo
- Create a feature branch
- Make your changes
- Run
ruff format .andruff check . - Submit a PR