-modify main,py to not hardcode using DEFAULT_VARIANT
-allow submission of path string to path of variant.yaml file saved in
custom directory in lieu of model variant identifier in CLI to use when
loading model
-addresses #57
Quality of life improvement to save user voice embedding as a
.safetensors file that can be loaded for subsequent use, achieving the
same efficiency as the predefined voices, all via the existing
get_state_for_audio_prompt function.
---------
Co-authored-by: Václav Volhejn <8401624+vvolhejn@users.noreply.github.com>
This pull request addresses issue #38
**Changes included:**
- Added a `max_tokens` parameter to the typer cli for the `generate`
command, allowing user to set a default number of tokens per chunk.
- Introduced a default variable `MAX_TOKEN_PER_CHUNK` to centralize the
default value.
- Fixed a tokenization issue by inserting a comma, allowing the model to
correctly read each chunk as intended rather than treating one chunk as
a single sentence.
**Future improvement suggestion :**
- Consider enhancing the `split_into_best_sentences` function using
regex to split text more accurately without modifying it, which would
improve clarity and maintainability.
---------
Co-authored-by: Václav Volhejn <8401624+vvolhejn@users.noreply.github.com>
The `frames_after_eos` parameter in `generate_audio_stream()` and
`generate_audio()` was accepted but never used - the code always used
the auto-calculated guess.
**Before:** User passes `frames_after_eos=0` → ignored, uses guess (3+
frames of silence)
**After:** User passes `frames_after_eos=0` → respected, minimal
trailing silence
Default behavior preserved when `frames_after_eos=None`.
I *think* this is the intention of that argument.
Without a specific commit, huggingface cannot be sure that the file has
not changed, so it needs to do a quick query to hf hub to check that
there were no new commits. This adds some latency to the CLI and
function calls, but it also prevents offline use, even if the files are
already present locally. This PRs fixes this. Now with the commit hash,
hf has the guarantee that the local files are the right ones and thus
doesn't need to query the hub every time.
Fix https://github.com/kyutai-labs/pocket-tts/pull/21
`torch.no_grad` is thread local, I now run the autoregressive generation
in a separate thread, in addition of the thread running mimi, and forgot
to add `torch.no_grad` to the function inside this thread.