semvec/pypi-packages huggingface dataset:
voxcpmane 0.0.5b4
VoxCPM TTS model with Apple Neural Engine backend server
Requires Python: <3.13,>=3.9

# VoxCPMANE

[VoxCPM TTS](https://github.com/OpenBMB/VoxCPM) model with Apple Neural Engine (ANE) backend server. CoreML models available in [Huggingface repository](https://huggingface.co/seba/VoxCPM-ANE).


- 🎤 **Voice Cloning**: Support for custom voice prompts and cached voices
- 📡 **Streaming Support**: Real-time audio streaming for low latency
- 🎧 **Server-side Playback**: Direct audio playback on the server
- 🌐 **Web Interface**: Interactive playground for testing

## Voice Cloning

https://github.com/user-attachments/assets/02ffa400-b2fd-422e-a3ad-a0ea232a55aa

## Included Voices [Listen samples](https://gregr.org/tts-samples/)


https://github.com/user-attachments/assets/28880ed2-2e21-4eb4-b0ce-18a100403e87


## Installation

### Prerequisites

- macOS with Apple Silicon for ANE acceleration
- Python 3.9-3.12
- [uv](https://github.com/astral-sh/uv) package manager (recommended)
- `pydub` required for audio formats other than `wav` in `/speech` endpoint

### Install with `pip` or `uv`

```bash
uv pip install voxcpmane
```

```bash
pip install voxcpmane
```

The server will start on `http://localhost:8000` by default. You can access the web playground at the root URL.

## Configuration

### Command Line Options

```bash
uv run voxcpmane-server --help
```

- `--host`: Host to bind the server to (default: `0.0.0.0`)
- `--port`: Port to run the server on (default: `8000`)
- `--cache-dir`: Directory for custom voice caches (default: `~/.cache/ane_tts`)

## Custom Voices

You can create reusable cached voices in two ways:

1.  **Via the Web Playground/API**: Use the "Create Voice" tab or `POST /v1/voices` endpoint.
2.  **Startup Compilation**: Place pairs of audio files (e.g., `.wav`, `.mp3`) and transcriptions (`.txt`) in the custom cache directory. The server will automatically compile them into voice caches (`.npy`) on startup.

Example:
If you place `myvoice.mp3` and `myvoice.txt` in the cache directory, the server will generate `myvoice.npy` on start, making "myvoice" available for generation.

## API Reference

The full API documentation is available in [docs/API.md](docs/API.md).

## Changelog

### Version 0.0.3
- Added support for creation of custom voices

## Roadmap
  - [ ] Automatic prompt caching
  - [ ] Chunked long audio generation
  - [x] Custom voices

## Acknowledgments

- [VoxCPM](https://github.com/OpenBMB/VoxCPM) - Original TTS model
emu-popgen 1.6.0
EM-PCA for inferring population structure in the presence of missingness
Requires Python: >=3.10

# EMU (v1.6.0)
EMU is a software for performing principal component analysis (PCA) in the presence of missingness for genetic datasets. EMU can handle both random and non-random missingness by modelling it directly through a truncated SVD approach. EMU uses binary PLINK files as input.

### Citation
Please cite our paper in [*Bioinformatics*](https://doi.org/10.1093/bioinformatics/btab027)

## Installation
```bash
# Option 1: Build and install via PyPI
pip install emu-popgen

# Option 2: Download source and install via pip
git clone https://github.com/Rosemeis/emu.git
cd emu
pip install .

# Option 3: Download source and install in a new Conda environment
git clone https://github.com/Rosemeis/emu.git
conda env create -f emu/environment.yml
conda activate emu
```
You can now run the program with the `emu` command.

If you run into issues with your installation on a HPC system, it could be due to a mismatch of CPU architectures between login and compute nodes (illegal instruction). You can try and remove every instance of the `march=native` compiler flag in the [setup.py](./setup.py) file which optimizes `emu` to your specific hardware setup. Another alternative is to use the [uv package manager](https://docs.astral.sh/uv/), where you can run `emu` in a temporary and isolated environment by simply adding `uvx` in front of the `emu` command.

```bash
# uv tool run example
uvx emu --bfile test --eig 2 --threads 64 --out test.emu
```

## Quick usage
### Running EMU
Provide `emu` with the file prefix of the PLINK files.
```bash
# Check help message of the program
emu -h

# Model and extract 2 eigenvectors using the EM-PCA algorithm
emu --bfile test --eig 2 --threads 64 --out test.emu

# Use 2 eigenvectors for modelling but extract 10 eigenvectors
emu --bfile test --eig 2 --eig-out 10 --threads 64 --out test.emu
```

### Memory-efficient variant
Very memory-efficient variant of `emu` for large-scale datasets.
```bash
# Example run using '--mem' argument
emu --mem --bfile test -eig 2 -threads 64 -out test.emu.mem
```