Install this version:
emerge -a =localai-backend/vibevoice-4.12.1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =localai-backend/vibevoice-4.12.1
Or alternatively:
emerge --autounmask-write -a =localai-backend/vibevoice-4.12.1
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 4.12.1 | 8 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# LocalAI realtime TTS/ASR backend (Microsoft VibeVoice). Upstream's
# install clones VibeVoice from UNPINNED git main at install time; we
# pin the commit below (upstream has no tags) and install the pure-
# python package next to backend.py. The venv skeleton lives in
# local-ai-python.eclass; wheels carry transformers 4.57.6 (the last
# 4.x release: the MS package pins <5, and its class names collide
# with the native VibeVoice port that transformers >=5.17 ships — the
# venv copy shadows the system 5.x), huggingface-hub 0.36.2
# (transformers 4.x enforces hub <1.0 at import, shadowing the tree's
# 1.x), librosa (fish-speech's pin, its closure is tree packages) and
# diffusers 0.39.0 (the last release accepting hub <1.0).
# Deliberately NOT shipped from upstream's requirements/pyproject:
# gradio, av, aiortc, fastapi, uvicorn, pydub, requests,
# ml-collections, absl-py — demo- and vllm-plugin-only, nothing the
# imported vibevoice subset or backend.py touches — and apex
# (try/except-guarded NVIDIA-only fused kernels).
EAPI=8
# backend.py imports these at module level — the real inference
# closure for both the streaming-TTS and ASR paths.
LOCAL_AI_PYTHON_SMOKE_IMPORTS="backend
vibevoice.modular.modeling_vibevoice_streaming_inference
vibevoice.processor.vibevoice_streaming_processor
vibevoice.modular.modeling_vibevoice_asr
vibevoice.processor.vibevoice_asr_processor"
inherit local-ai-python
VIBEVOICE_COMMIT="16fb2cb1217c9934a886e1948ffb06120caa2df5"
DESCRIPTION="LocalAI realtime TTS/ASR backend (Microsoft VibeVoice gRPC server)"
SRC_URI+="
https://github.com/microsoft/VibeVoice/archive/${VIBEVOICE_COMMIT}.tar.gz
-> vibevoice-${VIBEVOICE_COMMIT}.gh.tar.gz
"
VV_S="${WORKDIR}/VibeVoice-${VIBEVOICE_COMMIT}"
LICENSE="MIT"
# sci-ml/transformers is shadowed in the venv by the wheels'
# transformers 4.57.6 (the MS package pins <5 and collides with
# >=5.17's native VibeVoice) — kept as the guaranteed provider of the
# 4.x wheel's runtime closure (tokenizers, safetensors,
# huggingface_hub, regex, ...) via system-site, since wheels install
# with --no-deps.
RDEPEND+="
sci-ml/transformers[${PYTHON_SINGLE_USEDEP}]
sci-ml/accelerate[${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
dev-python/librosa[${PYTHON_USEDEP}]
dev-python/soundfile[${PYTHON_USEDEP}]
dev-python/tqdm[${PYTHON_USEDEP}]
')
"
DEPEND="${RDEPEND}"
src_unpack() {
local-ai-python_src_unpack
unpack "vibevoice-${VIBEVOICE_COMMIT}.gh.tar.gz"
}
src_install() {
exeinto "${BACKEND_DIR}"
doexe backend.py
# The pinned VibeVoice package, importable next to backend.py —
# pure python plus two bundled json configs.
insinto "${BACKEND_DIR}"
doins -r "${VV_S}/vibevoice"
local-ai-python_install_venv
python_optimize "${ED}${BACKEND_DIR}/vibevoice"
local-ai-python_install_meta
local-ai-python_smoke_test
}
sci-ml/transformers[${PYTHON_SINGLE_USEDEP}] sci-ml/accelerate[${PYTHON_SINGLE_USEDEP}] $(python_gen_cond_dep ' dev-python/librosa[${PYTHON_USEDEP}] dev-python/soundfile[${PYTHON_USEDEP}] dev-python/tqdm[${PYTHON_USEDEP}] ')
sci-ml/transformers[${PYTHON_SINGLE_USEDEP}] sci-ml/accelerate[${PYTHON_SINGLE_USEDEP}] $(python_gen_cond_dep ' dev-python/librosa[${PYTHON_USEDEP}] dev-python/soundfile[${PYTHON_USEDEP}] dev-python/tqdm[${PYTHON_USEDEP}] ')
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | vibevoice-16fb2cb1217c9934a886e1948ffb06120caa2df5.gh.tar.gz | 126445033 bytes | https://github.com/microsoft/VibeVoice/archive/16fb2cb1217c9934a886e1948ffb06120caa2df5.tar.gz |