Skip to content

Feat/stable models - #7

Open
b-re-w wants to merge 13 commits into
researchfrom
feat/stable_models
Open

Feat/stable models#7
b-re-w wants to merge 13 commits into
researchfrom
feat/stable_models

Conversation

@b-re-w

@b-re-w b-re-w commented Aug 19, 2026

Copy link
Copy Markdown
Member

No description provided.

b-re-w added 13 commits August 19, 2026 18:20
No reference to audiotools remains in pyproject.toml or voicestudio/.
It was already dropped during the model migrations, so there is
nothing left to remove here. Marked done in the status table.
The speechbrain dependency in the eval extra was pinned to a fork
(latentforge/speechbrain, fix/support_torch2.9) that existed only to
support torch 2.8+, which upstream speechbrain did not support at fork
time. Upstream has since caught up: speechbrain 1.1.0 depends on
torch>=2.1.0 with no upper bound, via PR speechbrain/speechbrain#3032.

Since speechbrain is not actually imported or referenced anywhere in
this repo, drop the dependency entirely instead of switching to
upstream. Removes it from the eval extra and drops the git source
override.
The vocos git dependency in pyproject.toml was never imported anywhere
in the codebase. F5TTSProcessor.decode already accepted a generic
vocoder callable rather than importing vocos directly, so the
dependency declaration was dead weight.

No transformers-tts-native vocoder (hifigan variants, vits, seamless
m4t) matches F5-TTS's mel config (24kHz, 100 mel channels, power-1
centered STFT), so F5-TTS still requires a caller-supplied vocoder at
decode time. Reworded docstrings and the F5-TTS README so they no
longer imply vocos itself is required, and updated the PROJECT.md
status table. The vocos GitHub repo was left in place.
Drop the utmosv2 git dependency from pyproject.toml and its
tool.uv.sources pin. Add voicestudio/metrics/utmos.py, adapting the
upstream UTMOSv2 create_model/predict API to the evaluate.Metric
interface with a lazy import, so voicestudio no longer requires the
package at install or import time.

UTMOSv2's architecture (a five-fold ensemble fusing an SSL branch
with an image-classifier branch over spectrogram crops, driven by a
hydra config system) is real model code, not a thin scoring call, so
it is not vendored here. Callers that need scores install utmosv2
separately.
# Conflicts:
#	PROJECT.md
#	pyproject.toml
# Conflicts:
#	PROJECT.md
#	pyproject.toml
EncoderDecoderCache.from_legacy_cache, DynamicCache.from_legacy_cache,
and Cache.to_legacy_cache do not exist in the transformers-tts fork;
tuple-based cache support was dropped from the whole cache API.
Matches musicgen's approach in the same fork: past_key_values is
always None or an already-correct Cache instance by the time these
methods run.
input_ids arrives as (bsz * num_codebooks, seq_len), the flattened
shape ParlerTTSForConditionalGeneration passes down as decoder_input_ids.
transpose(1, 2) on that raises an IndexError; reshape to
(bsz, num_codebooks, seq_len) first, matching the reshape already done
in ParlerTTSDecoder.forward for the same input.

Verified with an actual forward/backward pass through
ParlerTTSForCausalLM using 2D input_ids.
…stry

git filter-repo --to-subdirectory-filter checks out each upstream
repo's full working tree under _history/ in addition to rewriting its
history, not just the history. That put hundreds of old, since-fixed
dependency manifests (requirements.txt, setup.py, uv.lock) into the
live tree, which is what Dependabot was actually flagging. The grafted
commits stay reachable (git log --all still shows real upstream
authorship); only the checked-out files at HEAD are removed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant