Downloads · 30 days
46
33% of all-time downloads
Mayank022/personaplex-edge-q4
personaplex-edge-q4 is a audio-to-audio model from Mayank022. Use it for the audio-to-audio task on the model card, and read the license before you ship it in a product. It is set up for mlx. The card lists the license as other.
This repository contains a 4-bit MLX conversion of kyutai/personaplex-rl-seamless. It takes streaming speech as input and produces speech and text tokens as output. The language model and embeddings stay packed at inf…
Downloads · 30 days
46
33% of all-time downloads
All-time downloads
140
Public
Repo size
5.6 GB
Likes
1
Public
Click a slice to open those files.
.safetensors5.6 GB · 100%
From the Hugging Face model README
This repository contains a 4-bit MLX conversion of
kyutai/personaplex-rl-seamless.
It takes streaming speech as input and produces speech and text tokens as output. The
language model and embeddings stay packed at inference time and run through MLX
quantized_matmul; they are not expanded back to BF16.
I built this to answer a fairly narrow question: can PersonaPlex run a sustained local conversation on an ordinary Apple Silicon laptop? On an M4 MacBook Pro with 16 GB of unified memory, the answer is yes, with some caveats. This is not a tiny phone model. The complete artifact is 5.24 GiB, Android has no backend here yet, and a Raspberry Pi with 4 GB of RAM is too small for it.
| Field | Value |
|---|---|
| Upstream revision | 3fa800309a4b743a8a6d764253eb45def0334afc |
| Parameters | 8,371,408,896 |
| Quantization | affine Q4, group size 32, BF16 activations |
| Source weights | 15.59 GiB |
| Packed language model | 4.87 GiB |
| Complete artifact | 5.24 GiB |
| Size reduction | 2.98x |
| Runtime | MLX quantized_matmul and rustymimi |
| Audio format | 24 kHz, 80 ms frames |
| Packed model SHA-256 | 9840e8618cdff1b1251341c5970ea25c5288c794e470fc1f9087aba15967771f |
The repository includes the packed language model, Mimi codec, SentencePiece tokenizer, normalized configuration, 18 voice states, runtime code, and a manifest with the SHA-256 and size of every artifact file.
The tested setup is an Apple Silicon Mac with 16 GB of memory and Python 3.10 through 3.12. The first clone is a little over 5 GiB.
git clone https://huggingface.co/Mayank022/personaplex-edge-q4
cd personaplex-edge-q4
uv sync
uv run personaplex-edge inspect --artifact . --verify
uv run personaplex-edge serve \
--artifact . \
--host 127.0.0.1 \
--port 8998 \
--metrics-dir outputs/live
Open http://127.0.0.1:8998, allow microphone access, choose a voice and role prompt, then
start the session. Audio remains on the machine.
The published artifact was converted on a Modal NVIDIA L40S. Conversion took 45.33 seconds, numeric validation took 15.83 seconds, and packaging took 104.09 seconds. The complete job took 165.26 seconds. Modal's estimated function cost was $0.13, excluding image-build and persistent-volume charges.
All 578 eligible tensors were reconstructed and compared with the pinned BF16 checkpoint.
| Check | Result | Acceptance gate |
|---|---|---|
| Failed tensors | 0 | 0 |
| Mean normalized RMSE | 0.08292 | reported only |
| Maximum normalized RMSE | 0.10947 | at most 0.12 |
| Minimum cosine similarity | 0.99400 | at least 0.985 |
These checks catch missing tensors, bad name mapping, corrupt files, and excessive weight error. They do not measure conversational quality.
The deployment benchmark used 14 fixed English recordings, voice NATF2, fixed seeds, and a
six-second response tail. Mimi encode, model inference, and Mimi decode ran as three ordered
pipeline stages.
| Metric | Result |
|---|---|
| Cases and frames | 14 and 1,420 |
| Aggregate stream RTF | 0.8589 |
| Steady-state output RTF | 0.8326 |
| Mean output interval | 66.61 ms |
| p95 output interval | 83.06 ms |
| Strict 80 ms deadline misses | 108/1,406 (7.68%) |
| Model load time | 3.01 s |
| Peak MLX allocation | 5.03 GiB |
RTF below 1 means the pipeline sustained real-time throughput on that machine. The p95 output interval is slightly over one frame, so the browser uses a small playback buffer. A separate paced WebSocket test delivered 53/53 frames with no underruns, 102 ms mean frame latency, and 259 ms to first generated audio.
The M4 test predates the final Hub upload, but the packed model, Mimi codec, NATF2 voice,
tokenizer, and configuration used in that test are byte-identical to this release.
The Hub artifact was run again after conversion on a Modal L40S. It completed all 14 cases and
emitted all 1,420 requested audio frames. Whisper.cpp Small English then transcribed the
downloaded outputs. The ASR checkpoint SHA-256 is
c6138d6d58ecc8322097e0f987c32f1be8bb0a18532a3f88f734d1bbf9c41e5d.
| Metric | Result |
|---|---|
| Nonempty model text | 14/14 |
| Nonempty output ASR | 14/14 |
| Model-text to output-ASR WER | 6.57% |
| Expected-keyword coverage | 52.38% |
| Input recording ASR WER | 5.48% |
| Mean active-audio fraction | 49.94% |
| Mean clipping fraction | 0.00% |
The keyword check caught two obvious semantic misses. The snow response described winter without explaining snow, and the quantum-mechanics prompt received an answer about kinetic energy. The other automatic scores do not cancel those failures. This is a small smoke set, not a factuality benchmark or a human listening study.
The serial Modal loop reported RTF 1.63. That number is included in eval/ for reproducibility,
but it is not the edge throughput result: MLX CUDA streams are thread-local, so this control
could not use the three-stage Metal pipeline measured on the M4.
Q4 and the original BF16 checkpoint were run on the same L40S with the same inputs, prompts, voices, seeds, codec, and generator path.
| Metric | Q4 | BF16 |
|---|---|---|
| Expected-keyword coverage | 52.38% | 52.38% |
| Output-ASR WER | 6.57% | 4.37% |
| Mean model stage | 23.47 ms | 33.78 ms |
| Peak MLX allocation | 5,135.89 MB | 16,112.65 MB |
| Runtime load | 2.75 s | 17.84 s |
Q4 cut peak MLX allocation by 68.13% and made the model stage 1.44 times faster. Its output-ASR WER was 2.20 percentage points worse. With only 14 prompts and sampled generation, this is evidence of a tradeoff, not proof that Q4 and BF16 have equal conversational quality.
The model weights are not MIT-licensed. They inherit both CC BY-NC 4.0 and the NVIDIA Open
Model License from the upstream model lineage. Commercial use is not permitted under the
CC BY-NC 4.0 terms. Read MODEL_LICENSE.md and the
upstream model card
before downloading or redistributing the files.
The original conversion, evaluation, and serving code in src/personaplex_edge is MIT-licensed.
That code license does not replace or weaken the model-weight licenses.
@article{ohashi2026multifaceted,
title={Multi-Faceted Interactivity Alignment in Full-Duplex Speech Models},
author={Ohashi, Atsumoto and Zeghidour, Neil and D\'efossez, Alexandre and Kharitonov, Eugene},
journal={arXiv preprint arXiv:2606.11167},
year={2026}
}
Please also cite the upstream PersonaPlex and Moshi work when this conversion is used in a paper or public benchmark.