initial release
This commit is contained in:
+167
@@ -0,0 +1,167 @@
|
||||
/* tests/abi-c.c: link-only ABI smoke test for omnivoice.h.
|
||||
*
|
||||
* Compiled in pure C99 with -Wall -Werror -pedantic. The purpose of this
|
||||
* test is NOT to run a full synthesis (no GGUF loaded, no model required);
|
||||
* it is to guarantee at every build that :
|
||||
*
|
||||
* 1. omnivoice.h parses with a C compiler (no <cstdio>, no std::*, no
|
||||
* C++-only forward declarations leak in).
|
||||
* 2. Every public ov_* symbol has C linkage and links from a C
|
||||
* translation unit.
|
||||
* 3. The structs are POD and zero-initialisable with `{0}` from C.
|
||||
* 4. The ov_log_set callback routes formatted messages from the lib to
|
||||
* the user, and abi_version validation rejects future structs.
|
||||
*
|
||||
* If this test stops compiling or stops linking, the public ABI has
|
||||
* regressed and the build breaks before anything else.
|
||||
*/
|
||||
|
||||
#include "omnivoice.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
static bool stub_cancel(void * ud) {
|
||||
(void) ud;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Counter incremented by the stub log callback. The probe checks that at
|
||||
* least one log line was routed through the callback by triggering an
|
||||
* ov_init failure (which emits a [OmniVoice] ERROR line via ov_log). */
|
||||
static int g_log_lines = 0;
|
||||
static enum ov_log_level g_last_log_level = OV_LOG_DEBUG;
|
||||
static char g_last_log_msg[512] = { 0 };
|
||||
|
||||
static void stub_log(enum ov_log_level level, const char * msg, void * user_data) {
|
||||
(void) user_data;
|
||||
g_log_lines++;
|
||||
g_last_log_level = level;
|
||||
if (msg) {
|
||||
size_t n = strlen(msg);
|
||||
if (n >= sizeof(g_last_log_msg)) {
|
||||
n = sizeof(g_last_log_msg) - 1;
|
||||
}
|
||||
memcpy(g_last_log_msg, msg, n);
|
||||
g_last_log_msg[n] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
/* Static version string, always reachable. */
|
||||
const char * version = ov_version();
|
||||
printf("[Probe] %s\n", version);
|
||||
|
||||
/* Default-initialise the public structs from C. */
|
||||
struct ov_init_params iparams;
|
||||
ov_init_default_params(&iparams);
|
||||
|
||||
struct ov_tts_params params;
|
||||
ov_tts_default_params(¶ms);
|
||||
|
||||
/* Sanity-check a few default values, including the new abi_version. */
|
||||
if (params.mg_num_step != 32 || params.chunk_duration_sec <= 0.0f) {
|
||||
fprintf(stderr, "[Probe] default values do not match\n");
|
||||
return 1;
|
||||
}
|
||||
if (iparams.abi_version != OV_ABI_VERSION || params.abi_version != OV_ABI_VERSION) {
|
||||
fprintf(stderr, "[Probe] abi_version not set by ov_*_default_params\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Touch every reference-pointer field, every callback typedef and
|
||||
* every output struct field so the compiler validates the layout
|
||||
* end-to-end without ever needing a model. */
|
||||
params.cancel = stub_cancel;
|
||||
params.cancel_user_data = NULL;
|
||||
|
||||
struct ov_audio audio = { 0 };
|
||||
ov_audio_free(&audio);
|
||||
|
||||
struct ov_voice_ref voice_ref = { 0 };
|
||||
ov_voice_ref_free(&voice_ref);
|
||||
|
||||
/* Install the log callback before the failing init so the [OmniVoice]
|
||||
* ERROR line lands on stub_log instead of stderr. */
|
||||
ov_log_set(stub_log, NULL);
|
||||
|
||||
/* Call every entry through its early-return path. ov_init returns
|
||||
* NULL on missing model_path, ov_synthesize / ov_duration_sec_to_tokens
|
||||
* fail on NULL handle, ov_free is safe on NULL. None of these load a
|
||||
* model, but the linker must resolve every name to satisfy the call. */
|
||||
struct ov_context * dummy = ov_init(NULL);
|
||||
if (dummy != NULL) {
|
||||
fprintf(stderr, "[Probe] ov_init(NULL) was supposed to return NULL\n");
|
||||
ov_free(dummy);
|
||||
return 2;
|
||||
}
|
||||
|
||||
/* ov_init(NULL) just failed -> ov_last_error() must point to a
|
||||
* non-empty thread-local string. Pointer is always valid (c_str on
|
||||
* an empty std::string still gives a NUL byte), so we only need to
|
||||
* check the first byte to confirm an error was actually recorded. */
|
||||
const char * err = ov_last_error();
|
||||
if (err == NULL || err[0] == '\0') {
|
||||
fprintf(stderr, "[Probe] ov_last_error() empty after a known failure\n");
|
||||
return 5;
|
||||
}
|
||||
|
||||
/* The same failure must have surfaced through the log callback at
|
||||
* ERROR level. */
|
||||
if (g_log_lines == 0) {
|
||||
fprintf(stderr, "[Probe] ov_log_set callback never invoked\n");
|
||||
return 6;
|
||||
}
|
||||
if (g_last_log_level != OV_LOG_ERROR) {
|
||||
fprintf(stderr, "[Probe] last log level was %d, expected %d\n", (int) g_last_log_level,
|
||||
(int) OV_LOG_ERROR);
|
||||
return 7;
|
||||
}
|
||||
printf("[Probe] ov_log_set routed %d line(s), last: '%s'\n", g_log_lines, g_last_log_msg);
|
||||
printf("[Probe] ov_last_error reads '%s'\n", err);
|
||||
|
||||
/* abi_version validation : a struct claiming a future ABI must be
|
||||
* rejected up front, before any allocation. */
|
||||
struct ov_init_params future_iparams;
|
||||
ov_init_default_params(&future_iparams);
|
||||
future_iparams.model_path = "irrelevant.gguf";
|
||||
future_iparams.abi_version = OV_ABI_VERSION + 1;
|
||||
struct ov_context * rejected = ov_init(&future_iparams);
|
||||
if (rejected != NULL) {
|
||||
fprintf(stderr, "[Probe] ov_init accepted a future abi_version\n");
|
||||
ov_free(rejected);
|
||||
return 8;
|
||||
}
|
||||
|
||||
enum ov_status rc = ov_synthesize(NULL, ¶ms, &audio);
|
||||
if (rc != OV_STATUS_INVALID_PARAMS) {
|
||||
fprintf(stderr, "[Probe] ov_synthesize(NULL) returned %d, expected %d\n", (int) rc,
|
||||
(int) OV_STATUS_INVALID_PARAMS);
|
||||
return 3;
|
||||
}
|
||||
|
||||
int frames = ov_duration_sec_to_tokens(NULL, 1.0f);
|
||||
if (frames < 1) {
|
||||
fprintf(stderr, "[Probe] ov_duration_sec_to_tokens returned %d, expected >= 1\n", frames);
|
||||
return 4;
|
||||
}
|
||||
|
||||
enum ov_status vrc = ov_extract_voice_ref(NULL, NULL, 0, &voice_ref);
|
||||
if (vrc != OV_STATUS_INVALID_PARAMS) {
|
||||
fprintf(stderr, "[Probe] ov_extract_voice_ref(NULL) returned %d, expected %d\n", (int) vrc,
|
||||
(int) OV_STATUS_INVALID_PARAMS);
|
||||
return 9;
|
||||
}
|
||||
|
||||
/* Restore the default stderr fallback before exit so the trailing
|
||||
* [OmniVoice] log lines from the cleanup paths land where the user
|
||||
* expects them. */
|
||||
ov_log_set(NULL, NULL);
|
||||
|
||||
ov_free(NULL);
|
||||
ov_audio_free(&audio);
|
||||
ov_voice_ref_free(&voice_ref);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
[Quant] BF16 -> ../models/omnivoice-base-BF16.gguf + ../models/omnivoice-tokenizer-BF16.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 29767.07it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 29854.51it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-BF16.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 1168.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-BF16.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.8 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 162.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015129 0.002052 0.001395 -0.000015
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.251307 -1.989964 -0.260844 -0.051289
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.816842 -0.277388 0.394666 -0.055952
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.176163 -0.532692 0.651057 0.150821
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.391009 -0.979660 0.525753 -0.270769
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.136203 -0.455280 0.047521 -0.174487
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.128507 -0.472913 -0.165277 -0.343169
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.126316 -0.151931 0.265481 0.198177
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.073464 -0.067004 0.184268 0.372479
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.228073 -0.580365 0.248618 -0.090881
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 250.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.075195 -0.010925 0.044434 0.095703
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.260810 0.471199 -0.249788 -2.017771
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.114883 0.096792 -0.421715 -4.091140
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.475127 -0.407467 -0.298412 -5.422098
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.325106 -0.282962 -0.300655 -5.569968
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.132049 -0.020475 -0.263191 -5.096487
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.684373 0.206078 -0.018872 -4.358846
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.451521 -0.501711 0.399939 -5.823214
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.060911 -3.926159 0.535675 -13.996303
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.735776 -4.344337 0.032658 -14.132970
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.912632 -4.500868 -0.448753 -15.371720
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.112230 -4.421752 -1.587656 -18.085947
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.262740 -4.641432 2.183664 -20.085903
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.214523 -4.787358 2.596816 -19.400707
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.539670 -2.988171 2.549081 -17.645794
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.565463 2.381270 9.021063 -15.813057
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051380 0.134104 0.039505 0.157163
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.372697 -0.012388 0.485266 -0.622929
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.085794 0.495223 -0.234785 -5.318567
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: 0.002996 -0.362019 -0.657193 -1.450440
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.149150 1.018216 17.107746 -0.234911
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005131 0.004723 0.009892 0.009244
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.183346 -0.179019 0.261510 -2.662508
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.930335 0.463622 0.383298 -2.861404
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.486901 0.555401 0.574257 -3.366534
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.797908 0.727291 0.488947 -3.311704
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.435450 0.155186 0.331418 -3.360612
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.151413 0.957831 -0.060922 -3.594607
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.282472 1.529170 0.693620 -4.251175
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.833507 1.040130 -0.218334 -11.843039
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.474101 1.440468 0.050403 -12.747397
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.373785 1.561777 0.904172 -15.907680
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.589528 0.854399 0.075722 -15.255304
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.328652 0.670915 1.507467 -14.584229
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.061802 -0.775547 8.887689 -13.214510
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.856380 2.588746 18.045954 -10.729965
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.042026 9.858720 9.970501 -8.366570
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.026110 -0.036831 -0.029898 0.149915
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.845671 -0.024471 0.575118 -0.199084
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.539119 -0.150069 -0.569946 -3.937901
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.098683 0.667112 -0.453330 0.000188
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.349939 47.237019 129.625702 0.701575
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 17.734871 13.600336 14.123621 15.146841
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.078859 12.336872 17.509354 15.316326
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.602330 -0.833102 -0.738213 -1.094321
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -22.690666 -27.610294 -36.385403 -28.929688
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 43667.19 ms across 32 steps (avg 1364.60 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 997.000000 698.000000 783.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.015765 0.013549 0.010459 0.006962
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-BF16.gguf --codec ../models/omnivoice-tokenizer-BF16.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% diffs: 0 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999991 max_abs_diff: 1.328e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999982 max_abs_diff: 2.107e-03 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999988 max_abs_diff: 1.044e-01 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999988 max_abs_diff: 9.708e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999989 max_abs_diff: 2.593e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999989 max_abs_diff: 2.263e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999991 max_abs_diff: 2.288e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999991 max_abs_diff: 2.374e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999984 max_abs_diff: 1.439e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999958 max_abs_diff: 1.292e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 97.85% diffs: 74 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=100.0% k1=99.8% k2=98.6% k3=98.4% k4=97.7% k5=97.4% k6=94.9% k7=96.1%
|
||||
[Cossim] L0 hidden cond: cos=0.996902 max_abs=5.719e+00 uncond: cos=0.999998 max_abs=3.887e-02
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.997575 max_abs=1.254e-01 uncond: cos=0.999997 max_abs=1.255e-03
|
||||
[Cossim] L1.attn hidden cond: cos=0.999590 max_abs=9.467e-02 uncond: cos=0.999996 max_abs=6.960e-03
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.999301 max_abs=9.438e-01 uncond: cos=0.999998 max_abs=1.097e-02
|
||||
[Cossim] L1.mlp hidden cond: cos=0.999173 max_abs=1.629e+00 uncond: cos=0.999994 max_abs=3.213e-02
|
||||
[Cossim] L1 hidden cond: cos=0.997565 max_abs=5.937e+00 uncond: cos=0.999998 max_abs=5.028e-02
|
||||
[Cossim] L2 hidden cond: cos=0.997872 max_abs=6.294e+00 uncond: cos=0.999998 max_abs=5.408e-02
|
||||
[Cossim] L3 hidden cond: cos=0.997923 max_abs=6.629e+00 uncond: cos=0.999997 max_abs=6.779e-02
|
||||
[Cossim] L4 hidden cond: cos=0.997947 max_abs=7.380e+00 uncond: cos=0.999996 max_abs=9.278e-02
|
||||
[Cossim] L5 hidden cond: cos=0.997911 max_abs=8.146e+00 uncond: cos=0.999995 max_abs=9.865e-02
|
||||
[Cossim] L6 hidden cond: cos=0.998036 max_abs=8.581e+00 uncond: cos=0.999994 max_abs=1.257e-01
|
||||
[Cossim] L13 hidden cond: cos=0.998678 max_abs=1.110e+01 uncond: cos=0.999995 max_abs=1.166e-01
|
||||
[Cossim] L14 hidden cond: cos=0.998951 max_abs=1.116e+01 uncond: cos=0.999995 max_abs=1.584e-01
|
||||
[Cossim] L15 hidden cond: cos=0.999088 max_abs=1.107e+01 uncond: cos=0.999993 max_abs=3.991e-01
|
||||
[Cossim] L16 hidden cond: cos=0.998977 max_abs=2.289e+01 uncond: cos=0.999994 max_abs=3.245e-01
|
||||
[Cossim] L17 hidden cond: cos=0.999022 max_abs=2.313e+01 uncond: cos=0.999994 max_abs=4.156e-01
|
||||
[Cossim] L18 hidden cond: cos=0.999142 max_abs=2.301e+01 uncond: cos=0.999993 max_abs=3.550e-01
|
||||
[Cossim] L19 hidden cond: cos=0.999591 max_abs=2.353e+01 uncond: cos=0.999993 max_abs=6.550e-01
|
||||
[Cossim] L20 hidden cond: cos=0.999447 max_abs=2.994e+01 uncond: cos=0.999992 max_abs=1.127e+00
|
||||
[Cossim] Lf hidden cond: cos=0.999915 max_abs=9.343e+00 uncond: cos=0.999994 max_abs=1.053e+00
|
||||
[Cossim] Logits cond: 1.000000 uncond: 1.000000
|
||||
[Cossim] Step0 log_probs cossim: 0.999933 max_abs_diff: 4.033e+00
|
||||
[Cossim] Step0 pred_tokens exact: 89.29% diffs: 191/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] F32 -> ../models/omnivoice-base-F32.gguf + ../models/omnivoice-tokenizer-F32.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 29176.96it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31912.20it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-F32.gguf: 312 tensors, data at offset 5339040
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 2336.8 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-F32.gguf: 486 tensors, data at offset 44160
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 1.5 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 324.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015201 0.002011 0.001372 -0.000041
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.252602 -1.990962 -0.260918 -0.050803
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.822473 -0.277092 0.393167 -0.054222
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.186114 -0.532700 0.651232 0.153274
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.399470 -0.979162 0.524265 -0.268740
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.134747 -0.453104 0.046830 -0.173763
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.128599 -0.472924 -0.167305 -0.341718
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.129163 -0.151230 0.264891 0.200056
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.069361 -0.065891 0.185463 0.373207
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.231353 -0.579770 0.247882 -0.089493
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.074966 -0.010929 0.044540 0.095712
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.260635 0.469119 -0.251071 -2.017224
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.115407 0.096589 -0.419865 -4.088025
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.473487 -0.413153 -0.293335 -5.422831
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.325586 -0.288227 -0.295136 -5.566390
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.129349 -0.028757 -0.253511 -5.089183
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.684941 0.195556 -0.010279 -4.356086
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.451802 -0.511392 0.409448 -5.816686
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.045249 -3.908982 0.556476 -13.969237
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.708858 -4.333003 0.020617 -14.103462
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.902718 -4.465972 -0.478774 -15.341992
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.146212 -4.387361 -1.567168 -18.035337
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.310156 -4.627747 2.230157 -20.049904
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.205178 -4.774454 2.638873 -19.349606
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.454492 -3.039622 2.654294 -17.590231
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.543949 2.222183 9.146172 -15.750731
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051381 0.133605 0.039736 0.157230
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.371900 -0.012584 0.485648 -0.621433
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.085374 0.493096 -0.234044 -5.318018
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: 0.004142 -0.359946 -0.654443 -1.449368
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.160350 0.935421 16.835350 -0.236136
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005183 0.004625 0.009925 0.009213
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.183431 -0.176390 0.261740 -2.661855
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.931095 0.467801 0.379448 -2.861311
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.488931 0.561338 0.571496 -3.368628
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.800126 0.734940 0.485443 -3.314459
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.437367 0.163827 0.330792 -3.364526
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.152674 0.966160 -0.064829 -3.599128
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.282333 1.538880 0.691345 -4.253637
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.836251 1.042252 -0.217776 -11.834431
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.478068 1.444482 0.053514 -12.741352
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.368617 1.568117 0.913490 -15.898645
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.597541 0.868993 0.060156 -15.262210
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.354949 0.690875 1.489184 -14.602856
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.061621 -0.746722 8.873499 -13.245573
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.845271 2.634448 18.015816 -10.771826
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.056811 9.900375 9.977135 -8.369979
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.026149 -0.036327 -0.029955 0.150029
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.846718 -0.023240 0.571969 -0.198629
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.540242 -0.147368 -0.568516 -3.940250
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.099054 0.667432 -0.454261 -0.000827
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.349804 47.235348 129.732208 0.699694
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.200424 13.653850 14.046360 15.113931
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.088707 12.339383 17.503258 15.301582
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.467460 -0.742925 -0.684133 -1.373419
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -22.822701 -28.963776 -38.113995 -30.507931
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 62306.62 ms across 32 steps (avg 1947.08 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 250.000000 438.000000 783.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.013420 0.011163 0.009909 0.008821
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-F32.gguf --codec ../models/omnivoice-tokenizer-F32.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.73% diffs: 2 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..95
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 1.000000 max_abs_diff: 2.035e-02 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999999 max_abs_diff: 5.213e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999999 max_abs_diff: 2.730e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999999 max_abs_diff: 3.409e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999999 max_abs_diff: 8.224e-03 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999999 max_abs_diff: 7.690e-03 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 1.000000 max_abs_diff: 8.359e-03 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 1.000000 max_abs_diff: 8.184e-03 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 1.000000 max_abs_diff: 1.927e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999999 max_abs_diff: 1.935e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 97.97% diffs: 70 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.5% k1=99.3% k2=98.6% k3=98.1% k4=97.7% k5=97.7% k6=96.3% k7=96.5%
|
||||
[Cossim] L0 hidden cond: cos=0.996906 max_abs=7.410e+00 uncond: cos=1.000000 max_abs=1.311e-05
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.997555 max_abs=1.586e-01 uncond: cos=1.000000 max_abs=6.016e-07
|
||||
[Cossim] L1.attn hidden cond: cos=0.999581 max_abs=1.528e-01 uncond: cos=1.000000 max_abs=2.474e-06
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.999288 max_abs=1.207e+00 uncond: cos=1.000000 max_abs=3.815e-06
|
||||
[Cossim] L1.mlp hidden cond: cos=0.999292 max_abs=2.976e+00 uncond: cos=1.000000 max_abs=7.153e-06
|
||||
[Cossim] L1 hidden cond: cos=0.997569 max_abs=8.027e+00 uncond: cos=1.000000 max_abs=1.311e-05
|
||||
[Cossim] L2 hidden cond: cos=0.997875 max_abs=8.462e+00 uncond: cos=1.000000 max_abs=1.717e-05
|
||||
[Cossim] L3 hidden cond: cos=0.997923 max_abs=8.872e+00 uncond: cos=1.000000 max_abs=1.717e-05
|
||||
[Cossim] L4 hidden cond: cos=0.997965 max_abs=9.016e+00 uncond: cos=1.000000 max_abs=1.955e-05
|
||||
[Cossim] L5 hidden cond: cos=0.997970 max_abs=9.716e+00 uncond: cos=1.000000 max_abs=2.098e-05
|
||||
[Cossim] L6 hidden cond: cos=0.998107 max_abs=9.914e+00 uncond: cos=1.000000 max_abs=2.289e-05
|
||||
[Cossim] L13 hidden cond: cos=0.998718 max_abs=1.507e+01 uncond: cos=1.000000 max_abs=5.341e-05
|
||||
[Cossim] L14 hidden cond: cos=0.998992 max_abs=1.501e+01 uncond: cos=1.000000 max_abs=5.722e-05
|
||||
[Cossim] L15 hidden cond: cos=0.999149 max_abs=1.513e+01 uncond: cos=1.000000 max_abs=1.068e-04
|
||||
[Cossim] L16 hidden cond: cos=0.999040 max_abs=2.845e+01 uncond: cos=1.000000 max_abs=1.068e-04
|
||||
[Cossim] L17 hidden cond: cos=0.999126 max_abs=2.847e+01 uncond: cos=1.000000 max_abs=1.068e-04
|
||||
[Cossim] L18 hidden cond: cos=0.999289 max_abs=2.806e+01 uncond: cos=1.000000 max_abs=1.221e-04
|
||||
[Cossim] L19 hidden cond: cos=0.999664 max_abs=2.942e+01 uncond: cos=1.000000 max_abs=1.831e-04
|
||||
[Cossim] L20 hidden cond: cos=0.999540 max_abs=3.440e+01 uncond: cos=1.000000 max_abs=2.327e-04
|
||||
[Cossim] Lf hidden cond: cos=0.999917 max_abs=1.335e+01 uncond: cos=1.000000 max_abs=3.624e-04
|
||||
[Cossim] Logits cond: 1.000000 uncond: 1.000000
|
||||
[Cossim] Step0 log_probs cossim: 0.999987 max_abs_diff: 1.315e+00
|
||||
[Cossim] Step0 pred_tokens exact: 95.91% diffs: 73/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] Q4_K_M -> ../models/omnivoice-base-Q4_K_M.gguf + ../models/omnivoice-tokenizer-Q4_K_M.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 28406.73it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 42149.39it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q4_K_M.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K fused, V separate
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 383.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q4_K_M.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.2 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 47.8 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015201 0.002011 0.001372 -0.000041
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.252602 -1.990962 -0.260918 -0.050803
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.828952 -0.269703 0.385530 -0.018165
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.174123 -0.532553 0.652309 0.181563
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.417256 -0.982182 0.502308 -0.276267
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.211704 -0.582715 0.059172 -0.194838
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.120894 -0.504386 -0.113851 -0.364635
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.078023 -0.087312 0.297429 0.158544
|
||||
[Debug] hubert-l11: [862, 768] first4: 0.053082 -0.059120 0.187630 0.396257
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.238756 -0.598197 0.261709 -0.082150
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.073957 -0.012326 0.043142 0.095528
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.252172 0.460086 -0.233413 -1.982001
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.089028 0.127640 -0.439269 -4.057430
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.344153 -0.352182 -0.419851 -5.544287
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.155302 -0.223800 -0.325204 -5.655222
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: -0.010995 0.087030 -0.225398 -5.170053
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.487314 0.296099 -0.075265 -4.390959
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.259997 -0.401094 0.374117 -5.932366
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.314941 -3.805954 -0.166982 -13.697680
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -4.074647 -4.278003 -0.529263 -14.084845
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -4.272898 -4.306682 -0.890121 -15.074951
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.392309 -4.314691 -1.789263 -17.466320
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.715693 -4.615827 2.128528 -19.363586
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.588641 -4.962424 2.005207 -17.963446
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.327793 -2.945631 2.128087 -16.772163
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -2.833081 2.563676 9.020774 -15.196262
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.049959 0.131683 0.037124 0.155251
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.370235 -0.004051 0.472060 -0.617684
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.091088 0.495259 -0.239411 -5.268229
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: -0.029035 -0.328395 -0.677916 -1.457745
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.165178 1.295080 18.808807 -0.189135
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.004852 0.004656 0.011258 0.007240
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.212215 -0.188512 0.257651 -2.636906
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.926186 0.508323 0.403197 -2.804567
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.486169 0.575911 0.636110 -3.381105
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.793718 0.744835 0.455959 -3.373191
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.462613 0.151185 0.377605 -3.438117
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.044281 0.926020 -0.025245 -3.472668
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.185127 1.471289 0.687914 -4.022091
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.641690 0.827243 -0.245762 -11.882023
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.295529 1.344554 0.091575 -12.605446
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 0.962667 1.398260 0.788198 -15.622662
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.635526 0.726157 -0.657802 -15.836450
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.942467 0.358240 0.975259 -14.965889
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.249192 -1.327313 7.254345 -13.344436
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.118987 2.181637 15.439608 -11.539377
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 1.744067 9.116098 8.744219 -8.402052
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.030310 -0.038897 -0.029543 0.148906
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.839351 -0.033717 0.604271 -0.181551
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.551170 -0.163960 -0.587431 -3.880218
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.125379 0.730552 -0.458725 0.013890
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.334850 47.232067 130.413147 0.871883
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.149643 14.193001 11.837330 13.922218
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.091873 14.186646 17.361629 14.585640
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 205.000000 739.000000 478.000000 763.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.670187 -0.791619 -1.359426 -1.470853
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -24.247770 -32.307243 -45.724220 -33.917580
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 53936.78 ms across 32 steps (avg 1685.52 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 479.000000 242.000000 320.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.005903 0.005839 0.011749 0.017406
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q4_K_M.gguf --codec ../models/omnivoice-tokenizer-Q4_K_M.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.32% diffs: 5 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..409
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.997417 max_abs_diff: 8.072e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999999 max_abs_diff: 5.213e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999999 max_abs_diff: 2.730e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.998520 max_abs_diff: 3.848e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.998598 max_abs_diff: 1.634e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.997792 max_abs_diff: 1.788e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.994932 max_abs_diff: 2.787e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.994272 max_abs_diff: 3.910e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.991065 max_abs_diff: 2.627e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.986222 max_abs_diff: 9.007e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 94.52% diffs: 189 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=98.8% k1=98.4% k2=95.8% k3=96.1% k4=93.0% k5=93.5% k6=90.3% k7=90.3%
|
||||
[Cossim] L0 hidden cond: cos=0.991623 max_abs=7.611e+00 uncond: cos=0.999241 max_abs=4.431e-01
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.993013 max_abs=1.590e-01 uncond: cos=0.998737 max_abs=1.754e-02
|
||||
[Cossim] L1.attn hidden cond: cos=0.997873 max_abs=2.553e-01 uncond: cos=0.997804 max_abs=1.468e-01
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.997981 max_abs=1.256e+00 uncond: cos=0.999202 max_abs=1.450e-01
|
||||
[Cossim] L1.mlp hidden cond: cos=0.995443 max_abs=3.395e+00 uncond: cos=0.997103 max_abs=5.991e-01
|
||||
[Cossim] L1 hidden cond: cos=0.993231 max_abs=8.038e+00 uncond: cos=0.999073 max_abs=4.123e-01
|
||||
[Cossim] L2 hidden cond: cos=0.993947 max_abs=8.433e+00 uncond: cos=0.998594 max_abs=1.043e+00
|
||||
[Cossim] L3 hidden cond: cos=0.993958 max_abs=8.873e+00 uncond: cos=0.997671 max_abs=1.813e+00
|
||||
[Cossim] L4 hidden cond: cos=0.993893 max_abs=9.045e+00 uncond: cos=0.997078 max_abs=1.285e+00
|
||||
[Cossim] L5 hidden cond: cos=0.993784 max_abs=9.758e+00 uncond: cos=0.996504 max_abs=1.055e+00
|
||||
[Cossim] L6 hidden cond: cos=0.994131 max_abs=9.984e+00 uncond: cos=0.996362 max_abs=1.579e+00
|
||||
[Cossim] L13 hidden cond: cos=0.995568 max_abs=1.497e+01 uncond: cos=0.994841 max_abs=2.266e+00
|
||||
[Cossim] L14 hidden cond: cos=0.996313 max_abs=1.487e+01 uncond: cos=0.994523 max_abs=3.058e+00
|
||||
[Cossim] L15 hidden cond: cos=0.996591 max_abs=1.494e+01 uncond: cos=0.993786 max_abs=4.997e+00
|
||||
[Cossim] L16 hidden cond: cos=0.996170 max_abs=4.292e+01 uncond: cos=0.993958 max_abs=4.524e+00
|
||||
[Cossim] L17 hidden cond: cos=0.995963 max_abs=4.393e+01 uncond: cos=0.992992 max_abs=4.452e+00
|
||||
[Cossim] L18 hidden cond: cos=0.996123 max_abs=5.131e+01 uncond: cos=0.992147 max_abs=6.294e+00
|
||||
[Cossim] L19 hidden cond: cos=0.997661 max_abs=3.956e+01 uncond: cos=0.992099 max_abs=9.697e+00
|
||||
[Cossim] L20 hidden cond: cos=0.996884 max_abs=3.931e+01 uncond: cos=0.991611 max_abs=1.933e+01
|
||||
[Cossim] Lf hidden cond: cos=0.999509 max_abs=2.169e+01 uncond: cos=0.996559 max_abs=1.014e+01
|
||||
[Cossim] Logits cond: 0.999935 uncond: 0.999925
|
||||
[Cossim] Step0 log_probs cossim: 0.992660 max_abs_diff: 1.479e+01
|
||||
[Cossim] Step0 pred_tokens exact: 29.09% diffs: 1265/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] Q8_0 -> ../models/omnivoice-base-Q8_0.gguf + ../models/omnivoice-tokenizer-Q8_0.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 35068.31it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 27793.26it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q8_0.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 620.9 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q8_0.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.4 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 86.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015201 0.002011 0.001372 -0.000041
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.252602 -1.990962 -0.260918 -0.050803
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.820230 -0.281565 0.397790 -0.054572
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.178734 -0.535422 0.658026 0.154671
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.394808 -0.977957 0.540784 -0.267752
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.139593 -0.448397 0.043813 -0.189326
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.117201 -0.472057 -0.170525 -0.338111
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.139002 -0.148692 0.272282 0.196417
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.067852 -0.082992 0.204158 0.373775
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.233989 -0.578617 0.251570 -0.089777
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.075046 -0.011214 0.044855 0.095748
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.257548 0.469455 -0.242961 -2.017006
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.123080 0.105416 -0.412273 -4.077813
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.479637 -0.405914 -0.273286 -5.403132
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.334524 -0.289492 -0.270944 -5.546007
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.130633 -0.028900 -0.233440 -5.062648
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.678897 0.201537 0.018177 -4.330539
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.446517 -0.514467 0.426494 -5.794972
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.101871 -3.881636 0.613874 -13.919627
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.758705 -4.316981 -0.007741 -14.045810
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.953991 -4.446797 -0.488494 -15.303532
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.219695 -4.359187 -1.571094 -17.961529
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.429896 -4.614387 2.148779 -20.026066
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.280300 -4.780813 2.496139 -19.266785
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.498991 -3.013733 2.597471 -17.487114
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.609005 2.353170 8.987793 -15.561798
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.050787 0.133741 0.038464 0.157260
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.371771 -0.013608 0.482166 -0.621624
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.087665 0.492469 -0.238717 -5.319218
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: 0.008857 -0.350431 -0.651478 -1.439184
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.153095 1.013902 16.914431 -0.230635
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005380 0.004855 0.010246 0.009150
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.180557 -0.179629 0.264554 -2.661756
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.928896 0.462246 0.381376 -2.858623
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.490147 0.549785 0.585449 -3.374269
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.797518 0.720962 0.503423 -3.328054
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.432612 0.141529 0.340957 -3.378269
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.151183 0.954600 -0.059780 -3.619982
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.275534 1.535582 0.701717 -4.288615
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.850885 1.055322 -0.215383 -11.840495
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.492636 1.472914 0.029960 -12.742431
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.361933 1.598588 0.931690 -15.908178
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.590764 0.926489 0.000475 -15.338393
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.384632 0.770542 1.368364 -14.647896
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.018383 -0.706716 8.827139 -13.267918
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.776942 2.703723 17.907124 -10.832356
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.024637 9.842528 9.980786 -8.462421
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.025747 -0.037005 -0.030286 0.150071
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.848623 -0.023714 0.571733 -0.194682
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.539759 -0.150115 -0.570301 -3.934860
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.100284 0.665589 -0.454911 -0.002184
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.336760 47.214832 129.720001 0.693214
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.462124 13.898161 13.783987 15.089591
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 15.976904 12.755573 16.893448 15.481972
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.693945 -0.946094 -0.810164 -1.410776
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -21.568998 -28.818226 -37.436497 -30.696732
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 64303.28 ms across 32 steps (avg 2009.48 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 242.000000 698.000000 783.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.010138 0.009332 0.008640 0.007384
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q8_0.gguf --codec ../models/omnivoice-tokenizer-Q8_0.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.59% diffs: 3 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..410
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999936 max_abs_diff: 2.181e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999999 max_abs_diff: 5.213e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999999 max_abs_diff: 2.730e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999971 max_abs_diff: 5.591e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999962 max_abs_diff: 3.079e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999948 max_abs_diff: 3.226e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999894 max_abs_diff: 4.294e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999880 max_abs_diff: 9.177e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999779 max_abs_diff: 3.757e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999591 max_abs_diff: 2.287e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 97.33% diffs: 92 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.3% k1=99.1% k2=98.1% k3=97.9% k4=97.0% k5=96.5% k6=95.1% k7=95.6%
|
||||
[Cossim] L0 hidden cond: cos=0.996017 max_abs=7.422e+00 uncond: cos=0.999977 max_abs=5.699e-02
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.996781 max_abs=1.584e-01 uncond: cos=0.999957 max_abs=5.038e-03
|
||||
[Cossim] L1.attn hidden cond: cos=0.999414 max_abs=1.532e-01 uncond: cos=0.999951 max_abs=2.428e-02
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.999064 max_abs=1.208e+00 uncond: cos=0.999977 max_abs=3.292e-02
|
||||
[Cossim] L1.mlp hidden cond: cos=0.998636 max_abs=4.757e+00 uncond: cos=0.999896 max_abs=1.168e-01
|
||||
[Cossim] L1 hidden cond: cos=0.996847 max_abs=8.043e+00 uncond: cos=0.999970 max_abs=1.327e-01
|
||||
[Cossim] L2 hidden cond: cos=0.997253 max_abs=8.477e+00 uncond: cos=0.999963 max_abs=1.912e-01
|
||||
[Cossim] L3 hidden cond: cos=0.997296 max_abs=8.893e+00 uncond: cos=0.999951 max_abs=2.042e-01
|
||||
[Cossim] L4 hidden cond: cos=0.997350 max_abs=9.047e+00 uncond: cos=0.999934 max_abs=2.403e-01
|
||||
[Cossim] L5 hidden cond: cos=0.997343 max_abs=9.762e+00 uncond: cos=0.999917 max_abs=3.471e-01
|
||||
[Cossim] L6 hidden cond: cos=0.997509 max_abs=9.964e+00 uncond: cos=0.999905 max_abs=3.873e-01
|
||||
[Cossim] L13 hidden cond: cos=0.998319 max_abs=1.515e+01 uncond: cos=0.999924 max_abs=7.792e-01
|
||||
[Cossim] L14 hidden cond: cos=0.998674 max_abs=1.510e+01 uncond: cos=0.999912 max_abs=7.718e-01
|
||||
[Cossim] L15 hidden cond: cos=0.998872 max_abs=1.522e+01 uncond: cos=0.999893 max_abs=1.605e+00
|
||||
[Cossim] L16 hidden cond: cos=0.998725 max_abs=2.867e+01 uncond: cos=0.999887 max_abs=1.304e+00
|
||||
[Cossim] L17 hidden cond: cos=0.998834 max_abs=2.868e+01 uncond: cos=0.999891 max_abs=1.512e+00
|
||||
[Cossim] L18 hidden cond: cos=0.999039 max_abs=2.826e+01 uncond: cos=0.999880 max_abs=1.371e+00
|
||||
[Cossim] L19 hidden cond: cos=0.999542 max_abs=2.961e+01 uncond: cos=0.999886 max_abs=2.025e+00
|
||||
[Cossim] L20 hidden cond: cos=0.999374 max_abs=3.434e+01 uncond: cos=0.999886 max_abs=3.202e+00
|
||||
[Cossim] Lf hidden cond: cos=0.999885 max_abs=1.274e+01 uncond: cos=0.999659 max_abs=6.076e+00
|
||||
[Cossim] Logits cond: 0.999998 uncond: 0.999998
|
||||
[Cossim] Step0 log_probs cossim: 0.999333 max_abs_diff: 4.088e+00
|
||||
[Cossim] Step0 pred_tokens exact: 64.80% diffs: 628/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] BF16 -> ../models/omnivoice-base-BF16.gguf + ../models/omnivoice-tokenizer-BF16.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 27769.80it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31113.53it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-BF16.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 1168.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-BF16.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.8 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 162.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015127 0.002086 0.001381 -0.000026
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.251225 -1.988240 -0.260457 -0.051077
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.815796 -0.274841 0.392349 -0.054245
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.177169 -0.531236 0.650058 0.151651
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.392458 -0.977508 0.524441 -0.269385
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.135357 -0.455436 0.045786 -0.171219
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.128400 -0.473140 -0.168945 -0.340585
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.129095 -0.152207 0.265417 0.198866
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.069502 -0.067133 0.183775 0.374823
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.229398 -0.580665 0.247159 -0.089032
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 250.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.075195 -0.010925 0.044434 0.095703
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.261719 0.468079 -0.245605 -2.021484
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.112793 0.094604 -0.415527 -4.095703
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.464355 -0.410278 -0.292480 -5.430176
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.313053 -0.289204 -0.293457 -5.572266
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.125553 -0.024555 -0.253906 -5.097656
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.668827 0.199566 -0.018066 -4.356445
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.436405 -0.507954 0.394775 -5.819336
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.070004 -3.919086 0.531555 -13.988770
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.736507 -4.330463 0.021790 -14.114136
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.921078 -4.483784 -0.457703 -15.356323
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.139828 -4.402729 -1.596375 -18.067261
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.276546 -4.633198 2.153625 -20.036987
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.228695 -4.777729 2.516907 -19.349487
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.541195 -3.047260 2.530579 -17.587769
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.547054 2.312115 9.042297 -15.810425
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051536 0.133159 0.038827 0.157385
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.371094 -0.012146 0.486328 -0.621094
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.083841 0.491952 -0.239935 -5.320588
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: 0.003418 -0.361328 -0.656250 -1.453125
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.150605 0.997307 17.012426 -0.231993
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005131 0.004723 0.009892 0.009244
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.183834 -0.180824 0.261600 -2.670444
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.928463 0.458824 0.382694 -2.868739
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.487057 0.550499 0.573368 -3.373622
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.796627 0.723473 0.485783 -3.315272
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.433346 0.151451 0.330997 -3.364100
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.148190 0.958580 -0.063534 -3.602382
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.278072 1.531822 0.694035 -4.258632
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.854984 1.043663 -0.217098 -11.875331
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.491703 1.444054 0.042667 -12.790858
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.384281 1.567101 0.907902 -15.970546
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.603031 0.871788 0.050480 -15.343593
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.352055 0.706749 1.454777 -14.648281
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.070805 -0.729286 8.814152 -13.281094
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.854984 2.665245 17.962589 -10.785000
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.058109 9.938683 9.837589 -8.394375
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.026168 -0.037186 -0.029895 0.150294
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.843750 -0.024414 0.574219 -0.199219
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.538224 -0.151318 -0.569244 -3.947958
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.099121 0.664062 -0.453125 0.000923
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.347891 47.103554 129.888885 0.695284
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 17.875000 13.562500 14.062500 15.187500
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.125000 12.312500 17.500000 15.312500
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.644414 -0.885522 -0.697513 -1.274943
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -22.519415 -27.831915 -36.706913 -28.956915
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 962.45 ms across 32 steps (avg 30.08 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 678.000000 250.000000 242.000000 783.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: -0.000256 -0.000064 0.001896 0.003438
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-BF16.gguf --codec ../models/omnivoice-tokenizer-BF16.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.73% diffs: 2 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=193..469
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999990 max_abs_diff: 6.135e-02 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999980 max_abs_diff: 1.984e-03 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999987 max_abs_diff: 9.081e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999985 max_abs_diff: 9.822e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999986 max_abs_diff: 2.611e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999985 max_abs_diff: 2.800e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999987 max_abs_diff: 2.793e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999987 max_abs_diff: 2.961e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999978 max_abs_diff: 1.938e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999960 max_abs_diff: 6.632e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 96.14% diffs: 133 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.5% k1=99.1% k2=97.4% k3=96.8% k4=95.6% k5=95.4% k6=92.3% k7=93.0%
|
||||
[Cossim] L0 hidden cond: cos=0.994391 max_abs=7.101e+00 uncond: cos=0.999996 max_abs=1.130e-01
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.995554 max_abs=1.728e-01 uncond: cos=0.999994 max_abs=3.167e-03
|
||||
[Cossim] L1.attn hidden cond: cos=0.999159 max_abs=1.104e-01 uncond: cos=0.999993 max_abs=9.706e-03
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.998718 max_abs=1.175e+00 uncond: cos=0.999996 max_abs=3.045e-02
|
||||
[Cossim] L1.mlp hidden cond: cos=0.998573 max_abs=1.617e+00 uncond: cos=0.999987 max_abs=4.977e-02
|
||||
[Cossim] L1 hidden cond: cos=0.995601 max_abs=7.327e+00 uncond: cos=0.999995 max_abs=1.029e-01
|
||||
[Cossim] L2 hidden cond: cos=0.996137 max_abs=7.506e+00 uncond: cos=0.999995 max_abs=1.073e-01
|
||||
[Cossim] L3 hidden cond: cos=0.996219 max_abs=7.954e+00 uncond: cos=0.999994 max_abs=1.185e-01
|
||||
[Cossim] L4 hidden cond: cos=0.996288 max_abs=8.420e+00 uncond: cos=0.999992 max_abs=1.412e-01
|
||||
[Cossim] L5 hidden cond: cos=0.996266 max_abs=9.152e+00 uncond: cos=0.999990 max_abs=1.850e-01
|
||||
[Cossim] L6 hidden cond: cos=0.996497 max_abs=9.292e+00 uncond: cos=0.999989 max_abs=1.902e-01
|
||||
[Cossim] L13 hidden cond: cos=0.997641 max_abs=1.281e+01 uncond: cos=0.999991 max_abs=2.710e-01
|
||||
[Cossim] L14 hidden cond: cos=0.998135 max_abs=1.269e+01 uncond: cos=0.999990 max_abs=2.560e-01
|
||||
[Cossim] L15 hidden cond: cos=0.998401 max_abs=1.268e+01 uncond: cos=0.999988 max_abs=5.042e-01
|
||||
[Cossim] L16 hidden cond: cos=0.998210 max_abs=2.444e+01 uncond: cos=0.999988 max_abs=5.552e-01
|
||||
[Cossim] L17 hidden cond: cos=0.998325 max_abs=2.488e+01 uncond: cos=0.999988 max_abs=6.754e-01
|
||||
[Cossim] L18 hidden cond: cos=0.998575 max_abs=2.495e+01 uncond: cos=0.999988 max_abs=6.768e-01
|
||||
[Cossim] L19 hidden cond: cos=0.999322 max_abs=2.657e+01 uncond: cos=0.999987 max_abs=1.246e+00
|
||||
[Cossim] L20 hidden cond: cos=0.999075 max_abs=3.317e+01 uncond: cos=0.999987 max_abs=2.416e+00
|
||||
[Cossim] Lf hidden cond: cos=0.999855 max_abs=1.345e+01 uncond: cos=0.999993 max_abs=1.068e+00
|
||||
[Cossim] Logits cond: 0.999998 uncond: 0.999998
|
||||
[Cossim] Step0 log_probs cossim: 0.998487 max_abs_diff: 4.351e+00
|
||||
[Cossim] Step0 pred_tokens exact: 53.14% diffs: 836/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] F32 -> ../models/omnivoice-base-F32.gguf + ../models/omnivoice-tokenizer-F32.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 28275.19it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31010.08it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-F32.gguf: 312 tensors, data at offset 5339040
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 2336.8 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-F32.gguf: 486 tensors, data at offset 44160
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 1.5 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 324.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015175 0.002007 0.001393 -0.000029
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.252107 -1.993027 -0.260729 -0.050618
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.821279 -0.276277 0.392650 -0.054015
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.184578 -0.532085 0.650932 0.152724
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.398096 -0.978433 0.523770 -0.269385
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.134525 -0.452514 0.047012 -0.174208
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.128471 -0.472560 -0.167362 -0.342066
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.129213 -0.150654 0.265072 0.200144
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.069272 -0.065203 0.185938 0.373216
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.230925 -0.579304 0.247862 -0.089786
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.074966 -0.010929 0.044540 0.095712
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.261315 0.468284 -0.249103 -2.018340
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.113423 0.095968 -0.416692 -4.093643
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.470203 -0.409128 -0.288180 -5.432705
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.320215 -0.285212 -0.286301 -5.575678
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.122175 -0.022066 -0.248640 -5.098282
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.675440 0.202197 -0.007387 -4.365605
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.443475 -0.509921 0.414053 -5.830664
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.051239 -3.895192 0.562253 -13.994665
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.713644 -4.311864 0.024218 -14.128190
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.912800 -4.444082 -0.468263 -15.357340
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.137324 -4.355331 -1.555895 -18.046612
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.309931 -4.608796 2.243289 -20.083103
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.218017 -4.756019 2.655640 -19.354246
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.451730 -3.007960 2.712507 -17.592548
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.539949 2.313575 9.117999 -15.765568
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051502 0.133336 0.039415 0.157279
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.370493 -0.012735 0.485188 -0.621958
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.083751 0.491899 -0.235484 -5.319898
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: 0.004245 -0.359581 -0.652776 -1.453345
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.152366 0.924847 16.754669 -0.232557
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005183 0.004625 0.009925 0.009213
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.183431 -0.176389 0.261740 -2.661855
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.931096 0.467803 0.379446 -2.861311
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.488933 0.561339 0.571495 -3.368629
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.800126 0.734941 0.485443 -3.314459
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.437368 0.163828 0.330793 -3.364526
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.152676 0.966160 -0.064829 -3.599129
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.282336 1.538880 0.691345 -4.253637
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.836248 1.042249 -0.217777 -11.834435
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.478065 1.444479 0.053513 -12.741356
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.368615 1.568113 0.913492 -15.898650
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.597540 0.868987 0.060164 -15.262223
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.354948 0.690870 1.489197 -14.602869
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.061624 -0.746728 8.873514 -13.245586
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.845273 2.634444 18.015833 -10.771846
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.056816 9.900377 9.977154 -8.369996
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.026149 -0.036326 -0.029955 0.150029
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.846719 -0.023241 0.571967 -0.198629
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.540243 -0.147367 -0.568515 -3.940251
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.099054 0.667433 -0.454261 -0.000828
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.349805 47.235325 129.732239 0.699694
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.099237 13.811295 13.982658 15.181431
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.088709 12.339381 17.503263 15.301591
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.559658 -0.697369 -0.699492 -1.281741
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -21.838133 -27.203306 -37.016979 -29.017317
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 1663.65 ms across 32 steps (avg 51.99 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 497.000000 205.000000 783.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.001967 -0.000131 0.004130 0.008582
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-F32.gguf --codec ../models/omnivoice-tokenizer-F32.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.73% diffs: 2 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..95
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999998 max_abs_diff: 6.915e-02 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999997 max_abs_diff: 7.635e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999998 max_abs_diff: 3.601e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999998 max_abs_diff: 3.436e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999998 max_abs_diff: 8.923e-03 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999998 max_abs_diff: 7.911e-03 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999999 max_abs_diff: 8.287e-03 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999999 max_abs_diff: 1.172e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999998 max_abs_diff: 7.035e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999992 max_abs_diff: 6.709e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 96.72% diffs: 113 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.5% k1=99.1% k2=98.1% k3=97.2% k4=96.8% k5=95.4% k6=93.5% k7=94.2%
|
||||
[Cossim] L0 hidden cond: cos=0.995247 max_abs=7.412e+00 uncond: cos=1.000000 max_abs=1.121e-05
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.996275 max_abs=1.587e-01 uncond: cos=1.000000 max_abs=4.768e-07
|
||||
[Cossim] L1.attn hidden cond: cos=0.999309 max_abs=1.527e-01 uncond: cos=1.000000 max_abs=3.099e-06
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.998911 max_abs=1.207e+00 uncond: cos=1.000000 max_abs=4.768e-06
|
||||
[Cossim] L1.mlp hidden cond: cos=0.998876 max_abs=2.978e+00 uncond: cos=1.000000 max_abs=6.676e-06
|
||||
[Cossim] L1 hidden cond: cos=0.996248 max_abs=8.028e+00 uncond: cos=1.000000 max_abs=1.144e-05
|
||||
[Cossim] L2 hidden cond: cos=0.996698 max_abs=8.463e+00 uncond: cos=1.000000 max_abs=1.526e-05
|
||||
[Cossim] L3 hidden cond: cos=0.996730 max_abs=8.870e+00 uncond: cos=1.000000 max_abs=2.098e-05
|
||||
[Cossim] L4 hidden cond: cos=0.996773 max_abs=9.021e+00 uncond: cos=1.000000 max_abs=2.575e-05
|
||||
[Cossim] L5 hidden cond: cos=0.996727 max_abs=9.714e+00 uncond: cos=1.000000 max_abs=2.670e-05
|
||||
[Cossim] L6 hidden cond: cos=0.996908 max_abs=9.911e+00 uncond: cos=1.000000 max_abs=2.861e-05
|
||||
[Cossim] L13 hidden cond: cos=0.997906 max_abs=1.506e+01 uncond: cos=1.000000 max_abs=6.104e-05
|
||||
[Cossim] L14 hidden cond: cos=0.998339 max_abs=1.500e+01 uncond: cos=1.000000 max_abs=5.341e-05
|
||||
[Cossim] L15 hidden cond: cos=0.998566 max_abs=1.510e+01 uncond: cos=1.000000 max_abs=1.221e-04
|
||||
[Cossim] L16 hidden cond: cos=0.998396 max_abs=2.843e+01 uncond: cos=1.000000 max_abs=9.155e-05
|
||||
[Cossim] L17 hidden cond: cos=0.998502 max_abs=2.845e+01 uncond: cos=1.000000 max_abs=1.221e-04
|
||||
[Cossim] L18 hidden cond: cos=0.998725 max_abs=2.803e+01 uncond: cos=1.000000 max_abs=1.297e-04
|
||||
[Cossim] L19 hidden cond: cos=0.999401 max_abs=2.935e+01 uncond: cos=1.000000 max_abs=1.678e-04
|
||||
[Cossim] L20 hidden cond: cos=0.999187 max_abs=3.432e+01 uncond: cos=1.000000 max_abs=2.899e-04
|
||||
[Cossim] Lf hidden cond: cos=0.999867 max_abs=1.318e+01 uncond: cos=1.000000 max_abs=2.308e-04
|
||||
[Cossim] Logits cond: 1.000000 uncond: 1.000000
|
||||
[Cossim] Step0 log_probs cossim: 0.999952 max_abs_diff: 4.161e+00
|
||||
[Cossim] Step0 pred_tokens exact: 94.11% diffs: 105/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] Q4_K_M -> ../models/omnivoice-base-Q4_K_M.gguf + ../models/omnivoice-tokenizer-Q4_K_M.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 31468.84it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31537.02it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q4_K_M.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K fused, V separate
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 383.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q4_K_M.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.2 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 47.8 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015175 0.002007 0.001393 -0.000029
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.252107 -1.993027 -0.260729 -0.050618
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.808769 -0.255902 0.386146 -0.014335
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.172451 -0.527410 0.638997 0.180614
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.420119 -0.974963 0.506975 -0.269979
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.215049 -0.570203 0.084296 -0.207268
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.119385 -0.487630 -0.137842 -0.379626
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.065318 -0.075628 0.282626 0.167361
|
||||
[Debug] hubert-l11: [862, 768] first4: 0.007779 -0.005851 0.174474 0.444312
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.228126 -0.581411 0.258619 -0.078619
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.073957 -0.012326 0.043142 0.095528
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.253509 0.466195 -0.234958 -1.968288
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.072348 0.156852 -0.416561 -4.048326
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.381502 -0.346076 -0.393050 -5.536579
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.204381 -0.218138 -0.278827 -5.633008
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.027037 0.084732 -0.226778 -5.141205
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.529875 0.283934 -0.075091 -4.353959
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.315232 -0.422572 0.394199 -5.840968
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.298936 -3.789136 -0.324842 -13.683230
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -4.075761 -4.262362 -0.738072 -14.008023
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -4.233860 -4.336868 -1.108211 -15.031950
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.294429 -4.362371 -1.968101 -17.655096
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.358634 -4.592630 2.137398 -19.550652
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.096558 -5.014119 2.032848 -17.944071
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -2.940198 -2.757100 2.269815 -16.791077
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -2.399923 2.856158 9.206078 -14.946063
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.050240 0.133474 0.037382 0.154226
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.366402 -0.000806 0.477187 -0.618107
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.087118 0.505527 -0.243057 -5.242432
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: -0.040545 -0.308537 -0.658790 -1.461931
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.164410 1.231046 18.647999 -0.210522
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.004852 0.004656 0.011258 0.007240
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.211463 -0.183774 0.263088 -2.643913
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.936112 0.503958 0.420396 -2.808513
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.477076 0.562282 0.643242 -3.372108
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.773608 0.748065 0.467999 -3.348368
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.455753 0.165588 0.375381 -3.412746
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.036954 0.945841 -0.028255 -3.493362
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.174770 1.491586 0.699745 -4.041867
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.683655 0.805571 -0.214129 -12.079154
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.327072 1.298716 0.101090 -12.841258
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 0.983782 1.294673 0.790304 -15.934650
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.757336 0.572779 -0.580621 -16.181114
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 2.065118 0.290910 1.160964 -15.367100
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.338551 -1.379949 7.591955 -13.833014
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.207161 2.190276 15.624647 -12.010796
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 1.942646 9.209152 8.786701 -8.984065
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.030186 -0.037899 -0.030150 0.149221
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.837949 -0.038171 0.599296 -0.177897
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.549461 -0.163577 -0.587126 -3.880743
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.113299 0.725903 -0.441988 0.013298
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.334216 47.079369 131.257690 0.853212
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.460903 15.076200 13.196832 14.826269
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.135439 13.562250 17.215031 14.577768
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 205.000000 739.000000 739.000000 763.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -1.221941 -0.841743 -1.248310 -0.615169
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -21.671160 -26.678890 -39.622559 -29.459721
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 1358.60 ms across 32 steps (avg 42.46 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 242.000000 698.000000 783.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.007052 0.005870 0.009253 0.012244
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q4_K_M.gguf --codec ../models/omnivoice-tokenizer-Q4_K_M.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.46% diffs: 4 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..472
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.997516 max_abs_diff: 7.762e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999997 max_abs_diff: 7.635e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999998 max_abs_diff: 3.601e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.998468 max_abs_diff: 3.794e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.998603 max_abs_diff: 1.876e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.997804 max_abs_diff: 1.738e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.994890 max_abs_diff: 2.676e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.994273 max_abs_diff: 3.667e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.991510 max_abs_diff: 2.398e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.987140 max_abs_diff: 9.036e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 94.23% diffs: 199 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.1% k1=98.6% k2=96.5% k3=95.6% k4=93.0% k5=92.6% k6=88.6% k7=89.8%
|
||||
[Cossim] L0 hidden cond: cos=0.991464 max_abs=7.629e+00 uncond: cos=0.999270 max_abs=3.805e-01
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.992820 max_abs=1.584e-01 uncond: cos=0.998761 max_abs=1.776e-02
|
||||
[Cossim] L1.attn hidden cond: cos=0.997899 max_abs=2.705e-01 uncond: cos=0.997790 max_abs=1.610e-01
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.997923 max_abs=1.245e+00 uncond: cos=0.999239 max_abs=1.226e-01
|
||||
[Cossim] L1.mlp hidden cond: cos=0.995375 max_abs=3.568e+00 uncond: cos=0.997183 max_abs=3.600e-01
|
||||
[Cossim] L1 hidden cond: cos=0.993098 max_abs=8.094e+00 uncond: cos=0.999070 max_abs=3.396e-01
|
||||
[Cossim] L2 hidden cond: cos=0.993857 max_abs=8.493e+00 uncond: cos=0.998569 max_abs=1.064e+00
|
||||
[Cossim] L3 hidden cond: cos=0.993887 max_abs=8.924e+00 uncond: cos=0.997598 max_abs=1.888e+00
|
||||
[Cossim] L4 hidden cond: cos=0.993841 max_abs=9.345e+00 uncond: cos=0.997055 max_abs=1.546e+00
|
||||
[Cossim] L5 hidden cond: cos=0.993744 max_abs=9.931e+00 uncond: cos=0.996517 max_abs=1.294e+00
|
||||
[Cossim] L6 hidden cond: cos=0.994087 max_abs=1.034e+01 uncond: cos=0.996396 max_abs=1.620e+00
|
||||
[Cossim] L13 hidden cond: cos=0.995545 max_abs=1.504e+01 uncond: cos=0.994832 max_abs=2.949e+00
|
||||
[Cossim] L14 hidden cond: cos=0.996291 max_abs=1.492e+01 uncond: cos=0.994480 max_abs=3.160e+00
|
||||
[Cossim] L15 hidden cond: cos=0.996578 max_abs=1.496e+01 uncond: cos=0.993725 max_abs=5.165e+00
|
||||
[Cossim] L16 hidden cond: cos=0.996135 max_abs=4.459e+01 uncond: cos=0.993860 max_abs=5.085e+00
|
||||
[Cossim] L17 hidden cond: cos=0.995910 max_abs=4.528e+01 uncond: cos=0.992789 max_abs=4.768e+00
|
||||
[Cossim] L18 hidden cond: cos=0.996073 max_abs=5.246e+01 uncond: cos=0.991972 max_abs=6.198e+00
|
||||
[Cossim] L19 hidden cond: cos=0.997647 max_abs=4.668e+01 uncond: cos=0.991930 max_abs=1.201e+01
|
||||
[Cossim] L20 hidden cond: cos=0.996849 max_abs=4.622e+01 uncond: cos=0.991519 max_abs=1.710e+01
|
||||
[Cossim] Lf hidden cond: cos=0.999501 max_abs=2.155e+01 uncond: cos=0.996741 max_abs=9.927e+00
|
||||
[Cossim] Logits cond: 0.999928 uncond: 0.999928
|
||||
[Cossim] Step0 log_probs cossim: 0.994840 max_abs_diff: 1.223e+01
|
||||
[Cossim] Step0 pred_tokens exact: 35.43% diffs: 1152/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] Q8_0 -> ../models/omnivoice-base-Q8_0.gguf + ../models/omnivoice-tokenizer-Q8_0.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 27951.31it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 28827.77it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q8_0.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 620.9 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q8_0.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.4 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 86.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015175 0.002007 0.001393 -0.000029
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.252107 -1.993027 -0.260729 -0.050618
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.818256 -0.279175 0.398063 -0.054930
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.179499 -0.533927 0.657256 0.152399
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.394859 -0.980350 0.536733 -0.270402
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.134964 -0.451580 0.043542 -0.190520
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.125289 -0.471656 -0.164324 -0.336805
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.138931 -0.153552 0.272508 0.192802
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.058320 -0.081128 0.202922 0.370757
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.233947 -0.580258 0.251006 -0.091385
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.075046 -0.011214 0.044855 0.095748
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.257183 0.470036 -0.243007 -2.020488
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.130927 0.105072 -0.417125 -4.076378
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.492601 -0.405015 -0.277203 -5.406701
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.338176 -0.286065 -0.283665 -5.557413
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.124304 -0.027956 -0.256010 -5.080446
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.667704 0.197635 -0.005582 -4.342323
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.439193 -0.518670 0.414076 -5.824517
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.118429 -3.903202 0.560194 -13.931923
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.798306 -4.336466 0.013206 -14.055242
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.994884 -4.464138 -0.459144 -15.289703
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.232436 -4.394541 -1.564519 -17.960474
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.394349 -4.671958 2.122803 -20.013010
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.308726 -4.824777 2.494215 -19.337221
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.509245 -3.081244 2.601951 -17.495506
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.614233 2.272246 8.995879 -15.666891
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.050709 0.133891 0.038466 0.157513
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.369748 -0.012491 0.481624 -0.620764
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.086376 0.494208 -0.238084 -5.323477
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: 0.018362 -0.352473 -0.655742 -1.435126
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.149236 0.973312 16.892670 -0.229112
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005380 0.004855 0.010246 0.009150
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.180483 -0.180651 0.263888 -2.661331
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.928194 0.463153 0.382652 -2.855520
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.492641 0.553369 0.585932 -3.366723
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.801216 0.723448 0.502557 -3.323520
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.438672 0.144134 0.340865 -3.379316
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.162615 0.961594 -0.057919 -3.626026
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.284800 1.541125 0.711859 -4.291448
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.842433 1.046253 -0.209069 -11.842609
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.486553 1.459635 0.023964 -12.744765
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.366131 1.582114 0.915599 -15.911959
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.563036 0.868047 0.035886 -15.283780
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.358705 0.700098 1.414641 -14.608976
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 0.983187 -0.796941 8.848839 -13.271708
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.754701 2.616458 17.940655 -10.844048
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 1.981815 9.823162 9.949021 -8.467503
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.025735 -0.037213 -0.030208 0.150035
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.848386 -0.023533 0.572609 -0.194699
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.539586 -0.150734 -0.570433 -3.934227
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.100675 0.667337 -0.453845 0.000510
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.339765 47.253582 129.756439 0.695742
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.057070 14.139150 13.590474 15.170168
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 15.957206 12.735885 16.911434 15.482209
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.702072 -0.781365 -0.820180 -1.493474
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -21.570404 -26.881523 -36.878647 -29.281116
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 898.20 ms across 32 steps (avg 28.07 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 563.000000 831.000000 438.000000 190.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.005912 0.003733 0.006617 0.008200
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q8_0.gguf --codec ../models/omnivoice-tokenizer-Q8_0.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.73% diffs: 2 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..95
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999913 max_abs_diff: 5.347e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999997 max_abs_diff: 7.635e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999998 max_abs_diff: 3.601e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999970 max_abs_diff: 5.345e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999960 max_abs_diff: 3.177e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999946 max_abs_diff: 2.806e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999893 max_abs_diff: 4.043e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999877 max_abs_diff: 8.123e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999748 max_abs_diff: 6.596e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999329 max_abs_diff: 5.465e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 96.52% diffs: 120 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.5% k1=99.1% k2=97.9% k3=97.0% k4=96.3% k5=95.1% k6=92.6% k7=94.7%
|
||||
[Cossim] L0 hidden cond: cos=0.994939 max_abs=7.416e+00 uncond: cos=0.999977 max_abs=5.266e-02
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.995992 max_abs=1.583e-01 uncond: cos=0.999957 max_abs=4.829e-03
|
||||
[Cossim] L1.attn hidden cond: cos=0.999259 max_abs=1.529e-01 uncond: cos=0.999951 max_abs=2.230e-02
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.998837 max_abs=1.208e+00 uncond: cos=0.999977 max_abs=3.382e-02
|
||||
[Cossim] L1.mlp hidden cond: cos=0.998615 max_abs=3.055e+00 uncond: cos=0.999896 max_abs=1.309e-01
|
||||
[Cossim] L1 hidden cond: cos=0.996010 max_abs=8.037e+00 uncond: cos=0.999970 max_abs=1.347e-01
|
||||
[Cossim] L2 hidden cond: cos=0.996501 max_abs=8.467e+00 uncond: cos=0.999963 max_abs=2.291e-01
|
||||
[Cossim] L3 hidden cond: cos=0.996541 max_abs=8.884e+00 uncond: cos=0.999951 max_abs=2.250e-01
|
||||
[Cossim] L4 hidden cond: cos=0.996578 max_abs=9.039e+00 uncond: cos=0.999934 max_abs=2.600e-01
|
||||
[Cossim] L5 hidden cond: cos=0.996541 max_abs=9.745e+00 uncond: cos=0.999916 max_abs=4.080e-01
|
||||
[Cossim] L6 hidden cond: cos=0.996745 max_abs=9.946e+00 uncond: cos=0.999905 max_abs=4.872e-01
|
||||
[Cossim] L13 hidden cond: cos=0.997784 max_abs=1.512e+01 uncond: cos=0.999924 max_abs=7.255e-01
|
||||
[Cossim] L14 hidden cond: cos=0.998235 max_abs=1.506e+01 uncond: cos=0.999913 max_abs=7.902e-01
|
||||
[Cossim] L15 hidden cond: cos=0.998461 max_abs=1.516e+01 uncond: cos=0.999894 max_abs=1.330e+00
|
||||
[Cossim] L16 hidden cond: cos=0.998284 max_abs=2.857e+01 uncond: cos=0.999889 max_abs=1.157e+00
|
||||
[Cossim] L17 hidden cond: cos=0.998374 max_abs=2.858e+01 uncond: cos=0.999891 max_abs=1.128e+00
|
||||
[Cossim] L18 hidden cond: cos=0.998576 max_abs=2.815e+01 uncond: cos=0.999877 max_abs=1.396e+00
|
||||
[Cossim] L19 hidden cond: cos=0.999324 max_abs=2.954e+01 uncond: cos=0.999886 max_abs=1.603e+00
|
||||
[Cossim] L20 hidden cond: cos=0.999088 max_abs=3.433e+01 uncond: cos=0.999887 max_abs=3.466e+00
|
||||
[Cossim] Lf hidden cond: cos=0.999853 max_abs=1.241e+01 uncond: cos=0.999644 max_abs=5.589e+00
|
||||
[Cossim] Logits cond: 0.999998 uncond: 0.999998
|
||||
[Cossim] Step0 log_probs cossim: 0.999308 max_abs_diff: 4.264e+00
|
||||
[Cossim] Step0 pred_tokens exact: 64.24% diffs: 638/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] BF16 -> ../models/omnivoice-base-BF16.gguf + ../models/omnivoice-tokenizer-BF16.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 29102.57it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 30216.10it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-BF16.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 1168.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-BF16.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.8 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 162.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015111 0.002053 0.001422 0.000020
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.251028 -1.990119 -0.260102 -0.050774
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.819709 -0.275990 0.393931 -0.054163
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.177062 -0.531735 0.651305 0.151246
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.392642 -0.978966 0.527780 -0.272625
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.135566 -0.454521 0.045241 -0.176600
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.128576 -0.472558 -0.166338 -0.342838
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.127733 -0.153881 0.266630 0.198758
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.071658 -0.068505 0.184706 0.373227
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.228764 -0.580392 0.248370 -0.091431
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.075195 -0.010925 0.044434 0.095703
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.263336 0.469620 -0.249552 -2.017198
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.103641 0.098327 -0.419706 -4.095372
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.461552 -0.405512 -0.300792 -5.432191
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.314763 -0.284784 -0.300480 -5.575667
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.124147 -0.021900 -0.255000 -5.101854
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.671418 0.202003 -0.017993 -4.360538
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.439894 -0.508771 0.404440 -5.834112
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.047554 -3.972047 0.529790 -14.020215
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.717027 -4.369869 0.031428 -14.135784
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.897144 -4.523453 -0.456034 -15.353184
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.092649 -4.440215 -1.633492 -18.072735
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.218995 -4.688807 2.111674 -20.057915
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.167940 -4.824814 2.557554 -19.375731
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.482943 -3.029377 2.533296 -17.694117
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.523578 2.351006 8.961831 -15.824735
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051857 0.133603 0.039453 0.157058
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.368710 -0.012036 0.485296 -0.621393
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.080773 0.493726 -0.234968 -5.312475
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: -0.001733 -0.359257 -0.655450 -1.456781
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.152563 0.999222 16.983675 -0.232126
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005131 0.004723 0.009892 0.009244
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.182689 -0.175698 0.261523 -2.662720
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.930468 0.466411 0.382328 -2.862089
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.487459 0.559479 0.573322 -3.368415
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.798427 0.732602 0.488401 -3.312947
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.436476 0.160034 0.331349 -3.361852
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.152339 0.963246 -0.061818 -3.595951
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.281944 1.535720 0.691676 -4.251910
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.835587 1.044014 -0.216463 -11.851070
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.473685 1.440260 0.051376 -12.754946
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.368050 1.563073 0.901167 -15.908760
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.598373 0.857502 0.078648 -15.258444
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.343007 0.679198 1.510109 -14.588122
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.083332 -0.768484 8.881135 -13.210123
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.874424 2.609503 18.025383 -10.737823
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.046572 9.887783 9.976087 -8.372459
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.026022 -0.036154 -0.029905 0.149955
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.845916 -0.025419 0.574434 -0.198852
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.539016 -0.148350 -0.569609 -3.938704
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.098137 0.667528 -0.453629 -0.000517
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.354385 47.212521 129.784958 0.699243
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 17.972193 13.713557 14.079697 15.216963
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.074760 12.336873 17.502558 15.306823
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.720804 -0.654032 -0.667639 -1.234109
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -22.480564 -27.780695 -37.013645 -29.210379
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 1520.96 ms across 32 steps (avg 47.53 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 497.000000 205.000000 208.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.001501 0.000549 0.002859 0.005375
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-BF16.gguf --codec ../models/omnivoice-tokenizer-BF16.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.59% diffs: 3 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..193
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999988 max_abs_diff: 1.626e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999978 max_abs_diff: 2.646e-03 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999986 max_abs_diff: 1.309e-01 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999986 max_abs_diff: 1.023e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999983 max_abs_diff: 2.472e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999984 max_abs_diff: 2.074e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999988 max_abs_diff: 2.133e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999989 max_abs_diff: 2.754e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999978 max_abs_diff: 1.916e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999939 max_abs_diff: 1.586e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 95.45% diffs: 157 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.3% k1=97.7% k2=96.5% k3=96.3% k4=95.1% k5=94.9% k6=91.6% k7=92.1%
|
||||
[Cossim] L0 hidden cond: cos=0.993671 max_abs=7.657e+00 uncond: cos=0.999998 max_abs=3.941e-02
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.995029 max_abs=1.502e-01 uncond: cos=0.999997 max_abs=1.391e-03
|
||||
[Cossim] L1.attn hidden cond: cos=0.999052 max_abs=1.519e-01 uncond: cos=0.999996 max_abs=6.630e-03
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.998567 max_abs=1.206e+00 uncond: cos=0.999998 max_abs=1.214e-02
|
||||
[Cossim] L1.mlp hidden cond: cos=0.998562 max_abs=1.962e+00 uncond: cos=0.999994 max_abs=2.792e-02
|
||||
[Cossim] L1 hidden cond: cos=0.995008 max_abs=8.024e+00 uncond: cos=0.999998 max_abs=4.992e-02
|
||||
[Cossim] L2 hidden cond: cos=0.995600 max_abs=8.467e+00 uncond: cos=0.999998 max_abs=5.451e-02
|
||||
[Cossim] L3 hidden cond: cos=0.995697 max_abs=8.898e+00 uncond: cos=0.999997 max_abs=5.960e-02
|
||||
[Cossim] L4 hidden cond: cos=0.995768 max_abs=9.074e+00 uncond: cos=0.999996 max_abs=8.421e-02
|
||||
[Cossim] L5 hidden cond: cos=0.995758 max_abs=9.719e+00 uncond: cos=0.999995 max_abs=8.283e-02
|
||||
[Cossim] L6 hidden cond: cos=0.996028 max_abs=9.914e+00 uncond: cos=0.999994 max_abs=9.515e-02
|
||||
[Cossim] L13 hidden cond: cos=0.997348 max_abs=1.508e+01 uncond: cos=0.999995 max_abs=1.805e-01
|
||||
[Cossim] L14 hidden cond: cos=0.997905 max_abs=1.501e+01 uncond: cos=0.999994 max_abs=1.733e-01
|
||||
[Cossim] L15 hidden cond: cos=0.998212 max_abs=1.511e+01 uncond: cos=0.999993 max_abs=3.689e-01
|
||||
[Cossim] L16 hidden cond: cos=0.997945 max_abs=2.848e+01 uncond: cos=0.999993 max_abs=4.416e-01
|
||||
[Cossim] L17 hidden cond: cos=0.998093 max_abs=2.851e+01 uncond: cos=0.999993 max_abs=4.348e-01
|
||||
[Cossim] L18 hidden cond: cos=0.998404 max_abs=2.813e+01 uncond: cos=0.999993 max_abs=3.687e-01
|
||||
[Cossim] L19 hidden cond: cos=0.999248 max_abs=2.953e+01 uncond: cos=0.999992 max_abs=5.512e-01
|
||||
[Cossim] L20 hidden cond: cos=0.998969 max_abs=3.469e+01 uncond: cos=0.999992 max_abs=1.213e+00
|
||||
[Cossim] Lf hidden cond: cos=0.999824 max_abs=1.267e+01 uncond: cos=0.999995 max_abs=8.033e-01
|
||||
[Cossim] Logits cond: 1.000000 uncond: 1.000000
|
||||
[Cossim] Step0 log_probs cossim: 0.999948 max_abs_diff: 3.369e+00
|
||||
[Cossim] Step0 pred_tokens exact: 89.74% diffs: 183/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] F32 -> ../models/omnivoice-base-F32.gguf + ../models/omnivoice-tokenizer-F32.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 29601.29it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31233.99it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-F32.gguf: 312 tensors, data at offset 5339040
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 2336.8 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-F32.gguf: 486 tensors, data at offset 44160
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 1.5 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 324.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015262 0.002046 0.001384 -0.000023
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.253676 -1.989074 -0.261050 -0.050980
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.815796 -0.275574 0.394058 -0.054337
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.188427 -0.532597 0.653224 0.154380
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.400068 -0.979176 0.524851 -0.268174
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.133987 -0.455481 0.047520 -0.175003
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.127536 -0.473171 -0.166193 -0.340779
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.129115 -0.151786 0.265561 0.199496
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.069307 -0.066289 0.185559 0.371921
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.231506 -0.580453 0.248739 -0.089867
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.074966 -0.010929 0.044540 0.095712
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.262681 0.468662 -0.252122 -2.019279
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.108169 0.096485 -0.421746 -4.096305
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.468288 -0.407974 -0.296792 -5.435963
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.321546 -0.284748 -0.295617 -5.575978
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.124952 -0.020039 -0.256470 -5.106244
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.674581 0.205795 -0.015824 -4.367730
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.447317 -0.507042 0.403015 -5.837380
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.058363 -3.907390 0.560230 -13.982636
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.735350 -4.321879 0.024829 -14.125154
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.925391 -4.453135 -0.473431 -15.347444
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.167334 -4.361949 -1.572796 -18.032745
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.318686 -4.619273 2.232502 -20.112152
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.237265 -4.759501 2.667881 -19.392426
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.505393 -3.017085 2.716037 -17.646820
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.584860 2.341130 9.107700 -15.812836
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051749 0.133386 0.039875 0.157285
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.371338 -0.012131 0.484375 -0.619995
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.083327 0.492815 -0.231595 -5.316273
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: -0.000488 -0.360046 -0.653999 -1.457031
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.151306 0.938574 16.754250 -0.229044
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005183 0.004625 0.009925 0.009213
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.182927 -0.174452 0.262660 -2.661259
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.930608 0.469421 0.378238 -2.859948
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.489473 0.563943 0.570846 -3.367486
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.801496 0.736367 0.486434 -3.313821
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.439344 0.166710 0.331710 -3.364419
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.154355 0.968712 -0.063584 -3.598855
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.283574 1.542167 0.690749 -4.250466
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.831099 1.039018 -0.215743 -11.819623
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.473189 1.441896 0.058137 -12.722440
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.365645 1.564792 0.918259 -15.867932
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.603926 0.860508 0.068978 -15.231519
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.356856 0.675358 1.502859 -14.584850
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.055708 -0.769345 8.870413 -13.231060
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.836775 2.609745 17.999807 -10.775738
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.057051 9.862919 10.009207 -8.369305
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.026100 -0.035960 -0.030087 0.150129
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.846313 -0.023119 0.570374 -0.197723
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.540189 -0.145962 -0.568501 -3.941266
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.098633 0.666992 -0.454796 -0.000966
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.353547 47.228493 129.691010 0.699550
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.125000 13.835938 13.960938 15.234375
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.093750 12.343750 17.531250 15.281250
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.589937 -0.658521 -0.697588 -1.161841
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -21.996187 -27.363375 -37.363373 -29.043062
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 753.74 ms across 32 steps (avg 23.55 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 563.000000 831.000000 205.000000 229.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.016342 0.015156 0.019789 0.022279
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-F32.gguf --codec ../models/omnivoice-tokenizer-F32.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.73% diffs: 2 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..95
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999996 max_abs_diff: 6.623e-02 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999995 max_abs_diff: 8.182e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999997 max_abs_diff: 4.013e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999997 max_abs_diff: 3.195e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999993 max_abs_diff: 2.364e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999994 max_abs_diff: 1.508e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999996 max_abs_diff: 1.264e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999997 max_abs_diff: 1.840e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999994 max_abs_diff: 6.733e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999984 max_abs_diff: 6.409e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 95.42% diffs: 158 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=99.5% k1=97.7% k2=96.8% k3=95.8% k4=95.6% k5=94.0% k6=92.1% k7=91.9%
|
||||
[Cossim] L0 hidden cond: cos=0.993630 max_abs=7.407e+00 uncond: cos=0.999999 max_abs=2.941e-02
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.994828 max_abs=1.588e-01 uncond: cos=0.999999 max_abs=1.244e-03
|
||||
[Cossim] L1.attn hidden cond: cos=0.999065 max_abs=1.539e-01 uncond: cos=0.999999 max_abs=5.923e-03
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.998515 max_abs=1.207e+00 uncond: cos=0.999999 max_abs=8.981e-03
|
||||
[Cossim] L1.mlp hidden cond: cos=0.998323 max_abs=2.980e+00 uncond: cos=0.999997 max_abs=2.845e-02
|
||||
[Cossim] L1 hidden cond: cos=0.994997 max_abs=8.025e+00 uncond: cos=0.999999 max_abs=3.632e-02
|
||||
[Cossim] L2 hidden cond: cos=0.995626 max_abs=8.457e+00 uncond: cos=0.999999 max_abs=4.321e-02
|
||||
[Cossim] L3 hidden cond: cos=0.995696 max_abs=8.869e+00 uncond: cos=0.999999 max_abs=4.686e-02
|
||||
[Cossim] L4 hidden cond: cos=0.995784 max_abs=9.022e+00 uncond: cos=0.999998 max_abs=5.260e-02
|
||||
[Cossim] L5 hidden cond: cos=0.995772 max_abs=9.715e+00 uncond: cos=0.999998 max_abs=7.075e-02
|
||||
[Cossim] L6 hidden cond: cos=0.996027 max_abs=9.912e+00 uncond: cos=0.999998 max_abs=8.560e-02
|
||||
[Cossim] L13 hidden cond: cos=0.997333 max_abs=1.506e+01 uncond: cos=0.999998 max_abs=1.267e-01
|
||||
[Cossim] L14 hidden cond: cos=0.997897 max_abs=1.500e+01 uncond: cos=0.999998 max_abs=1.428e-01
|
||||
[Cossim] L15 hidden cond: cos=0.998208 max_abs=1.510e+01 uncond: cos=0.999997 max_abs=3.281e-01
|
||||
[Cossim] L16 hidden cond: cos=0.997972 max_abs=2.847e+01 uncond: cos=0.999997 max_abs=3.096e-01
|
||||
[Cossim] L17 hidden cond: cos=0.998132 max_abs=2.848e+01 uncond: cos=0.999997 max_abs=3.414e-01
|
||||
[Cossim] L18 hidden cond: cos=0.998452 max_abs=2.809e+01 uncond: cos=0.999997 max_abs=3.574e-01
|
||||
[Cossim] L19 hidden cond: cos=0.999266 max_abs=2.945e+01 uncond: cos=0.999997 max_abs=5.050e-01
|
||||
[Cossim] L20 hidden cond: cos=0.998995 max_abs=3.454e+01 uncond: cos=0.999997 max_abs=8.101e-01
|
||||
[Cossim] Lf hidden cond: cos=0.999814 max_abs=1.343e+01 uncond: cos=0.999996 max_abs=8.300e-01
|
||||
[Cossim] Logits cond: 0.999999 uncond: 0.999999
|
||||
[Cossim] Step0 log_probs cossim: 0.999459 max_abs_diff: 3.854e+00
|
||||
[Cossim] Step0 pred_tokens exact: 60.09% diffs: 712/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] Q4_K_M -> ../models/omnivoice-base-Q4_K_M.gguf + ../models/omnivoice-tokenizer-Q4_K_M.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 26920.75it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 27933.05it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q4_K_M.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K fused, V separate
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 383.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q4_K_M.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.2 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 47.8 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015262 0.002046 0.001384 -0.000023
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.253676 -1.989074 -0.261050 -0.050980
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.823608 -0.263855 0.375015 -0.019470
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.179323 -0.530362 0.648168 0.187600
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.411490 -0.982240 0.505782 -0.263140
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.215116 -0.579344 0.071915 -0.207567
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.117855 -0.503585 -0.140879 -0.371285
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.083075 -0.084808 0.278693 0.165917
|
||||
[Debug] hubert-l11: [862, 768] first4: 0.043379 -0.020296 0.186120 0.421011
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.235950 -0.590971 0.257639 -0.076850
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.073957 -0.012326 0.043142 0.095528
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.259768 0.457636 -0.247477 -1.978324
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.072508 0.150629 -0.423810 -4.061149
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.376554 -0.346052 -0.391308 -5.537902
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.192564 -0.211130 -0.296597 -5.630973
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.018187 0.092932 -0.219969 -5.139602
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.540426 0.287802 -0.074088 -4.364882
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.321280 -0.398328 0.388803 -5.859969
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.237955 -3.737718 -0.210803 -13.581222
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -4.002726 -4.202684 -0.618456 -13.906539
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -4.155680 -4.241914 -0.979739 -14.859902
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.269144 -4.187959 -1.921633 -17.360771
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.469217 -4.463579 1.997419 -19.260368
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.411676 -4.812761 1.950910 -17.771477
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.163263 -2.684343 2.153547 -16.515007
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -2.753763 2.812056 9.018782 -14.779900
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051463 0.130979 0.039360 0.154959
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.365540 -0.004395 0.474854 -0.617737
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.081606 0.492231 -0.228107 -5.260941
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: -0.033264 -0.302612 -0.651186 -1.465088
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.163504 1.315204 18.823025 -0.212732
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.004852 0.004656 0.011258 0.007240
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.211883 -0.180723 0.260953 -2.642052
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.938202 0.515101 0.410203 -2.823148
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.488876 0.575556 0.630109 -3.394468
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.791204 0.757800 0.447965 -3.382192
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.460726 0.172835 0.363614 -3.435064
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.042185 0.950850 -0.051913 -3.510687
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.180166 1.497710 0.679647 -4.056952
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.665602 0.811656 -0.217488 -12.049175
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.307081 1.308360 0.111957 -12.798016
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 0.971144 1.305186 0.834272 -15.882854
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.655958 0.577036 -0.557878 -16.154095
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.960157 0.290720 1.099440 -15.301083
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 1.304029 -1.446828 7.369612 -13.658504
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.257643 2.011637 15.557600 -11.952694
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 1.862703 8.992350 8.955061 -8.772396
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.030229 -0.037249 -0.029889 0.149033
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.839111 -0.039162 0.605644 -0.183105
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.549793 -0.161912 -0.589462 -3.881837
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.112793 0.734985 -0.456394 0.002009
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.344052 47.155907 130.892944 0.870237
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.265625 14.203125 12.914062 14.523438
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.312500 13.468750 17.593750 14.375000
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 763.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.759683 -0.918873 -1.220570 -0.910714
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -22.619057 -29.119057 -41.236244 -29.970619
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 750.13 ms across 32 steps (avg 23.44 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 497.000000 479.000000 783.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.003883 0.003519 0.006032 0.008267
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q4_K_M.gguf --codec ../models/omnivoice-tokenizer-Q4_K_M.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.32% diffs: 5 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..193
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.997600 max_abs_diff: 7.296e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999995 max_abs_diff: 8.182e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999997 max_abs_diff: 4.013e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.998583 max_abs_diff: 3.684e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.998664 max_abs_diff: 1.474e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.997895 max_abs_diff: 1.655e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.995199 max_abs_diff: 2.602e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.994633 max_abs_diff: 3.314e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.991804 max_abs_diff: 2.357e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.986913 max_abs_diff: 9.079e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 93.71% diffs: 217 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=98.8% k1=97.7% k2=95.4% k3=94.9% k4=92.3% k5=92.6% k6=89.1% k7=88.9%
|
||||
[Cossim] L0 hidden cond: cos=0.990766 max_abs=7.468e+00 uncond: cos=0.999276 max_abs=3.965e-01
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.992359 max_abs=1.587e-01 uncond: cos=0.998787 max_abs=1.622e-02
|
||||
[Cossim] L1.attn hidden cond: cos=0.997844 max_abs=2.427e-01 uncond: cos=0.997835 max_abs=1.445e-01
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.997785 max_abs=1.219e+00 uncond: cos=0.999228 max_abs=1.115e-01
|
||||
[Cossim] L1.mlp hidden cond: cos=0.995356 max_abs=3.364e+00 uncond: cos=0.997347 max_abs=3.077e-01
|
||||
[Cossim] L1 hidden cond: cos=0.992564 max_abs=8.075e+00 uncond: cos=0.999110 max_abs=2.877e-01
|
||||
[Cossim] L2 hidden cond: cos=0.993367 max_abs=8.470e+00 uncond: cos=0.998609 max_abs=8.880e-01
|
||||
[Cossim] L3 hidden cond: cos=0.993416 max_abs=8.889e+00 uncond: cos=0.997619 max_abs=1.640e+00
|
||||
[Cossim] L4 hidden cond: cos=0.993406 max_abs=9.062e+00 uncond: cos=0.997081 max_abs=1.099e+00
|
||||
[Cossim] L5 hidden cond: cos=0.993315 max_abs=9.783e+00 uncond: cos=0.996619 max_abs=9.188e-01
|
||||
[Cossim] L6 hidden cond: cos=0.993707 max_abs=1.017e+01 uncond: cos=0.996507 max_abs=1.238e+00
|
||||
[Cossim] L13 hidden cond: cos=0.995328 max_abs=1.500e+01 uncond: cos=0.995061 max_abs=1.857e+00
|
||||
[Cossim] L14 hidden cond: cos=0.996142 max_abs=1.490e+01 uncond: cos=0.994735 max_abs=2.720e+00
|
||||
[Cossim] L15 hidden cond: cos=0.996481 max_abs=1.496e+01 uncond: cos=0.994019 max_abs=4.271e+00
|
||||
[Cossim] L16 hidden cond: cos=0.996020 max_abs=4.236e+01 uncond: cos=0.994148 max_abs=4.029e+00
|
||||
[Cossim] L17 hidden cond: cos=0.995881 max_abs=4.350e+01 uncond: cos=0.993081 max_abs=4.799e+00
|
||||
[Cossim] L18 hidden cond: cos=0.996114 max_abs=5.031e+01 uncond: cos=0.992211 max_abs=6.760e+00
|
||||
[Cossim] L19 hidden cond: cos=0.997667 max_abs=4.972e+01 uncond: cos=0.992114 max_abs=1.035e+01
|
||||
[Cossim] L20 hidden cond: cos=0.996873 max_abs=4.939e+01 uncond: cos=0.991586 max_abs=1.744e+01
|
||||
[Cossim] Lf hidden cond: cos=0.999484 max_abs=2.187e+01 uncond: cos=0.996545 max_abs=1.101e+01
|
||||
[Cossim] Logits cond: 0.999942 uncond: 0.999932
|
||||
[Cossim] Step0 log_probs cossim: 0.995127 max_abs_diff: 9.250e+00
|
||||
[Cossim] Step0 pred_tokens exact: 35.54% diffs: 1150/1784
|
||||
@@ -0,0 +1,191 @@
|
||||
[Quant] Q8_0 -> ../models/omnivoice-base-Q8_0.gguf + ../models/omnivoice-tokenizer-Q8_0.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] RefText: 213 chars: If you go into different cultures, they have different conce...
|
||||
[Input] RefWav: ../examples/freeman.wav
|
||||
[Input] Language: English
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 30211.65it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 30700.40it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q8_0.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 620.9 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q8_0.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.4 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 86.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[WAV] Read buffer: 380672 samples, 22050 Hz, 1 ch, 16 bit
|
||||
[Audio-Resample] 22050 Hz -> 24000 Hz, 380672 samples...
|
||||
[Audio-Resample] Done: 380672 -> 414337 samples
|
||||
[TTS] Reference: RMS 0.0271 -> 0.1 gain 3.6961
|
||||
[TTS] Reference: silence-trim 414337 -> 414097 samples
|
||||
[TTS] Reference: ../examples/freeman.wav, 414097 samples @ 24 kHz mono (17.25 s), aligned to 413760 (clip 337)
|
||||
[Debug] ref-audio-16k: [275840] first4: -0.002174 -0.003920 -0.000047 -0.003989
|
||||
[Debug] hubert-feat-extract: [512, 862] first4: 0.015262 0.002046 0.001384 -0.000023
|
||||
[Debug] hubert-feat-proj-ln: [862, 512] first4: 0.253676 -1.989074 -0.261050 -0.050980
|
||||
[Debug] hubert-feat-proj: [862, 768] first4: -4.815796 -0.278748 0.394302 -0.052444
|
||||
[Debug] hubert-enc-init: [862, 768] first4: 0.190122 -0.534803 0.660242 0.161011
|
||||
[Debug] hubert-l0: [862, 768] first4: 0.403681 -0.981934 0.538031 -0.262589
|
||||
[Debug] hubert-l5: [862, 768] first4: 0.134279 -0.452820 0.046190 -0.179870
|
||||
[Debug] hubert-l7: [862, 768] first4: 0.122653 -0.472487 -0.165662 -0.342133
|
||||
[Debug] hubert-l9: [862, 768] first4: 0.130522 -0.149580 0.272829 0.203684
|
||||
[Debug] hubert-l11: [862, 768] first4: -0.071975 -0.076601 0.199944 0.378947
|
||||
[Debug] ref-hubert-features: [431, 768] first4: 0.233392 -0.580685 0.253055 -0.086381
|
||||
[TTS] Reference: encoded to [K=8, T=431] codes
|
||||
[Debug] ref-audio-codes: [8, 431] first4: 694.000000 250.000000 283.000000 957.000000
|
||||
[TTS-Long] Single-shot path: T=223 frames (8.92s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=738 N1=7 N2=77 Sref=431 Stgt=223 c_len=738 u_len=223 denoise=1
|
||||
[Debug] prompt-cond-ids: [738] first4: 151669.000000 151670.000000 268.000000 151671.000000
|
||||
[Debug] prompt-uncond-ids: [738] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=738 c_len=738 u_len=223
|
||||
[MaskGIT] Start: T=223 K=8 S=738 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [738, 1024] first4: 0.075046 -0.011214 0.044855 0.095748
|
||||
[Debug] lm-hidden-step0-cond-l0: [738, 1024] first4: -0.261212 0.469118 -0.247198 -2.019242
|
||||
[Debug] lm-hidden-step0-cond-l1: [738, 1024] first4: 0.108600 0.101762 -0.420446 -4.092911
|
||||
[Debug] lm-hidden-step0-cond-l2: [738, 1024] first4: 0.475528 -0.406554 -0.291815 -5.421807
|
||||
[Debug] lm-hidden-step0-cond-l3: [738, 1024] first4: 0.322978 -0.285277 -0.293802 -5.565621
|
||||
[Debug] lm-hidden-step0-cond-l4: [738, 1024] first4: 0.121501 -0.022124 -0.255983 -5.093896
|
||||
[Debug] lm-hidden-step0-cond-l5: [738, 1024] first4: 0.670017 0.201932 -0.009737 -4.353391
|
||||
[Debug] lm-hidden-step0-cond-l6: [738, 1024] first4: 0.445377 -0.515567 0.409788 -5.822629
|
||||
[Debug] lm-hidden-step0-cond-l13: [738, 1024] first4: -3.065755 -3.900434 0.550236 -13.979956
|
||||
[Debug] lm-hidden-step0-cond-l14: [738, 1024] first4: -3.724004 -4.319562 0.006596 -14.135168
|
||||
[Debug] lm-hidden-step0-cond-l15: [738, 1024] first4: -3.915845 -4.440640 -0.480377 -15.363501
|
||||
[Debug] lm-hidden-step0-cond-l16: [738, 1024] first4: -3.191968 -4.327085 -1.590851 -18.023504
|
||||
[Debug] lm-hidden-step0-cond-l17: [738, 1024] first4: -4.341505 -4.601377 2.131737 -20.093328
|
||||
[Debug] lm-hidden-step0-cond-l18: [738, 1024] first4: -2.240308 -4.757810 2.524529 -19.366522
|
||||
[Debug] lm-hidden-step0-cond-l19: [738, 1024] first4: -3.517652 -2.954564 2.463646 -17.634924
|
||||
[Debug] lm-hidden-step0-cond-l20: [738, 1024] first4: -3.648344 2.506648 8.849205 -15.731115
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [738, 1024] first4: -0.051436 0.133453 0.039078 0.157208
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [738, 1024] first4: 0.370361 -0.014084 0.481445 -0.622498
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [738, 1024] first4: 0.083666 0.490973 -0.233476 -5.318800
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [738, 1024] first4: -0.000549 -0.353271 -0.654694 -1.451172
|
||||
[Debug] lm-hidden-step0-cond: [738, 1024] first4: 0.154161 0.955562 16.716045 -0.227903
|
||||
[Debug] lm-hidden-step0-uncond-embed: [738, 1024] first4: 0.005380 0.004855 0.010246 0.009150
|
||||
[Debug] lm-hidden-step0-uncond-l0: [738, 1024] first4: -0.180685 -0.175206 0.265586 -2.667058
|
||||
[Debug] lm-hidden-step0-uncond-l1: [738, 1024] first4: -0.926413 0.464544 0.378238 -2.864804
|
||||
[Debug] lm-hidden-step0-uncond-l2: [738, 1024] first4: -1.483176 0.562349 0.578674 -3.373867
|
||||
[Debug] lm-hidden-step0-uncond-l3: [738, 1024] first4: -0.791212 0.732194 0.493591 -3.323044
|
||||
[Debug] lm-hidden-step0-uncond-l4: [738, 1024] first4: -0.431654 0.160126 0.333068 -3.371796
|
||||
[Debug] lm-hidden-step0-uncond-l5: [738, 1024] first4: -0.156431 0.969300 -0.065613 -3.613342
|
||||
[Debug] lm-hidden-step0-uncond-l6: [738, 1024] first4: -0.283521 1.542378 0.693206 -4.271301
|
||||
[Debug] lm-hidden-step0-uncond-l13: [738, 1024] first4: 0.842301 1.051409 -0.205870 -11.818512
|
||||
[Debug] lm-hidden-step0-uncond-l14: [738, 1024] first4: 0.490311 1.465563 0.040864 -12.714493
|
||||
[Debug] lm-hidden-step0-uncond-l15: [738, 1024] first4: 1.369614 1.594913 0.926042 -15.858871
|
||||
[Debug] lm-hidden-step0-uncond-l16: [738, 1024] first4: 1.601059 0.917728 0.042573 -15.240524
|
||||
[Debug] lm-hidden-step0-uncond-l17: [738, 1024] first4: 1.372544 0.761417 1.402772 -14.580460
|
||||
[Debug] lm-hidden-step0-uncond-l18: [738, 1024] first4: 0.976059 -0.694760 8.815493 -13.273880
|
||||
[Debug] lm-hidden-step0-uncond-l19: [738, 1024] first4: 0.780686 2.710330 17.957827 -10.787308
|
||||
[Debug] lm-hidden-step0-uncond-l20: [738, 1024] first4: 2.020249 9.856326 9.936098 -8.398270
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [738, 1024] first4: -0.025767 -0.036096 -0.030406 0.150377
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [738, 1024] first4: -0.846680 -0.023336 0.569878 -0.196411
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [738, 1024] first4: -0.538899 -0.146596 -0.569836 -3.945214
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [738, 1024] first4: 0.100952 0.663086 -0.457226 -0.001334
|
||||
[Debug] lm-hidden-step0-uncond: [738, 1024] first4: 1.347121 47.198315 129.656372 0.691911
|
||||
[Debug] lm-logits-step0-cond: [8, 223, 1025] first4: 18.015625 13.921875 13.742188 15.281250
|
||||
[Debug] lm-logits-step0-uncond: [8, 223, 1025] first4: 16.000000 12.453125 17.265625 15.359375
|
||||
[Debug] mg-pred-tokens-step0: [8, 223] first4: 250.000000 739.000000 739.000000 739.000000
|
||||
[Debug] mg-scores-step0: [8, 223] first4: -0.531281 -0.745834 -0.703794 -1.188202
|
||||
[Debug] mg-log-probs-step0: [8, 223, 1025] first4: -21.984406 -27.171906 -37.335968 -28.906281
|
||||
[MaskGIT-Step] 1/32 demask=6 remaining=1778
|
||||
[MaskGIT-Step] 2/32 demask=7 remaining=1771
|
||||
[MaskGIT-Step] 3/32 demask=7 remaining=1764
|
||||
[MaskGIT-Step] 4/32 demask=7 remaining=1757
|
||||
[MaskGIT-Step] 5/32 demask=8 remaining=1749
|
||||
[MaskGIT-Step] 6/32 demask=8 remaining=1741
|
||||
[MaskGIT-Step] 7/32 demask=9 remaining=1732
|
||||
[MaskGIT-Step] 8/32 demask=9 remaining=1723
|
||||
[MaskGIT-Step] 9/32 demask=10 remaining=1713
|
||||
[MaskGIT-Step] 10/32 demask=11 remaining=1702
|
||||
[MaskGIT-Step] 11/32 demask=12 remaining=1690
|
||||
[MaskGIT-Step] 12/32 demask=13 remaining=1677
|
||||
[MaskGIT-Step] 13/32 demask=14 remaining=1663
|
||||
[MaskGIT-Step] 14/32 demask=15 remaining=1648
|
||||
[MaskGIT-Step] 15/32 demask=16 remaining=1632
|
||||
[MaskGIT-Step] 16/32 demask=18 remaining=1614
|
||||
[MaskGIT-Step] 17/32 demask=20 remaining=1594
|
||||
[MaskGIT-Step] 18/32 demask=22 remaining=1572
|
||||
[MaskGIT-Step] 19/32 demask=25 remaining=1547
|
||||
[MaskGIT-Step] 20/32 demask=28 remaining=1519
|
||||
[MaskGIT-Step] 21/32 demask=32 remaining=1487
|
||||
[MaskGIT-Step] 22/32 demask=36 remaining=1451
|
||||
[MaskGIT-Step] 23/32 demask=42 remaining=1409
|
||||
[MaskGIT-Step] 24/32 demask=49 remaining=1360
|
||||
[MaskGIT-Step] 25/32 demask=58 remaining=1302
|
||||
[MaskGIT-Step] 26/32 demask=70 remaining=1232
|
||||
[MaskGIT-Step] 27/32 demask=87 remaining=1145
|
||||
[MaskGIT-Step] 28/32 demask=110 remaining=1035
|
||||
[MaskGIT-Step] 29/32 demask=143 remaining=892
|
||||
[MaskGIT-Step] 30/32 demask=194 remaining=698
|
||||
[MaskGIT-Step] 31/32 demask=279 remaining=419
|
||||
[MaskGIT-Step] 32/32 demask=419 remaining=0
|
||||
[MaskGIT] Total LM forward: 736.21 ms across 32 steps (avg 23.01 ms/step)
|
||||
[Debug] mg-tokens: [8, 223] first4: 997.000000 997.000000 698.000000 208.000000
|
||||
[TTS] Decode: K=8 T=223 expected_samples=214080
|
||||
[Debug] output-audio: [214080] first4: 0.018930 0.019792 0.026739 0.028088
|
||||
[TTS-Long] Post-proc: 214080 -> 218880 samples (9.12s at 24000 Hz, ref_rms=0.0271)
|
||||
[WAV] Wrote cpp/clone-cpp.wav: 218880 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/clone-cpp.wav (218880 samples @ 24000 Hz, 9.12 s)
|
||||
[Python] Audio: 218880 samples 9.12s -> python/clone-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q8_0.gguf --codec ../models/omnivoice-tokenizer-Q8_0.gguf --seed 42 --ref-wav ../examples/freeman.wav --ref-text ../examples/freeman.txt --lang English --format wav32 --dump cpp -o cpp/clone-cpp.wav --no-fa
|
||||
[GGML] Audio: 218880 samples 24000 Hz 9.12s -> cpp/clone-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 99.32% diffs: 5 uncond exact: 100.00% diffs: 0
|
||||
[Cossim] PromptIDs cond first diff range: s=84..410
|
||||
[Cossim] RefAudio16k max_abs_diff: 3.323e-05 cossim: 1.000000 samples: 275840
|
||||
[Cossim] HuBERT-features cossim: 0.999973 max_abs_diff: 1.607e-01 shape_cpp: (431, 768) shape_pt: (431, 768)
|
||||
[Cossim] hubert-feat-extract cossim: 0.999995 max_abs_diff: 8.182e-04 shape_cpp: (512, 862) shape_pt: (512, 862)
|
||||
[Cossim] hubert-feat-proj-ln cossim: 0.999997 max_abs_diff: 4.013e-02 shape_cpp: (862, 512) shape_pt: (862, 512)
|
||||
[Cossim] hubert-feat-proj cossim: 0.999989 max_abs_diff: 3.606e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-enc-init cossim: 0.999976 max_abs_diff: 2.658e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l0 cossim: 0.999973 max_abs_diff: 2.364e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l5 cossim: 0.999959 max_abs_diff: 2.812e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l7 cossim: 0.999953 max_abs_diff: 4.649e-02 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l9 cossim: 0.999925 max_abs_diff: 2.425e-01 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] hubert-l11 cossim: 0.999842 max_abs_diff: 1.678e+00 shape_cpp: (862, 768) shape_pt: (862, 768)
|
||||
[Cossim] RefAudioCodes exact: 95.39% diffs: 159 shape_cpp: (8, 431) shape_pt: (8, 431)
|
||||
[Cossim] RefAudioCodes per-codebook: k0=98.8% k1=97.7% k2=96.3% k3=96.1% k4=96.1% k5=94.2% k6=92.1% k7=91.9%
|
||||
[Cossim] L0 hidden cond: cos=0.993575 max_abs=7.407e+00 uncond: cos=0.999988 max_abs=3.222e-02
|
||||
[Cossim] L1.norm1 hidden cond: cos=0.994851 max_abs=1.583e-01 uncond: cos=0.999980 max_abs=2.700e-03
|
||||
[Cossim] L1.attn hidden cond: cos=0.999053 max_abs=1.536e-01 uncond: cos=0.999975 max_abs=1.186e-02
|
||||
[Cossim] L1.norm2 hidden cond: cos=0.998507 max_abs=1.207e+00 uncond: cos=0.999988 max_abs=2.876e-02
|
||||
[Cossim] L1.mlp hidden cond: cos=0.998013 max_abs=4.723e+00 uncond: cos=0.999954 max_abs=4.809e-02
|
||||
[Cossim] L1 hidden cond: cos=0.994930 max_abs=8.024e+00 uncond: cos=0.999985 max_abs=7.222e-02
|
||||
[Cossim] L2 hidden cond: cos=0.995562 max_abs=8.460e+00 uncond: cos=0.999982 max_abs=9.219e-02
|
||||
[Cossim] L3 hidden cond: cos=0.995630 max_abs=8.871e+00 uncond: cos=0.999978 max_abs=7.212e-02
|
||||
[Cossim] L4 hidden cond: cos=0.995716 max_abs=9.018e+00 uncond: cos=0.999974 max_abs=8.836e-02
|
||||
[Cossim] L5 hidden cond: cos=0.995708 max_abs=9.724e+00 uncond: cos=0.999965 max_abs=1.045e-01
|
||||
[Cossim] L6 hidden cond: cos=0.995969 max_abs=9.919e+00 uncond: cos=0.999959 max_abs=1.606e-01
|
||||
[Cossim] L13 hidden cond: cos=0.997308 max_abs=1.509e+01 uncond: cos=0.999963 max_abs=3.896e-01
|
||||
[Cossim] L14 hidden cond: cos=0.997870 max_abs=1.502e+01 uncond: cos=0.999957 max_abs=3.767e-01
|
||||
[Cossim] L15 hidden cond: cos=0.998176 max_abs=1.514e+01 uncond: cos=0.999947 max_abs=5.127e-01
|
||||
[Cossim] L16 hidden cond: cos=0.997923 max_abs=2.854e+01 uncond: cos=0.999942 max_abs=7.125e-01
|
||||
[Cossim] L17 hidden cond: cos=0.998076 max_abs=2.854e+01 uncond: cos=0.999940 max_abs=8.673e-01
|
||||
[Cossim] L18 hidden cond: cos=0.998385 max_abs=2.817e+01 uncond: cos=0.999935 max_abs=8.313e-01
|
||||
[Cossim] L19 hidden cond: cos=0.999232 max_abs=2.956e+01 uncond: cos=0.999935 max_abs=1.283e+00
|
||||
[Cossim] L20 hidden cond: cos=0.998952 max_abs=3.461e+01 uncond: cos=0.999934 max_abs=3.044e+00
|
||||
[Cossim] Lf hidden cond: cos=0.999812 max_abs=1.307e+01 uncond: cos=0.999774 max_abs=3.754e+00
|
||||
[Cossim] Logits cond: 0.999999 uncond: 0.999999
|
||||
[Cossim] Step0 log_probs cossim: 0.999429 max_abs_diff: 3.801e+00
|
||||
[Cossim] Step0 pred_tokens exact: 59.42% diffs: 724/1784
|
||||
Executable
+140
@@ -0,0 +1,140 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Cross decode probe : feed CPP mg-tokens to the Python audio decoder.
|
||||
|
||||
If decoder_pt(tokens_cpp) matches tts-cpp.wav, the C++ decoder is fine and
|
||||
the divergence lives entirely in the LM/MaskGIT path. If it does not match,
|
||||
the C++ audio decoder has a bug too.
|
||||
|
||||
We also feed PT tokens to the same Python decoder as a sanity reference,
|
||||
which must reproduce tts-python.wav (modulo whatever post we still have).
|
||||
"""
|
||||
|
||||
import os
|
||||
import struct
|
||||
|
||||
# Strict F32 matmul on both sides. NVIDIA_TF32_OVERRIDE=0 forces full FP32
|
||||
# mantissa in cuBLAS for both PyTorch and any C++ child via inheritance.
|
||||
# Must be set BEFORE torch imports so the cuBLAS handle reads it on init.
|
||||
os.environ["NVIDIA_TF32_OVERRIDE"] = "0"
|
||||
|
||||
import numpy as np
|
||||
import soundfile as sf
|
||||
import torch
|
||||
|
||||
# Belt and suspenders : disable PyTorch's own TF32 toggles too. Some code
|
||||
# paths bypass NVIDIA_TF32_OVERRIDE through cudnn or torch internal flags.
|
||||
torch.backends.cuda.matmul.allow_tf32 = False
|
||||
torch.backends.cudnn.allow_tf32 = False
|
||||
|
||||
from omnivoice import OmniVoice
|
||||
from omnivoice.utils.common import fix_random_seed
|
||||
|
||||
CKPT = "../checkpoints/OmniVoice"
|
||||
|
||||
def load_dump(path):
|
||||
raw = np.fromfile(path, dtype=np.uint8)
|
||||
nd = int(np.frombuffer(raw[0:4], dtype=np.int32)[0])
|
||||
sh = tuple(int(x) for x in np.frombuffer(raw[4:4 + 4 * nd], dtype=np.int32))
|
||||
body = np.frombuffer(raw[4 + 4 * nd:], dtype=np.float32)
|
||||
return body.reshape(sh)
|
||||
|
||||
def cos(a, b):
|
||||
a = a.astype(np.float64).ravel()
|
||||
b = b.astype(np.float64).ravel()
|
||||
n = min(len(a), len(b))
|
||||
a, b = a[:n], b[:n]
|
||||
d = float(np.linalg.norm(a) * np.linalg.norm(b))
|
||||
return float(np.dot(a, b) / d) if d > 1e-10 else 0.0
|
||||
|
||||
def stft_cos(a, b, win=2048, hop=512):
|
||||
# STFT magnitude cosine. Drops phase, so a constant time shift between
|
||||
# the two waveforms does not collapse the score. Mirrors the helper in
|
||||
# debug-{tts,clone}-cossim.py.
|
||||
a = a.astype(np.float64).ravel()
|
||||
b = b.astype(np.float64).ravel()
|
||||
n = min(len(a), len(b))
|
||||
a, b = a[:n], b[:n]
|
||||
window = np.hanning(win)
|
||||
frames = (n - win) // hop + 1
|
||||
if frames <= 0:
|
||||
return 0.0
|
||||
sa = np.zeros((frames, win // 2 + 1))
|
||||
sb = np.zeros((frames, win // 2 + 1))
|
||||
for i in range(frames):
|
||||
s = i * hop
|
||||
sa[i] = np.abs(np.fft.rfft(a[s:s + win] * window))
|
||||
sb[i] = np.abs(np.fft.rfft(b[s:s + win] * window))
|
||||
return cos(sa.ravel(), sb.ravel())
|
||||
|
||||
def decode_tokens(model, tokens_kt):
|
||||
"""tokens_kt is [K, T] int. Returns float32 mono numpy array of samples."""
|
||||
device = next(model.parameters()).device
|
||||
t = torch.from_numpy(tokens_kt.astype(np.int64)).to(device)
|
||||
t = t.unsqueeze(0)
|
||||
with torch.no_grad():
|
||||
out = model.audio_tokenizer.decode(t)
|
||||
wav = getattr(out, "audio_values", out)
|
||||
if isinstance(wav, torch.Tensor):
|
||||
wav = wav.detach().to(torch.float32).cpu().numpy()
|
||||
if wav.ndim == 3:
|
||||
wav = wav[0, 0]
|
||||
elif wav.ndim == 2:
|
||||
wav = wav[0]
|
||||
return np.asarray(wav, dtype=np.float32)
|
||||
|
||||
def main():
|
||||
fix_random_seed(42)
|
||||
device = "cuda" if torch.cuda.is_available() else "cpu"
|
||||
model = OmniVoice.from_pretrained(
|
||||
CKPT,
|
||||
torch_dtype=torch.float32,
|
||||
attn_implementation="eager",
|
||||
).to(device).eval()
|
||||
|
||||
tok_cpp = load_dump("cpp/mg-tokens.bin").astype(np.int32)
|
||||
tok_pt = load_dump("python/mg-tokens.bin").astype(np.int32)
|
||||
print(f"[Input] Tokens ggml: {tok_cpp.shape} python: {tok_pt.shape}")
|
||||
|
||||
audio_pt_from_cpp = decode_tokens(model, tok_cpp)
|
||||
audio_pt_from_pt = decode_tokens(model, tok_pt)
|
||||
|
||||
sf.write("python/decode-of-cpp-tokens.wav", audio_pt_from_cpp, 24000, subtype="FLOAT")
|
||||
sf.write("python/decode-of-pt-tokens.wav", audio_pt_from_pt, 24000, subtype="FLOAT")
|
||||
|
||||
cpp_wav, _ = sf.read("cpp/tts-cpp.wav")
|
||||
pt_wav, _ = sf.read("python/tts-python.wav")
|
||||
if cpp_wav.ndim > 1:
|
||||
cpp_wav = cpp_wav[:, 0]
|
||||
if pt_wav.ndim > 1:
|
||||
pt_wav = pt_wav[:, 0]
|
||||
cpp_wav = cpp_wav.astype(np.float32)
|
||||
pt_wav = pt_wav.astype(np.float32)
|
||||
|
||||
raw_cpp = load_dump("cpp/output-audio.bin").astype(np.float32)
|
||||
raw_pt = load_dump("python/output-audio.bin").astype(np.float32)
|
||||
|
||||
# Sanity: the Python decoder on Python tokens must reproduce the Python
|
||||
# raw audio exactly. Anything below 1.0 means the reference path itself
|
||||
# is unstable.
|
||||
print(f"[Sanity] PyDecoder(PyTokens) vs PyRaw: {cos(audio_pt_from_pt, raw_pt):.6f}")
|
||||
|
||||
# Cross: the Python decoder fed the GGML tokens. If this matches the GGML
|
||||
# raw audio, the GGML decoder is bit equivalent and the divergence lives
|
||||
# entirely upstream in the LM and MaskGIT path.
|
||||
print(f"[Cross] PyDecoder(GgmlTokens) vs GgmlRaw: {cos(audio_pt_from_cpp, raw_cpp):.6f}")
|
||||
|
||||
# Full pipeline parity. Both WAVs went through identical post processing
|
||||
# (fade_and_pad, silence trim, peak normalize), so frame aligned STFT
|
||||
# magnitude cosine is the right metric. Comparing raw vs WAV here would
|
||||
# collapse to ~0 because of the 2400 sample fade pad inserted at the
|
||||
# head, regardless of decoder quality.
|
||||
n = min(len(cpp_wav), len(pt_wav))
|
||||
print(f"[Pipeline] cpp_wav vs pt_wav stft_cos: {stft_cos(cpp_wav[:n], pt_wav[:n]):.6f}")
|
||||
|
||||
n = min(tok_cpp.size, tok_pt.size)
|
||||
a = tok_cpp.ravel()[:n]
|
||||
b = tok_pt.ravel()[:n]
|
||||
print(f"[Cossim] Tokens exact: {100.0 * float((a == b).mean()):.2f}%")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Executable
+585
@@ -0,0 +1,585 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Cossim debug : C++ omnivoice-tts vs Python OmniVoice on voice cloning.
|
||||
|
||||
Inputs (relative to CWD = tests/) :
|
||||
../examples/prompt.txt target text fed to both pipelines
|
||||
../examples/freeman.txt transcript of the cloning reference
|
||||
../examples/freeman.wav cloning reference audio, any rate, any layout
|
||||
|
||||
Both sides run with seed=42, F32 weights, language=English, no pre or post
|
||||
process. The reference audio is resampled to 24 kHz mono inside both
|
||||
pipelines.
|
||||
|
||||
Dumps land in cpp/ (C++) and python/ (Python) and are compared pair by
|
||||
pair. All paths are relative.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import struct
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
# Strict F32 matmul on both sides. NVIDIA_TF32_OVERRIDE=0 forces full FP32
|
||||
# mantissa in cuBLAS for both PyTorch and the C++ child via inheritance.
|
||||
# Must be set BEFORE torch imports so the cuBLAS handle reads it on init.
|
||||
os.environ["NVIDIA_TF32_OVERRIDE"] = "0"
|
||||
|
||||
import numpy as np
|
||||
import soundfile as sf
|
||||
import torch
|
||||
import torch.nn.functional as F
|
||||
import torchaudio
|
||||
|
||||
# Belt and suspenders : disable PyTorch's own TF32 toggles too. Some code
|
||||
# paths bypass NVIDIA_TF32_OVERRIDE through cudnn or torch internal flags.
|
||||
torch.backends.cuda.matmul.allow_tf32 = False
|
||||
torch.backends.cudnn.allow_tf32 = False
|
||||
|
||||
from omnivoice import OmniVoice
|
||||
from omnivoice.utils.common import fix_random_seed
|
||||
|
||||
BIN = "../build/omnivoice-tts"
|
||||
MODEL_LM_T = "../models/omnivoice-base-{q}.gguf"
|
||||
MODEL_CDC_T = "../models/omnivoice-tokenizer-{q}.gguf"
|
||||
CKPT = "../checkpoints/OmniVoice"
|
||||
DUMP_CPP = "cpp"
|
||||
DUMP_PT = "python"
|
||||
|
||||
def ensure_dir(path):
|
||||
os.makedirs(path, exist_ok=True)
|
||||
|
||||
def save_dump(path, data):
|
||||
if isinstance(data, torch.Tensor):
|
||||
data = data.detach().to(torch.float32).cpu().numpy()
|
||||
data = np.ascontiguousarray(data.astype(np.float32))
|
||||
shape = data.shape
|
||||
with open(path, "wb") as f:
|
||||
f.write(struct.pack("i", len(shape)))
|
||||
for s in shape:
|
||||
f.write(struct.pack("i", s))
|
||||
f.write(data.tobytes())
|
||||
|
||||
def load_dump(path):
|
||||
raw = np.fromfile(path, dtype=np.uint8)
|
||||
ndim = int(np.frombuffer(raw[0:4], dtype=np.int32)[0])
|
||||
shape = tuple(int(x) for x in np.frombuffer(raw[4:4 + 4 * ndim], dtype=np.int32))
|
||||
body = np.frombuffer(raw[4 + 4 * ndim:], dtype=np.float32)
|
||||
return body.reshape(shape), shape
|
||||
|
||||
def cos(a, b):
|
||||
a = a.astype(np.float64).ravel()
|
||||
b = b.astype(np.float64).ravel()
|
||||
n = min(len(a), len(b))
|
||||
a, b = a[:n], b[:n]
|
||||
# log_probs contains -inf at the audio_mask_id slot. Mask these symmetric
|
||||
# positions to 0 on both sides so they cancel out of the inner product.
|
||||
bad = ~(np.isfinite(a) & np.isfinite(b))
|
||||
if bad.any():
|
||||
a = np.where(bad, 0.0, a)
|
||||
b = np.where(bad, 0.0, b)
|
||||
d = float(np.linalg.norm(a) * np.linalg.norm(b))
|
||||
return float(np.dot(a, b) / d) if d > 1e-10 else 0.0
|
||||
|
||||
def stft_cos(a, b, win=2048, hop=512):
|
||||
# STFT magnitude cosine. Drops phase, so a constant time shift between
|
||||
# the two waveforms does not collapse the score. The plain cos() on
|
||||
# raw samples falls to ~0 the moment chunks land a few samples apart.
|
||||
a = a.astype(np.float64).ravel()
|
||||
b = b.astype(np.float64).ravel()
|
||||
n = min(len(a), len(b))
|
||||
a, b = a[:n], b[:n]
|
||||
window = np.hanning(win)
|
||||
frames = (n - win) // hop + 1
|
||||
if frames <= 0:
|
||||
return 0.0
|
||||
sa = np.zeros((frames, win // 2 + 1))
|
||||
sb = np.zeros((frames, win // 2 + 1))
|
||||
for i in range(frames):
|
||||
s = i * hop
|
||||
sa[i] = np.abs(np.fft.rfft(a[s:s + win] * window))
|
||||
sb[i] = np.abs(np.fft.rfft(b[s:s + win] * window))
|
||||
return cos(sa.ravel(), sb.ravel())
|
||||
|
||||
def install_hooks(model, dump_dir):
|
||||
# Capture the raw input_ids row k=0 for cond and uncond at the first
|
||||
# forward pass. Lets a divergence in prompt construction (style, text,
|
||||
# ref_audio tokens) localize before the LM runs.
|
||||
seen_embed = {"done": False}
|
||||
orig_prepare = model._prepare_embed_inputs
|
||||
def hooked_prepare(input_ids, audio_mask):
|
||||
out = orig_prepare(input_ids, audio_mask)
|
||||
if not seen_embed["done"] and input_ids.dim() == 3 and input_ids.shape[0] >= 2:
|
||||
cond_ids = input_ids[0, 0, :].detach().to(torch.float32).cpu().numpy()
|
||||
uncond_ids = input_ids[1, 0, :].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "prompt-cond-ids.bin"), cond_ids)
|
||||
save_dump(os.path.join(dump_dir, "prompt-uncond-ids.bin"), uncond_ids)
|
||||
seen_embed["done"] = True
|
||||
return out
|
||||
model._prepare_embed_inputs = hooked_prepare
|
||||
|
||||
seen = {"step0": False, "mg_tokens": False, "audio": False}
|
||||
orig_pred = model._predict_tokens_with_scoring
|
||||
def hooked_pred(c_logits, u_logits, gen_config):
|
||||
is_first = not seen["step0"]
|
||||
if is_first:
|
||||
c = c_logits.detach().to(torch.float32).cpu().numpy()
|
||||
u = u_logits.detach().to(torch.float32).cpu().numpy()
|
||||
if c.ndim == 4:
|
||||
c = c[0]
|
||||
if u.ndim == 4:
|
||||
u = u[0]
|
||||
save_dump(os.path.join(dump_dir, "lm-logits-step0-cond.bin"), c)
|
||||
save_dump(os.path.join(dump_dir, "lm-logits-step0-uncond.bin"), u)
|
||||
pred_tokens, scores = orig_pred(c_logits, u_logits, gen_config)
|
||||
if is_first:
|
||||
# Reconstruct log_probs with the same op sequence as the Python
|
||||
# function so the dump is the actual log_probs the model used.
|
||||
with torch.no_grad():
|
||||
if gen_config.guidance_scale != 0:
|
||||
cl = F.log_softmax(c_logits, dim=-1)
|
||||
ul = F.log_softmax(u_logits, dim=-1)
|
||||
lp = torch.log_softmax(cl + gen_config.guidance_scale * (cl - ul), dim=-1)
|
||||
else:
|
||||
lp = F.log_softmax(c_logits, dim=-1)
|
||||
lp[..., model.config.audio_mask_id] = -float("inf")
|
||||
lp_arr = lp.detach().to(torch.float32).cpu().numpy()
|
||||
if lp_arr.ndim == 4:
|
||||
lp_arr = lp_arr[0]
|
||||
save_dump(os.path.join(dump_dir, "mg-log-probs-step0.bin"), lp_arr)
|
||||
|
||||
pt_arr = pred_tokens.detach().to(torch.float32).cpu().numpy()
|
||||
if pt_arr.ndim == 3:
|
||||
pt_arr = pt_arr[0]
|
||||
save_dump(os.path.join(dump_dir, "mg-pred-tokens-step0.bin"), pt_arr)
|
||||
|
||||
sc_arr = scores.detach().to(torch.float32).cpu().numpy()
|
||||
if sc_arr.ndim == 3:
|
||||
sc_arr = sc_arr[0]
|
||||
save_dump(os.path.join(dump_dir, "mg-scores-step0.bin"), sc_arr)
|
||||
seen["step0"] = True
|
||||
return pred_tokens, scores
|
||||
model._predict_tokens_with_scoring = hooked_pred
|
||||
|
||||
orig_generate = model._generate_iterative
|
||||
def hooked_generate(task, gen_config):
|
||||
out = orig_generate(task, gen_config)
|
||||
if not seen["mg_tokens"]:
|
||||
save_dump(os.path.join(dump_dir, "mg-tokens.bin"), out[0])
|
||||
seen["mg_tokens"] = True
|
||||
return out
|
||||
model._generate_iterative = hooked_generate
|
||||
|
||||
orig_decode = model.audio_tokenizer.decode
|
||||
def hooked_decode(*args, **kwargs):
|
||||
out = orig_decode(*args, **kwargs)
|
||||
if seen["audio"]:
|
||||
return out
|
||||
wav = getattr(out, "audio_values", out)
|
||||
if isinstance(wav, torch.Tensor):
|
||||
arr = wav.detach().to(torch.float32).cpu().numpy()
|
||||
else:
|
||||
arr = np.asarray(wav, dtype=np.float32)
|
||||
if arr.ndim == 3:
|
||||
arr = arr[0, 0]
|
||||
elif arr.ndim == 2:
|
||||
arr = arr[0]
|
||||
save_dump(os.path.join(dump_dir, "output-audio.bin"), arr)
|
||||
seen["audio"] = True
|
||||
return out
|
||||
model.audio_tokenizer.decode = hooked_decode
|
||||
|
||||
# Capture the full reference audio code matrix [K, T_ref] before it goes
|
||||
# into the prompt, so a divergence in the codec encoder is visible at the
|
||||
# source rather than only via prompt-cond-ids row k=0.
|
||||
orig_encode = model.audio_tokenizer.encode
|
||||
seen_enc = {"done": False}
|
||||
def hooked_encode(*args, **kwargs):
|
||||
out = orig_encode(*args, **kwargs)
|
||||
if not seen_enc["done"]:
|
||||
codes = out.audio_codes if hasattr(out, "audio_codes") else out
|
||||
if isinstance(codes, torch.Tensor):
|
||||
arr = codes.detach().to(torch.float32).cpu().numpy()
|
||||
if arr.ndim == 3:
|
||||
arr = arr[0]
|
||||
save_dump(os.path.join(dump_dir, "ref-audio-codes.bin"), arr)
|
||||
seen_enc["done"] = True
|
||||
return out
|
||||
model.audio_tokenizer.encode = hooked_encode
|
||||
|
||||
# Capture the 16 kHz post resample audio and the HuBERT semantic features
|
||||
# at the boundary inside the audio tokenizer. Lets us bisect the codec
|
||||
# encoder : raw 24k -> resample 16k -> hubert -> sem_enc -> RVQ -> codes.
|
||||
orig_extract = model.audio_tokenizer._extract_semantic_features
|
||||
seen_sem = {"done": False}
|
||||
def hooked_extract(input_values):
|
||||
if not seen_sem["done"]:
|
||||
cfg = model.audio_tokenizer.config
|
||||
if cfg.sample_rate != cfg.semantic_sample_rate:
|
||||
v16 = torchaudio.functional.resample(input_values, cfg.sample_rate, cfg.semantic_sample_rate)
|
||||
else:
|
||||
v16 = input_values
|
||||
arr16 = v16[:, 0, :].squeeze(0).detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "ref-audio-16k.bin"), arr16)
|
||||
out = orig_extract(input_values)
|
||||
if not seen_sem["done"]:
|
||||
feat = out.squeeze(0).detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "ref-hubert-features.bin"), feat)
|
||||
seen_sem["done"] = True
|
||||
return out
|
||||
model.audio_tokenizer._extract_semantic_features = hooked_extract
|
||||
|
||||
# Bisect HuBERT internals. The C++ counterpart marks the same 9 stages as
|
||||
# graph outputs in pipeline_codec_hubert_features_test and dumps them post
|
||||
# compute. Names match exactly so the Python compare loop can pair them.
|
||||
sm = model.audio_tokenizer.semantic_model
|
||||
seen_hub = {"feat": False, "proj_ln": False, "proj": False, "init": False,
|
||||
"l0": False, "l5": False, "l7": False, "l9": False, "l11": False}
|
||||
|
||||
def hub_hook_feat(module, inputs, output):
|
||||
# HF feature_extractor returns (B, C=512, T_feat). Squeeze gives
|
||||
# (C, T_feat) which matches the C++ ne=(T, C) tensor whose linear
|
||||
# buffer is laid out slow-first as (C, T). No transpose needed.
|
||||
if seen_hub["feat"]:
|
||||
return
|
||||
arr = output[0].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "hubert-feat-extract.bin"), arr)
|
||||
seen_hub["feat"] = True
|
||||
sm.feature_extractor.register_forward_hook(hub_hook_feat)
|
||||
|
||||
# feature_projection internal split : layer_norm first, then projection
|
||||
# Linear. The C++ side dumps the post LN tensor before the Linear, so we
|
||||
# mirror with a forward hook on the LN sub-module.
|
||||
def hub_hook_proj_ln(module, inputs, output):
|
||||
if seen_hub["proj_ln"]:
|
||||
return
|
||||
out_t = output[0] if isinstance(output, tuple) else output
|
||||
arr = out_t[0].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "hubert-feat-proj-ln.bin"), arr)
|
||||
seen_hub["proj_ln"] = True
|
||||
sm.feature_projection.layer_norm.register_forward_hook(hub_hook_proj_ln)
|
||||
|
||||
def hub_hook_proj(module, inputs, output):
|
||||
# feature_projection returns (B, T_feat, 768) already T-first.
|
||||
if seen_hub["proj"]:
|
||||
return
|
||||
out_t = output[0] if isinstance(output, tuple) else output
|
||||
arr = out_t[0].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "hubert-feat-proj.bin"), arr)
|
||||
seen_hub["proj"] = True
|
||||
sm.feature_projection.register_forward_hook(hub_hook_proj)
|
||||
|
||||
# encoder.layer_norm is the LN that follows pos_conv_embed add. Its output
|
||||
# equals the C++ enc_init output : x + pos_conv(x) -> LN.
|
||||
def hub_hook_init(module, inputs, output):
|
||||
if seen_hub["init"]:
|
||||
return
|
||||
arr = output[0].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "hubert-enc-init.bin"), arr)
|
||||
seen_hub["init"] = True
|
||||
sm.encoder.layer_norm.register_forward_hook(hub_hook_init)
|
||||
|
||||
# Mid stack taps : layer 0, 5, 7, 9, 11. Mirror the C++ states[1], [6],
|
||||
# [8], [10], [12] indexing (states[0] is enc-init dumped above). l7 and
|
||||
# l9 give the resolution to localize the explosion seen between l5 and l11.
|
||||
def make_layer_tap(key, fname):
|
||||
def hook(module, inputs, output):
|
||||
if seen_hub[key]:
|
||||
return
|
||||
h = output[0] if isinstance(output, tuple) else output
|
||||
arr = h[0].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, fname), arr)
|
||||
seen_hub[key] = True
|
||||
return hook
|
||||
sm.encoder.layers[0].register_forward_hook(make_layer_tap("l0", "hubert-l0.bin"))
|
||||
sm.encoder.layers[5].register_forward_hook(make_layer_tap("l5", "hubert-l5.bin"))
|
||||
sm.encoder.layers[7].register_forward_hook(make_layer_tap("l7", "hubert-l7.bin"))
|
||||
sm.encoder.layers[9].register_forward_hook(make_layer_tap("l9", "hubert-l9.bin"))
|
||||
sm.encoder.layers[11].register_forward_hook(make_layer_tap("l11", "hubert-l11.bin"))
|
||||
|
||||
# Bisect the LM forward by dumping per layer hidden states at step 0.
|
||||
# The C++ pipeline dumps cond and uncond at layers 0, 6, 13, 20 and the
|
||||
# final norm. Mirror that exactly so a per layer max_abs_diff comparison
|
||||
# localizes where the drift starts.
|
||||
seen_lm = {"done": False}
|
||||
def make_layer_hook(name):
|
||||
def hook(module, inputs, output):
|
||||
if seen_lm["done"]:
|
||||
return
|
||||
h = output[0] if isinstance(output, tuple) else output
|
||||
if not isinstance(h, torch.Tensor) or h.ndim < 3:
|
||||
return
|
||||
cond_arr = h[0].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, f"lm-hidden-step0-cond-{name}.bin" if name else "lm-hidden-step0-cond.bin"), cond_arr)
|
||||
if h.shape[0] >= 2:
|
||||
unc_arr = h[1].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, f"lm-hidden-step0-uncond-{name}.bin" if name else "lm-hidden-step0-uncond.bin"), unc_arr)
|
||||
return hook
|
||||
lm_hook_handles = []
|
||||
for idx, name in [(0, "l0"), (1, "l1"), (2, "l2"), (3, "l3"), (4, "l4"), (5, "l5"), (6, "l6"),
|
||||
(13, "l13"), (14, "l14"), (15, "l15"), (16, "l16"), (17, "l17"), (18, "l18"),
|
||||
(19, "l19"), (20, "l20")]:
|
||||
if idx < len(model.llm.layers):
|
||||
lm_hook_handles.append(model.llm.layers[idx].register_forward_hook(make_layer_hook(name)))
|
||||
lm_hook_handles.append(model.llm.norm.register_forward_hook(make_layer_hook("")))
|
||||
# Trip seen_lm["done"] right after the first LM forward by hooking the
|
||||
# outermost forward via the existing _predict_tokens_with_scoring path
|
||||
# already gated on step0. We instead use an extra one-shot hook on the
|
||||
# last collected layer (norm) to flip the flag after its dump fires.
|
||||
def flip_done(module, inputs, output):
|
||||
seen_lm["done"] = True
|
||||
lm_hook_handles.append(model.llm.norm.register_forward_hook(flip_done))
|
||||
|
||||
# Per-layer hooks above already cover layers 0-6, 13-20 and final norm.
|
||||
# Add the embed boundary on top and a sub-module bisect inside layer 1 to
|
||||
# locate where the L0 -> L1 jump (15x in one layer) originates.
|
||||
orig_prepare_embed = model._prepare_embed_inputs
|
||||
def hooked_prepare_embed(input_ids, audio_mask):
|
||||
out = orig_prepare_embed(input_ids, audio_mask)
|
||||
if not seen_lm["done"]:
|
||||
arr = out.detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "lm-hidden-step0-cond-embed.bin"), arr[0])
|
||||
if arr.shape[0] >= 2:
|
||||
save_dump(os.path.join(dump_dir, "lm-hidden-step0-uncond-embed.bin"), arr[1])
|
||||
return out
|
||||
model._prepare_embed_inputs = hooked_prepare_embed
|
||||
|
||||
# Layer 1 sub-module bisect : dump after input_layernorm, after self_attn
|
||||
# (pre-residual), after post_attn_layernorm and after mlp (pre-residual).
|
||||
# Suffixes : -l1-norm1, -l1-attn, -l1-norm2, -l1-mlp.
|
||||
def make_sub_hook(suffix):
|
||||
def hook(module, inputs, output):
|
||||
if seen_lm["done"]:
|
||||
return
|
||||
h = output[0] if isinstance(output, tuple) else output
|
||||
if not isinstance(h, torch.Tensor) or h.ndim < 3:
|
||||
return
|
||||
arr = h.detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, f"lm-hidden-step0-cond-l1-{suffix}.bin"), arr[0])
|
||||
if arr.shape[0] >= 2:
|
||||
save_dump(os.path.join(dump_dir, f"lm-hidden-step0-uncond-l1-{suffix}.bin"), arr[1])
|
||||
return hook
|
||||
if len(model.llm.layers) > 1:
|
||||
l1 = model.llm.layers[1]
|
||||
lm_hook_handles.append(l1.input_layernorm.register_forward_hook(make_sub_hook("norm1")))
|
||||
lm_hook_handles.append(l1.self_attn.register_forward_hook(make_sub_hook("attn")))
|
||||
lm_hook_handles.append(l1.post_attention_layernorm.register_forward_hook(make_sub_hook("norm2")))
|
||||
lm_hook_handles.append(l1.mlp.register_forward_hook(make_sub_hook("mlp")))
|
||||
|
||||
def main():
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("--prompt", default="../examples/prompt.txt")
|
||||
ap.add_argument("--ref-text", default="../examples/freeman.txt")
|
||||
ap.add_argument("--ref-wav", default="../examples/freeman.wav")
|
||||
ap.add_argument("--seed", type=int, default=42)
|
||||
ap.add_argument("--lang", default="English")
|
||||
ap.add_argument("--duration", type=float, default=None)
|
||||
ap.add_argument("--quant", default="F32",
|
||||
help="quantization suffix for GGUF (default: F32, e.g. BF16, Q8_0, Q4_K_M)")
|
||||
ap.add_argument("--out-cpp", default="cpp/clone-cpp.wav")
|
||||
ap.add_argument("--out-pt", default="python/clone-python.wav")
|
||||
args = ap.parse_args()
|
||||
|
||||
model_lm = MODEL_LM_T.format(q=args.quant)
|
||||
model_cdc = MODEL_CDC_T.format(q=args.quant)
|
||||
for p in (model_lm, model_cdc):
|
||||
if not os.path.isfile(p):
|
||||
print(f"[Error] GGUF not found: {p}")
|
||||
sys.exit(1)
|
||||
print(f"[Quant] {args.quant} -> {model_lm} + {model_cdc}")
|
||||
|
||||
ensure_dir(DUMP_CPP)
|
||||
ensure_dir(DUMP_PT)
|
||||
os.makedirs(os.path.dirname(args.out_cpp) or ".", exist_ok=True)
|
||||
|
||||
with open(args.prompt, "r", encoding="utf-8") as f:
|
||||
text = f.read().strip()
|
||||
with open(args.ref_text, "r", encoding="utf-8") as f:
|
||||
ref_text = f.read().strip()
|
||||
print(f"[Input] Prompt: {len(text)} chars: {text[:60]}{'...' if len(text) > 60 else ''}")
|
||||
print(f"[Input] RefText: {len(ref_text)} chars: {ref_text[:60]}{'...' if len(ref_text) > 60 else ''}")
|
||||
print(f"[Input] RefWav: {args.ref_wav}")
|
||||
print(f"[Input] Language: {args.lang}")
|
||||
print(f"[Input] Seed: {args.seed}")
|
||||
|
||||
fix_random_seed(args.seed)
|
||||
device = "cuda" if torch.cuda.is_available() else "cpu"
|
||||
model = OmniVoice.from_pretrained(
|
||||
CKPT,
|
||||
torch_dtype=torch.float32,
|
||||
attn_implementation="eager",
|
||||
).to(device).eval()
|
||||
install_hooks(model, DUMP_PT)
|
||||
gen_kwargs = dict(
|
||||
text=text,
|
||||
language=args.lang,
|
||||
ref_text=ref_text,
|
||||
ref_audio=args.ref_wav,
|
||||
duration=args.duration,
|
||||
)
|
||||
audios = model.generate(**gen_kwargs)
|
||||
audio_pt = np.asarray(audios[0], dtype=np.float32)
|
||||
sf.write(args.out_pt, audio_pt, 24000, subtype="FLOAT")
|
||||
print(f"[Python] Audio: {audio_pt.shape[0]} samples {audio_pt.shape[0] / 24000:.2f}s -> {args.out_pt}")
|
||||
|
||||
del model
|
||||
torch.cuda.empty_cache()
|
||||
|
||||
# Strict F32 conformance: disable FlashAttention (eager attention) and
|
||||
# force strict F32 cuBLAS to match the Python side with allow_tf32=False
|
||||
# set at the top of this file. Both pipelines encode the reference audio
|
||||
# independently so every encoder stage gets compared frontally.
|
||||
cmd = [
|
||||
BIN,
|
||||
"--model", model_lm,
|
||||
"--codec", model_cdc,
|
||||
"--seed", str(args.seed),
|
||||
"--ref-wav", args.ref_wav,
|
||||
"--ref-text", args.ref_text,
|
||||
"--lang", args.lang,
|
||||
"--format", "wav32",
|
||||
"--dump", DUMP_CPP,
|
||||
"-o", args.out_cpp,
|
||||
"--no-fa",
|
||||
]
|
||||
if args.duration:
|
||||
cmd += ["--duration", str(args.duration)]
|
||||
print(f"[GGML] Cmd: {' '.join(cmd)}")
|
||||
r = subprocess.run(cmd, input=text, text=True)
|
||||
if r.returncode != 0:
|
||||
sys.exit(r.returncode)
|
||||
audio_cpp, sr = sf.read(args.out_cpp)
|
||||
if audio_cpp.ndim > 1:
|
||||
audio_cpp = audio_cpp[:, 0]
|
||||
audio_cpp = audio_cpp.astype(np.float32)
|
||||
print(f"[GGML] Audio: {audio_cpp.shape[0]} samples {sr} Hz {audio_cpp.shape[0] / sr:.2f}s -> {args.out_cpp}")
|
||||
|
||||
# Cossim in pipeline order: prompt-ids -> logits -> tokens -> audio.
|
||||
# Cond and uncond on the same line so a drift localizes to the originating
|
||||
# stage. PromptIDs split into zones (style, text, ref-audio, target) when
|
||||
# the lengths can be inferred from the prompt log.
|
||||
def pair(name):
|
||||
a, _ = load_dump(os.path.join(DUMP_CPP, name))
|
||||
b, _ = load_dump(os.path.join(DUMP_PT, name))
|
||||
return a, b
|
||||
|
||||
ca, cb = pair("prompt-cond-ids.bin")
|
||||
ua, ub = pair("prompt-uncond-ids.bin")
|
||||
n = min(ca.size, cb.size)
|
||||
cai = ca.astype(np.int64).ravel()[:n]
|
||||
cbi = cb.astype(np.int64).ravel()[:n]
|
||||
cdiffs = np.where(cai != cbi)[0]
|
||||
n2 = min(ua.size, ub.size)
|
||||
uai = ua.astype(np.int64).ravel()[:n2]
|
||||
ubi = ub.astype(np.int64).ravel()[:n2]
|
||||
udiffs = np.where(uai != ubi)[0]
|
||||
print(f"[Cossim] PromptIDs cond exact: {100.0 * (1 - cdiffs.size / max(n, 1)):.2f}% diffs: {cdiffs.size} uncond exact: {100.0 * (1 - udiffs.size / max(n2, 1)):.2f}% diffs: {udiffs.size}")
|
||||
if cdiffs.size > 0:
|
||||
print(f"[Cossim] PromptIDs cond first diff range: s={cdiffs[0]}..{cdiffs[-1]}")
|
||||
if udiffs.size > 0:
|
||||
print(f"[Cossim] PromptIDs uncond first diff range: s={udiffs[0]}..{udiffs[-1]}")
|
||||
|
||||
def maxabs(a, b):
|
||||
a = a.astype(np.float64).ravel()
|
||||
b = b.astype(np.float64).ravel()
|
||||
n = min(len(a), len(b))
|
||||
if not n:
|
||||
return 0.0
|
||||
a, b = a[:n], b[:n]
|
||||
# log_probs has -inf at the audio_mask_id slot on both sides. Drop
|
||||
# positions that are non finite on either side so the subtract is safe.
|
||||
keep = np.isfinite(a) & np.isfinite(b)
|
||||
if not keep.all():
|
||||
a = a[keep]
|
||||
b = b[keep]
|
||||
return float(np.max(np.abs(a - b))) if a.size else 0.0
|
||||
|
||||
ra, rb = pair("ref-audio-16k.bin")
|
||||
print(f"[Cossim] RefAudio16k max_abs_diff: {maxabs(ra, rb):.3e} cossim: {cos(ra, rb):.6f} samples: {min(ra.size, rb.size)}")
|
||||
|
||||
fa, fb = pair("ref-hubert-features.bin")
|
||||
print(f"[Cossim] HuBERT-features cossim: {cos(fa, fb):.6f} max_abs_diff: {maxabs(fa, fb):.3e} shape_cpp: {fa.shape} shape_pt: {fb.shape}")
|
||||
|
||||
# HuBERT bisect taps in pipeline order : feat-extract (post 7 conv1d) ->
|
||||
# feat-proj-ln (post LN, pre Linear) -> feat-proj (post 512 -> 768 Linear)
|
||||
# -> enc-init (post pos_conv add + LN) -> l0 -> l5 -> l7 -> l9 -> l11. The
|
||||
# downsample 2x and the 13-state mean that follow are already covered by
|
||||
# HuBERT-features above.
|
||||
for tap in ["hubert-feat-extract", "hubert-feat-proj-ln", "hubert-feat-proj",
|
||||
"hubert-enc-init", "hubert-l0", "hubert-l5", "hubert-l7", "hubert-l9", "hubert-l11"]:
|
||||
ta, tb = pair(tap + ".bin")
|
||||
print(f"[Cossim] {tap} cossim: {cos(ta, tb):.6f} max_abs_diff: {maxabs(ta, tb):.3e} shape_cpp: {ta.shape} shape_pt: {tb.shape}")
|
||||
|
||||
ka, kb = pair("ref-audio-codes.bin")
|
||||
n_k = min(ka.size, kb.size)
|
||||
kai = ka.astype(np.int64).ravel()[:n_k]
|
||||
kbi = kb.astype(np.int64).ravel()[:n_k]
|
||||
kdiffs = np.where(kai != kbi)[0]
|
||||
print(f"[Cossim] RefAudioCodes exact: {100.0 * (1 - kdiffs.size / max(n_k, 1)):.2f}% diffs: {kdiffs.size} shape_cpp: {ka.shape} shape_pt: {kb.shape}")
|
||||
if ka.ndim == 2 and kb.ndim == 2 and ka.shape == kb.shape:
|
||||
per_k = []
|
||||
for k in range(ka.shape[0]):
|
||||
d = int(np.sum(ka[k].astype(np.int64) != kb[k].astype(np.int64)))
|
||||
per_k.append(f"k{k}={100.0 * (1 - d / ka.shape[1]):.1f}%")
|
||||
print(f"[Cossim] RefAudioCodes per-codebook: {' '.join(per_k)}")
|
||||
|
||||
# Per layer LM hidden state drift bisect. C++ dumps cond and uncond at
|
||||
# 4 mid layers and the final norm. Pairs only print if both files exist.
|
||||
for layer_name, label in [("l0", "L0"),
|
||||
("l1-norm1", "L1.norm1"), ("l1-attn", "L1.attn"),
|
||||
("l1-norm2", "L1.norm2"), ("l1-mlp", "L1.mlp"),
|
||||
("l1", "L1"), ("l2", "L2"), ("l3", "L3"), ("l4", "L4"), ("l5", "L5"), ("l6", "L6"),
|
||||
("l13", "L13"), ("l14", "L14"), ("l15", "L15"), ("l16", "L16"), ("l17", "L17"), ("l18", "L18"),
|
||||
("l19", "L19"), ("l20", "L20"), ("", "Lf")]:
|
||||
suffix = f"-{layer_name}" if layer_name else ""
|
||||
cn = f"lm-hidden-step0-cond{suffix}.bin"
|
||||
un = f"lm-hidden-step0-uncond{suffix}.bin"
|
||||
try:
|
||||
ca, cb = pair(cn)
|
||||
ua, ub = pair(un)
|
||||
except FileNotFoundError:
|
||||
continue
|
||||
# Trim cpp shape (which is c_len) into the larger pt shape (max_c_len)
|
||||
nc = min(ca.size, cb.size)
|
||||
nu = min(ua.size, ub.size)
|
||||
cad = ca.ravel()[:nc].astype(np.float64)
|
||||
cbd = cb.ravel()[:nc].astype(np.float64)
|
||||
uad = ua.ravel()[:nu].astype(np.float64)
|
||||
ubd = ub.ravel()[:nu].astype(np.float64)
|
||||
max_c = float(np.max(np.abs(cad - cbd))) if nc else 0.0
|
||||
max_u = float(np.max(np.abs(uad - ubd))) if nu else 0.0
|
||||
cos_c = cos(cad, cbd)
|
||||
cos_u = cos(uad, ubd)
|
||||
print(f"[Cossim] {label} hidden cond: cos={cos_c:.6f} max_abs={max_c:.3e} uncond: cos={cos_u:.6f} max_abs={max_u:.3e}")
|
||||
|
||||
ca, cb = pair("lm-logits-step0-cond.bin")
|
||||
ua, ub = pair("lm-logits-step0-uncond.bin")
|
||||
print(f"[Cossim] Logits cond: {cos(ca, cb):.6f} uncond: {cos(ua, ub):.6f}")
|
||||
|
||||
la, lb = pair("mg-log-probs-step0.bin")
|
||||
print(f"[Cossim] Step0 log_probs cossim: {cos(la, lb):.6f} max_abs_diff: {maxabs(la, lb):.3e}")
|
||||
|
||||
pa, pb = pair("mg-pred-tokens-step0.bin")
|
||||
n_p = min(pa.size, pb.size)
|
||||
pai = pa.astype(np.int64).ravel()[:n_p]
|
||||
pbi = pb.astype(np.int64).ravel()[:n_p]
|
||||
pdiffs = np.where(pai != pbi)[0]
|
||||
print(f"[Cossim] Step0 pred_tokens exact: {100.0 * (1 - pdiffs.size / max(n_p, 1)):.2f}% diffs: {pdiffs.size}/{n_p}")
|
||||
|
||||
sa, sb = pair("mg-scores-step0.bin")
|
||||
print(f"[Cossim] Step0 scores cossim: {cos(sa, sb):.6f} max_abs_diff: {maxabs(sa, sb):.3e}")
|
||||
|
||||
ta, tb = pair("mg-tokens.bin")
|
||||
n = min(ta.size, tb.size)
|
||||
ai = ta.astype(np.int64).ravel()[:n]
|
||||
bi = tb.astype(np.int64).ravel()[:n]
|
||||
print(f"[Cossim] Tokens: {cos(ta, tb):.6f} exact: {100.0 * float(np.mean(ai == bi)):.2f}%")
|
||||
|
||||
aa, ab = pair("output-audio.bin")
|
||||
print(f"[Cossim] Audio: {cos(aa, ab):.6f}")
|
||||
|
||||
n = min(audio_cpp.size, audio_pt.size)
|
||||
print(f"[Cossim] WAV stft_cos: {stft_cos(audio_cpp[:n], audio_pt[:n]):.6f} samples: {n}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
for backend in CUDA0 Vulkan0 CPU; do
|
||||
for quant in F32 BF16 Q8_0 Q4_K_M; do
|
||||
GGML_BACKEND=$backend ./debug-clone-cossim.py --quant $quant \
|
||||
2>&1 | tee clone-${backend}-${quant}.log
|
||||
done
|
||||
done
|
||||
Executable
+408
@@ -0,0 +1,408 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Cossim debug : C++ omnivoice-tts vs Python OmniVoice on voice design.
|
||||
|
||||
Inputs (relative to CWD = tests/) :
|
||||
../examples/prompt.txt target text fed to both pipelines
|
||||
|
||||
Both sides run with :
|
||||
instruct=male, language=English, seed=42, F32 weights, no pre or post
|
||||
process. Defaults match : num_step=32, guidance_scale=2.0, t_shift=0.1,
|
||||
layer_penalty_factor=5.0, position_temperature=5.0, class_temperature=0.0.
|
||||
|
||||
Dumps land in cpp/ (C++) and python/ (Python). The script compares each
|
||||
matching .bin pair via cosine similarity over the f32 payload, plus exact
|
||||
match rate for tensors that originated as int (mg-tokens). All paths are
|
||||
relative, no absolute paths anywhere.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import struct
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
# Strict F32 matmul on both sides. NVIDIA_TF32_OVERRIDE=0 forces full FP32
|
||||
# mantissa in cuBLAS for both PyTorch and the C++ child via inheritance.
|
||||
# Must be set BEFORE torch imports so the cuBLAS handle reads it on init.
|
||||
os.environ["NVIDIA_TF32_OVERRIDE"] = "0"
|
||||
|
||||
import numpy as np
|
||||
import soundfile as sf
|
||||
import torch
|
||||
|
||||
# Belt and suspenders : disable PyTorch's own TF32 toggles too. Some code
|
||||
# paths bypass NVIDIA_TF32_OVERRIDE through cudnn or torch internal flags.
|
||||
torch.backends.cuda.matmul.allow_tf32 = False
|
||||
torch.backends.cudnn.allow_tf32 = False
|
||||
torch.backends.cuda.matmul.allow_fp16_reduced_precision_reduction = False
|
||||
torch.backends.cuda.matmul.allow_bf16_reduced_precision_reduction = False
|
||||
torch.set_float32_matmul_precision("highest")
|
||||
|
||||
from omnivoice import OmniVoice
|
||||
from omnivoice.utils.common import fix_random_seed
|
||||
|
||||
BIN = "../build/omnivoice-tts"
|
||||
MODEL_LM_T = "../models/omnivoice-base-{q}.gguf"
|
||||
MODEL_CDC_T = "../models/omnivoice-tokenizer-{q}.gguf"
|
||||
CKPT = "../checkpoints/OmniVoice"
|
||||
DUMP_CPP = "cpp"
|
||||
DUMP_PT = "python"
|
||||
|
||||
def ensure_dir(path):
|
||||
os.makedirs(path, exist_ok=True)
|
||||
|
||||
def save_dump(path, data):
|
||||
"""Write a tensor in the C++ debug.h format :
|
||||
[ndim:i32] [shape:i32 x ndim] [data:f32 x numel]
|
||||
"""
|
||||
if isinstance(data, torch.Tensor):
|
||||
data = data.detach().to(torch.float32).cpu().numpy()
|
||||
data = np.ascontiguousarray(data.astype(np.float32))
|
||||
shape = data.shape
|
||||
with open(path, "wb") as f:
|
||||
f.write(struct.pack("i", len(shape)))
|
||||
for s in shape:
|
||||
f.write(struct.pack("i", s))
|
||||
f.write(data.tobytes())
|
||||
|
||||
def load_dump(path):
|
||||
"""Inverse of save_dump : returns (data:f32 numpy, shape:tuple)."""
|
||||
raw = np.fromfile(path, dtype=np.uint8)
|
||||
ndim = int(np.frombuffer(raw[0:4], dtype=np.int32)[0])
|
||||
shape = tuple(int(x) for x in np.frombuffer(raw[4:4 + 4 * ndim], dtype=np.int32))
|
||||
body = np.frombuffer(raw[4 + 4 * ndim:], dtype=np.float32)
|
||||
return body.reshape(shape), shape
|
||||
|
||||
def cos(a, b):
|
||||
a = a.astype(np.float64).ravel()
|
||||
b = b.astype(np.float64).ravel()
|
||||
n = min(len(a), len(b))
|
||||
a, b = a[:n], b[:n]
|
||||
d = float(np.linalg.norm(a) * np.linalg.norm(b))
|
||||
return float(np.dot(a, b) / d) if d > 1e-10 else 0.0
|
||||
|
||||
def stft_cos(a, b, win=2048, hop=512):
|
||||
# STFT magnitude cosine. Drops phase, so a constant time shift between
|
||||
# the two waveforms does not collapse the score. The plain cos() on
|
||||
# raw samples falls to ~0 the moment chunks land a few samples apart.
|
||||
a = a.astype(np.float64).ravel()
|
||||
b = b.astype(np.float64).ravel()
|
||||
n = min(len(a), len(b))
|
||||
a, b = a[:n], b[:n]
|
||||
window = np.hanning(win)
|
||||
frames = (n - win) // hop + 1
|
||||
if frames <= 0:
|
||||
return 0.0
|
||||
sa = np.zeros((frames, win // 2 + 1))
|
||||
sb = np.zeros((frames, win // 2 + 1))
|
||||
for i in range(frames):
|
||||
s = i * hop
|
||||
sa[i] = np.abs(np.fft.rfft(a[s:s + win] * window))
|
||||
sb[i] = np.abs(np.fft.rfft(b[s:s + win] * window))
|
||||
return cos(sa.ravel(), sb.ravel())
|
||||
|
||||
def install_hooks(model, dump_dir):
|
||||
# First call to _prepare_embed_inputs at step 0 returns the input embedding
|
||||
# right before layer 0 of the LLM, mirroring the C++ inputs_embeds dump.
|
||||
# Also captures the raw input_ids row k=0 for cond and uncond, so any
|
||||
# token-level divergence localizes upstream of the embed lookup.
|
||||
seen_embed = {"done": False}
|
||||
orig_prepare = model._prepare_embed_inputs
|
||||
def hooked_prepare(input_ids, audio_mask):
|
||||
out = orig_prepare(input_ids, audio_mask)
|
||||
if not seen_embed["done"] and out.dim() == 3 and out.shape[0] >= 2:
|
||||
cond = out[0].detach().to(torch.float32).cpu().numpy()
|
||||
uncond = out[1].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "lm-hidden-step0-cond-embed.bin"), cond)
|
||||
save_dump(os.path.join(dump_dir, "lm-hidden-step0-uncond-embed.bin"), uncond)
|
||||
# Style and text tokens duplicate across all K codebooks so k=0
|
||||
# carries the full sequence for diagnostic. Cast to f32 keeps the
|
||||
# debug.h binary format identical on both sides.
|
||||
cond_ids = input_ids[0, 0, :].detach().to(torch.float32).cpu().numpy()
|
||||
uncond_ids = input_ids[1, 0, :].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "prompt-cond-ids.bin"), cond_ids)
|
||||
save_dump(os.path.join(dump_dir, "prompt-uncond-ids.bin"), uncond_ids)
|
||||
seen_embed["done"] = True
|
||||
return out
|
||||
model._prepare_embed_inputs = hooked_prepare
|
||||
|
||||
# Bisection : dump cond and uncond hidden states after a few layers so a
|
||||
# mismatch can be localized within the 28 layer Qwen3 stack.
|
||||
bisect_layers = [0, 6, 13, 20]
|
||||
seen_layers = {idx: False for idx in bisect_layers}
|
||||
def make_layer_hook(layer_idx):
|
||||
def hook(module, inputs, output):
|
||||
if seen_layers[layer_idx]:
|
||||
return
|
||||
h = output[0] if isinstance(output, tuple) else output
|
||||
if h.dim() == 3 and h.shape[0] >= 2:
|
||||
cond = h[0].detach().to(torch.float32).cpu().numpy()
|
||||
uncond = h[1].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, f"lm-hidden-step0-cond-l{layer_idx}.bin"), cond)
|
||||
save_dump(os.path.join(dump_dir, f"lm-hidden-step0-uncond-l{layer_idx}.bin"), uncond)
|
||||
seen_layers[layer_idx] = True
|
||||
return hook
|
||||
for layer_idx in bisect_layers:
|
||||
model.llm.layers[layer_idx].register_forward_hook(make_layer_hook(layer_idx))
|
||||
|
||||
# First call to audio_heads corresponds to step 0 of the MaskGIT loop.
|
||||
# The input to audio_heads is the final hidden state, shape [B, S, D],
|
||||
# mirroring what the C++ side reads back via dump_hidden_dir before the
|
||||
# lm_head matmul. We dump cond (b=0) and uncond (b=1) separately.
|
||||
seen_hidden = {"done": False}
|
||||
def pre_audio_heads(module, inputs):
|
||||
if not seen_hidden["done"]:
|
||||
h = inputs[0]
|
||||
if h.dim() == 3 and h.shape[0] >= 2:
|
||||
cond = h[0].detach().to(torch.float32).cpu().numpy()
|
||||
uncond = h[1].detach().to(torch.float32).cpu().numpy()
|
||||
save_dump(os.path.join(dump_dir, "lm-hidden-step0-cond.bin"), cond)
|
||||
save_dump(os.path.join(dump_dir, "lm-hidden-step0-uncond.bin"), uncond)
|
||||
seen_hidden["done"] = True
|
||||
model.audio_heads.register_forward_pre_hook(pre_audio_heads)
|
||||
|
||||
# First call to _predict_tokens_with_scoring corresponds to step 0 of the
|
||||
# MaskGIT loop. Capture cond and uncond logits in [K, T, V] layout (squeeze
|
||||
# the batch axis to match the C++ dump shape). Replicate the predict math
|
||||
# locally so log_probs / pred_tokens / scores can all be dumped from a
|
||||
# single source of truth on the Python side.
|
||||
seen = {"step0": False, "mg_tokens": False, "audio": False}
|
||||
orig_pred = model._predict_tokens_with_scoring
|
||||
def hooked_pred(c_logits, u_logits, gen_config):
|
||||
pred_tokens, scores = orig_pred(c_logits, u_logits, gen_config)
|
||||
if not seen["step0"]:
|
||||
if gen_config.guidance_scale != 0:
|
||||
c_lp = torch.nn.functional.log_softmax(c_logits, dim=-1)
|
||||
u_lp = torch.nn.functional.log_softmax(u_logits, dim=-1)
|
||||
log_probs = torch.log_softmax(
|
||||
c_lp + gen_config.guidance_scale * (c_lp - u_lp), dim=-1)
|
||||
else:
|
||||
log_probs = torch.nn.functional.log_softmax(c_logits, dim=-1)
|
||||
log_probs = log_probs.clone()
|
||||
log_probs[..., model.config.audio_mask_id] = float("-inf")
|
||||
|
||||
c = c_logits.detach().to(torch.float32).cpu().numpy()
|
||||
u = u_logits.detach().to(torch.float32).cpu().numpy()
|
||||
if c.ndim == 4:
|
||||
c = c[0]
|
||||
if u.ndim == 4:
|
||||
u = u[0]
|
||||
save_dump(os.path.join(dump_dir, "lm-logits-step0-cond.bin"), c)
|
||||
save_dump(os.path.join(dump_dir, "lm-logits-step0-uncond.bin"), u)
|
||||
|
||||
lp_arr = log_probs.detach().to(torch.float32).cpu().numpy()
|
||||
if lp_arr.ndim == 4:
|
||||
lp_arr = lp_arr[0]
|
||||
save_dump(os.path.join(dump_dir, "mg-log-probs-step0.bin"), lp_arr)
|
||||
|
||||
pt_arr = pred_tokens.detach().to(torch.float32).cpu().numpy()
|
||||
sc_arr = scores.detach().to(torch.float32).cpu().numpy()
|
||||
if pt_arr.ndim == 3:
|
||||
pt_arr = pt_arr[0]
|
||||
if sc_arr.ndim == 3:
|
||||
sc_arr = sc_arr[0]
|
||||
save_dump(os.path.join(dump_dir, "mg-pred-tokens-step0.bin"), pt_arr)
|
||||
save_dump(os.path.join(dump_dir, "mg-scores-step0.bin"), sc_arr)
|
||||
seen["step0"] = True
|
||||
return pred_tokens, scores
|
||||
model._predict_tokens_with_scoring = hooked_pred
|
||||
|
||||
orig_generate = model._generate_iterative
|
||||
def hooked_generate(task, gen_config):
|
||||
out = orig_generate(task, gen_config)
|
||||
# out is a list of (K, T_i) long tensors, one per batch item.
|
||||
# In chunked mode this hook fires once per chunk; only the first
|
||||
# call mirrors the chunk 0 dump on the C++ side.
|
||||
if not seen["mg_tokens"]:
|
||||
save_dump(os.path.join(dump_dir, "mg-tokens.bin"), out[0])
|
||||
seen["mg_tokens"] = True
|
||||
return out
|
||||
model._generate_iterative = hooked_generate
|
||||
|
||||
orig_decode = model.audio_tokenizer.decode
|
||||
def hooked_decode(*args, **kwargs):
|
||||
out = orig_decode(*args, **kwargs)
|
||||
# The audio tokenizer returns either a tensor or a wrapper holding
|
||||
# audio_values shape [B, C, N]. Unwrap and dump the first item mono.
|
||||
# Same first-chunk guard as the mg-tokens hook above.
|
||||
if seen["audio"]:
|
||||
return out
|
||||
wav = getattr(out, "audio_values", out)
|
||||
if isinstance(wav, torch.Tensor):
|
||||
arr = wav.detach().to(torch.float32).cpu().numpy()
|
||||
else:
|
||||
arr = np.asarray(wav, dtype=np.float32)
|
||||
if arr.ndim == 3:
|
||||
arr = arr[0, 0]
|
||||
elif arr.ndim == 2:
|
||||
arr = arr[0]
|
||||
save_dump(os.path.join(dump_dir, "output-audio.bin"), arr)
|
||||
seen["audio"] = True
|
||||
return out
|
||||
model.audio_tokenizer.decode = hooked_decode
|
||||
|
||||
def main():
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("--prompt", default="../examples/prompt.txt")
|
||||
ap.add_argument("--seed", type=int, default=42)
|
||||
ap.add_argument("--instruct", default="male, young adult, moderate pitch")
|
||||
ap.add_argument("--lang", default="English")
|
||||
ap.add_argument("--duration", type=float, default=None)
|
||||
ap.add_argument("--quant", default="F32",
|
||||
help="quantization suffix for GGUF (default: F32, e.g. BF16, Q8_0, Q4_K_M)")
|
||||
ap.add_argument("--out-cpp", default="cpp/tts-cpp.wav")
|
||||
ap.add_argument("--out-pt", default="python/tts-python.wav")
|
||||
args = ap.parse_args()
|
||||
|
||||
model_lm = MODEL_LM_T.format(q=args.quant)
|
||||
model_cdc = MODEL_CDC_T.format(q=args.quant)
|
||||
for p in (model_lm, model_cdc):
|
||||
if not os.path.isfile(p):
|
||||
print(f"[Error] GGUF not found: {p}")
|
||||
sys.exit(1)
|
||||
print(f"[Quant] {args.quant} -> {model_lm} + {model_cdc}")
|
||||
|
||||
ensure_dir(DUMP_CPP)
|
||||
ensure_dir(DUMP_PT)
|
||||
os.makedirs(os.path.dirname(args.out_cpp) or ".", exist_ok=True)
|
||||
|
||||
with open(args.prompt, "r", encoding="utf-8") as f:
|
||||
text = f.read().strip()
|
||||
print(f"[Input] Prompt: {len(text)} chars: {text[:60]}{'...' if len(text) > 60 else ''}")
|
||||
print(f"[Input] Instruct: {args.instruct}")
|
||||
print(f"[Input] Language: {args.lang}")
|
||||
print(f"[Input] Seed: {args.seed}")
|
||||
|
||||
# Python reference path : F32, voice design male, no pre or post process.
|
||||
fix_random_seed(args.seed)
|
||||
device = "cuda" if torch.cuda.is_available() else "cpu"
|
||||
model = OmniVoice.from_pretrained(
|
||||
CKPT,
|
||||
torch_dtype=torch.float32,
|
||||
attn_implementation="eager",
|
||||
).to(device).eval()
|
||||
install_hooks(model, DUMP_PT)
|
||||
gen_kwargs = dict(
|
||||
text=text,
|
||||
language=args.lang,
|
||||
instruct=args.instruct,
|
||||
duration=args.duration,
|
||||
)
|
||||
audios = model.generate(**gen_kwargs)
|
||||
audio_pt = np.asarray(audios[0], dtype=np.float32)
|
||||
sf.write(args.out_pt, audio_pt, 24000, subtype="FLOAT")
|
||||
print(f"[Python] Audio: {audio_pt.shape[0]} samples {audio_pt.shape[0] / 24000:.2f}s -> {args.out_pt}")
|
||||
|
||||
# Free the GPU before launching the C++ binary so it has room to load
|
||||
# the F32 GGUFs without fighting for VRAM.
|
||||
del model
|
||||
torch.cuda.empty_cache()
|
||||
|
||||
# C++ path : same text, same instruct, same seed, F32 GGUF weights,
|
||||
# dumps under cpp/.
|
||||
cmd = [
|
||||
BIN,
|
||||
"--model", model_lm,
|
||||
"--codec", model_cdc,
|
||||
"--seed", str(args.seed),
|
||||
"--instruct", args.instruct,
|
||||
"--lang", args.lang,
|
||||
"--format", "wav32",
|
||||
"--dump", DUMP_CPP,
|
||||
"--no-fa",
|
||||
"-o", args.out_cpp,
|
||||
]
|
||||
if args.duration:
|
||||
cmd += ["--duration", str(args.duration)]
|
||||
print(f"[GGML] Cmd: {' '.join(cmd)}")
|
||||
r = subprocess.run(cmd, input=text, text=True)
|
||||
if r.returncode != 0:
|
||||
sys.exit(r.returncode)
|
||||
audio_cpp, sr = sf.read(args.out_cpp)
|
||||
if audio_cpp.ndim > 1:
|
||||
audio_cpp = audio_cpp[:, 0]
|
||||
audio_cpp = audio_cpp.astype(np.float32)
|
||||
print(f"[GGML] Audio: {audio_cpp.shape[0]} samples {sr} Hz {audio_cpp.shape[0] / sr:.2f}s -> {args.out_cpp}")
|
||||
|
||||
# Cossim in pipeline order: prompt-ids -> embed -> l0 -> l6 -> l13 -> l20
|
||||
# -> final -> logits -> tokens -> audio. Cond and uncond on the same line
|
||||
# so a drift localizes immediately to the originating stage.
|
||||
def pair(name):
|
||||
a, _ = load_dump(os.path.join(DUMP_CPP, name))
|
||||
b, _ = load_dump(os.path.join(DUMP_PT, name))
|
||||
return a, b
|
||||
|
||||
def ids_exact(a, b):
|
||||
n = min(a.size, b.size)
|
||||
ai = a.astype(np.int64).ravel()[:n]
|
||||
bi = b.astype(np.int64).ravel()[:n]
|
||||
diffs = np.where(ai != bi)[0]
|
||||
return 100.0 * float(np.mean(ai == bi)), diffs, ai, bi
|
||||
|
||||
ca, cb = pair("prompt-cond-ids.bin")
|
||||
ua, ub = pair("prompt-uncond-ids.bin")
|
||||
cm, cd, cai, cbi = ids_exact(ca, cb)
|
||||
um, ud, uai, ubi = ids_exact(ua, ub)
|
||||
print(f"[Cossim] PromptIDs cond exact: {cm:.2f}% uncond exact: {um:.2f}%")
|
||||
for s in cd[:20]:
|
||||
print(f"[Cossim] PromptIDs cond diff at s={s}: ggml={cai[s]} python={cbi[s]}")
|
||||
for s in ud[:20]:
|
||||
print(f"[Cossim] PromptIDs uncond diff at s={s}: ggml={uai[s]} python={ubi[s]}")
|
||||
|
||||
stages = [
|
||||
("Embed", "lm-hidden-step0-{}-embed.bin"),
|
||||
("L0", "lm-hidden-step0-{}-l0.bin"),
|
||||
("L6", "lm-hidden-step0-{}-l6.bin"),
|
||||
("L13", "lm-hidden-step0-{}-l13.bin"),
|
||||
("L20", "lm-hidden-step0-{}-l20.bin"),
|
||||
("Final", "lm-hidden-step0-{}.bin"),
|
||||
("Logits", "lm-logits-step0-{}.bin"),
|
||||
]
|
||||
def metric(a, b):
|
||||
n = min(a.size, b.size)
|
||||
af = a.astype(np.float64).ravel()[:n]
|
||||
bf = b.astype(np.float64).ravel()[:n]
|
||||
d = np.abs(af - bf)
|
||||
nrm_a = float(np.linalg.norm(af))
|
||||
nrm_b = float(np.linalg.norm(bf))
|
||||
c = float(np.dot(af, bf) / (nrm_a * nrm_b)) if nrm_a > 1e-10 and nrm_b > 1e-10 else 0.0
|
||||
return c, float(d.max()), float(d.mean())
|
||||
|
||||
for label, fmt in stages:
|
||||
ca, cb = pair(fmt.format("cond"))
|
||||
ua, ub = pair(fmt.format("uncond"))
|
||||
cc, cmax, cmean = metric(ca, cb)
|
||||
uc, umax, umean = metric(ua, ub)
|
||||
print(f"[Cossim] {label} cond cos: {cc:.6f} max: {cmax:.4e} mean: {cmean:.4e} uncond cos: {uc:.6f} max: {umax:.4e} mean: {umean:.4e}")
|
||||
|
||||
pa, pb = pair("mg-pred-tokens-step0.bin")
|
||||
n = min(pa.size, pb.size)
|
||||
ai = pa.astype(np.int64).ravel()[:n]
|
||||
bi = pb.astype(np.int64).ravel()[:n]
|
||||
diffs = np.where(ai != bi)[0]
|
||||
print(f"[Cossim] Step0Tokens exact: {100.0 * float((ai == bi).mean()):.2f}% diffs: {diffs.size}")
|
||||
|
||||
sa, sb = pair("mg-scores-step0.bin")
|
||||
sd = np.abs(sa - sb)
|
||||
print(f"[Cossim] Step0Scores cos: {cos(sa, sb):.6f} max_abs_diff: {sd.max():.6f} mean_abs_diff: {sd.mean():.6f}")
|
||||
|
||||
la, lb = pair("mg-log-probs-step0.bin")
|
||||
finite = np.isfinite(la) & np.isfinite(lb)
|
||||
laf = la[finite]; lbf = lb[finite]
|
||||
ld = np.abs(laf - lbf)
|
||||
print(f"[Cossim] Step0LogProbs cos: {cos(laf, lbf):.6f} max_abs_diff: {ld.max():.6f} mean_abs_diff: {ld.mean():.6f}")
|
||||
|
||||
ta, tb = pair("mg-tokens.bin")
|
||||
n = min(ta.size, tb.size)
|
||||
ai = ta.astype(np.int64).ravel()[:n]
|
||||
bi = tb.astype(np.int64).ravel()[:n]
|
||||
print(f"[Cossim] Tokens: {cos(ta, tb):.6f} exact: {100.0 * float(np.mean(ai == bi)):.2f}%")
|
||||
|
||||
aa, ab = pair("output-audio.bin")
|
||||
print(f"[Cossim] Audio: {cos(aa, ab):.6f}")
|
||||
|
||||
n = min(audio_cpp.size, audio_pt.size)
|
||||
print(f"[Cossim] WAV stft_cos: {stft_cos(audio_cpp[:n], audio_pt[:n]):.6f} samples: {n}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
for backend in CUDA0 Vulkan0 CPU; do
|
||||
for quant in F32 BF16 Q8_0 Q4_K_M; do
|
||||
GGML_BACKEND=$backend ./debug-tts-cossim.py --quant $quant \
|
||||
2>&1 | tee tts-${backend}-${quant}.log
|
||||
done
|
||||
done
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] BF16 -> ../models/omnivoice-base-BF16.gguf + ../models/omnivoice-tokenizer-BF16.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 30882.55it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 30792.35it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-BF16.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 1168.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-BF16.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.8 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 162.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032471 -0.045654 -0.006836 0.006775
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.144248 0.027396 -0.176603 -3.208308
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.495967 0.133762 -0.131677 -4.272298
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.458628 0.356845 -0.100340 -4.202172
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.359223 0.436677 0.106131 -3.920373
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.091024 0.634269 0.160284 -3.909296
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.256848 0.620366 0.113132 -3.735570
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.518882 0.511038 -0.046358 -3.383966
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.237693 1.378095 0.334130 -4.866626
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.160963 1.818868 0.307489 -4.480531
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.758368 2.436570 0.464665 -4.813733
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.542896 3.257403 0.654872 -3.899989
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.318488 4.586763 -0.499952 -2.347116
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.113954 5.299395 -1.930625 -1.067457
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.570299 4.951620 0.373695 -1.115290
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.209015 12.120819 -4.532263 0.097885
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.019016 0.005218 0.018691 0.167223
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.227700 -0.062862 0.416655 -0.600308
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.184412 -0.024752 -0.154757 -4.959867
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.124019 0.169228 -0.371729 -0.463683
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.337887 7.714447 42.766014 0.161448
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005131 0.004723 0.009892 0.009244
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.055197 0.060255 0.241465 -2.714498
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.277818 0.414803 0.243762 -3.154544
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.421260 0.746879 0.240164 -3.515074
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.101901 0.853126 0.113168 -3.489035
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.248966 0.601941 -0.034422 -3.586370
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.216026 1.169952 0.040448 -4.029304
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.313292 0.829696 0.014375 -4.756525
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.461673 1.449154 -0.038051 -12.968000
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.619532 2.270355 -0.097690 -15.055201
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.554855 3.304629 0.431582 -19.035654
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.351203 1.857271 -0.665572 -15.611772
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.194698 3.175366 -1.628825 -13.149732
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.055348 3.608431 3.548784 -11.610266
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.456029 7.594948 9.722183 -7.252934
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.244316 16.665195 1.627388 -5.183986
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007637 0.012044 -0.026820 0.148488
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.238448 0.406077 0.343053 -0.052095
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.157643 0.352398 -0.408027 -3.901145
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.015827 -0.051530 -0.340756 -0.387951
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.838516 47.193745 128.770279 0.552900
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.015171 11.756504 17.836533 17.072147
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.642498 10.925017 16.686977 16.533098
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 976.000000 644.000000 599.000000 679.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -1.924093 -1.854103 -2.892933 -2.099803
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.584476 -13.925516 -7.209351 -9.194748
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 8568.03 ms across 32 steps (avg 267.75 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 947.000000 453.000000 524.000000 878.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.001598 0.000697 0.000791 0.001288
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-BF16.gguf --codec ../models/omnivoice-tokenizer-BF16.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999999 max: 1.9504e-03 mean: 7.9007e-05 uncond cos: 0.999999 max: 1.4691e-03 mean: 7.8259e-05
|
||||
[Cossim] L0 cond cos: 1.000000 max: 2.6716e-02 mean: 4.5743e-04 uncond cos: 0.999999 max: 3.6633e-02 mean: 6.1664e-04
|
||||
[Cossim] L6 cond cos: 0.999999 max: 3.3383e-01 mean: 1.1725e-03 uncond cos: 0.999998 max: 7.2889e-02 mean: 1.9149e-03
|
||||
[Cossim] L13 cond cos: 0.999999 max: 4.1704e-01 mean: 2.8949e-03 uncond cos: 0.999999 max: 1.7889e-01 mean: 3.3030e-03
|
||||
[Cossim] L20 cond cos: 0.999999 max: 3.2730e+00 mean: 1.9048e-02 uncond cos: 0.999999 max: 6.7969e-01 mean: 1.3329e-02
|
||||
[Cossim] Final cond cos: 1.000000 max: 9.7107e-01 mean: 1.3016e-03 uncond cos: 1.000000 max: 2.5932e-01 mean: 1.2224e-03
|
||||
[Cossim] Logits cond cos: 1.000000 max: 3.3614e-01 mean: 4.2539e-02 uncond cos: 1.000000 max: 3.8161e-01 mean: 4.3142e-02
|
||||
[Cossim] Step0Tokens exact: 86.20% diffs: 180
|
||||
[Cossim] Step0Scores cos: 0.999930 max_abs_diff: 0.195261 mean_abs_diff: 0.036226
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] F32 -> ../models/omnivoice-base-F32.gguf + ../models/omnivoice-tokenizer-F32.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 31469.60it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31503.76it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-F32.gguf: 312 tensors, data at offset 5339040
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 2336.8 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-F32.gguf: 486 tensors, data at offset 44160
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 1.5 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 324.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032496 -0.045770 -0.006827 0.006779
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.143429 0.028058 -0.176003 -3.210877
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.495611 0.133859 -0.131643 -4.269015
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.458203 0.357299 -0.100271 -4.198599
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.357937 0.436961 0.106377 -3.917121
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.088977 0.634136 0.160155 -3.906283
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.255354 0.620560 0.113359 -3.732861
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.518232 0.512234 -0.046987 -3.379119
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.239480 1.377718 0.334330 -4.866331
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.163611 1.817583 0.306644 -4.481832
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.760563 2.433618 0.459760 -4.811814
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.543520 3.254392 0.652481 -3.903667
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.318274 4.585968 -0.490007 -2.352974
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.116618 5.299300 -1.922667 -1.066190
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.575390 4.952141 0.378121 -1.110631
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.189643 12.136806 -4.513156 0.095099
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.018902 0.005342 0.018621 0.167302
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.227721 -0.063162 0.416183 -0.599597
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.183972 -0.024493 -0.154803 -4.961100
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.124462 0.168964 -0.371823 -0.458541
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.337540 7.761703 42.813492 0.161507
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005183 0.004625 0.009925 0.009213
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.055614 0.061210 0.241398 -2.712474
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.278304 0.415422 0.243089 -3.153145
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.421453 0.747653 0.239362 -3.513885
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.101610 0.854395 0.111339 -3.486204
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.249010 0.603088 -0.036038 -3.584491
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.216002 1.170897 0.038528 -4.025774
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.314574 0.831446 0.012471 -4.754603
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.455502 1.447644 -0.039727 -12.965416
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.610192 2.270960 -0.097502 -15.046107
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.542690 3.306401 0.433101 -19.015238
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.347709 1.863322 -0.667018 -15.599188
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.205965 3.181920 -1.625852 -13.151061
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.064063 3.621870 3.550597 -11.619653
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.456346 7.613443 9.715597 -7.268505
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.245472 16.691687 1.669447 -5.199032
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007703 0.012248 -0.026843 0.148544
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.238602 0.407195 0.342191 -0.051809
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.158114 0.354332 -0.407803 -3.901946
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.015913 -0.052983 -0.340500 -0.388862
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.837443 47.190086 128.835190 0.552668
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.020008 11.748606 17.811522 17.076849
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.651180 10.937090 16.705175 16.514227
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 976.000000 644.000000 599.000000 679.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -1.943941 -1.842703 -2.858335 -2.091605
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.550062 -13.936089 -7.283512 -9.105633
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 12933.22 ms across 32 steps (avg 404.16 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 947.000000 453.000000 524.000000 878.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.001866 0.000773 0.001077 0.001715
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-F32.gguf --codec ../models/omnivoice-tokenizer-F32.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 1.000000 max: 2.3842e-07 mean: 2.3634e-09 uncond cos: 1.000000 max: 2.3842e-07 mean: 2.3634e-09
|
||||
[Cossim] L0 cond cos: 1.000000 max: 1.3351e-05 mean: 9.1417e-08 uncond cos: 1.000000 max: 1.1444e-05 mean: 8.8955e-08
|
||||
[Cossim] L6 cond cos: 1.000000 max: 4.5776e-05 mean: 3.3175e-07 uncond cos: 1.000000 max: 1.5259e-05 mean: 3.8804e-07
|
||||
[Cossim] L13 cond cos: 1.000000 max: 9.1553e-05 mean: 1.1562e-06 uncond cos: 1.000000 max: 3.8147e-05 mean: 6.7556e-07
|
||||
[Cossim] L20 cond cos: 1.000000 max: 1.0376e-03 mean: 8.8129e-06 uncond cos: 1.000000 max: 1.3733e-04 mean: 2.4205e-06
|
||||
[Cossim] Final cond cos: 1.000000 max: 4.2725e-04 mean: 4.3581e-07 uncond cos: 1.000000 max: 7.6294e-05 mean: 3.1901e-07
|
||||
[Cossim] Logits cond cos: 1.000000 max: 3.6621e-04 mean: 3.5819e-05 uncond cos: 1.000000 max: 3.8147e-04 mean: 3.5781e-05
|
||||
[Cossim] Step0Tokens exact: 99.85% diffs: 2
|
||||
[Cossim] Step0Scores cos: 1.000000 max_abs_diff: 0.000886 mean_abs_diff: 0.000132
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] Q4_K_M -> ../models/omnivoice-base-Q4_K_M.gguf + ../models/omnivoice-tokenizer-Q4_K_M.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 27715.28it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31183.32it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q4_K_M.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K fused, V separate
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 383.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q4_K_M.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.2 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 47.8 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032717 -0.045180 -0.006232 0.006232
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.154686 0.026378 -0.185436 -3.165199
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.437802 0.166829 -0.134803 -4.232050
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.362836 0.387874 -0.106459 -4.173686
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.306157 0.463569 0.102114 -3.870833
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.042881 0.650357 0.153386 -3.869005
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.206240 0.633691 0.103334 -3.664940
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.485093 0.551843 -0.019555 -3.264849
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.280035 1.342078 0.369379 -4.710588
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.235396 1.730470 0.270711 -4.348973
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.762168 2.424932 0.479876 -4.697135
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.691627 3.194687 0.777326 -3.734025
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.326634 4.616097 -0.344347 -2.091247
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.122559 5.398581 -1.973707 -0.736050
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.397533 4.904632 0.790809 -1.144656
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.298477 11.882438 -3.561796 -0.085610
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.020594 0.005074 0.019820 0.166612
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.219669 -0.057559 0.416608 -0.603003
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.187479 -0.021981 -0.150537 -4.956777
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.063447 0.198009 -0.365975 -0.463848
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.277472 5.364466 35.501648 0.088516
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.004852 0.004656 0.011258 0.007240
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.085264 0.050480 0.237071 -2.684460
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.332236 0.444955 0.257447 -3.125254
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.468589 0.796536 0.267579 -3.503743
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.148804 0.885914 0.134291 -3.467972
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.283279 0.627035 -0.036198 -3.553025
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.225921 1.179644 0.038044 -3.990106
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.314412 0.870721 0.027771 -4.692402
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.514897 1.465800 0.011024 -12.771043
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.601196 2.329514 -0.056488 -14.936769
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.449160 3.286325 0.180722 -19.210449
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.349464 1.904123 -1.049485 -15.553217
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.022482 3.321661 -2.405239 -12.912841
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 2.874889 3.653088 2.802409 -11.111227
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.302193 7.646958 8.948181 -6.603518
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 5.849554 16.194990 0.903898 -4.651946
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.011855 0.010139 -0.026462 0.147568
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.248962 0.399358 0.359951 -0.046009
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.180156 0.341313 -0.418447 -3.865834
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.001989 -0.004882 -0.339575 -0.394785
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.806666 46.954834 128.707962 0.587398
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.425339 11.735054 16.922569 16.372063
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 17.462112 11.404427 15.982658 15.724873
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 61.000000 489.000000 599.000000 885.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -2.178911 -1.816939 -2.602834 -1.702895
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -10.229448 -15.184931 -8.778849 -9.914797
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 10652.87 ms across 32 steps (avg 332.90 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 511.000000 439.000000 668.000000 291.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: -0.033257 -0.033647 -0.031930 -0.030415
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q4_K_M.gguf --codec ../models/omnivoice-tokenizer-Q4_K_M.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999831 max: 1.7486e-02 mean: 1.3334e-03 uncond cos: 0.999835 max: 1.2504e-02 mean: 1.2963e-03
|
||||
[Cossim] L0 cond cos: 0.999842 max: 3.4227e-01 mean: 1.1238e-02 uncond cos: 0.999707 max: 4.2769e-01 mean: 1.4919e-02
|
||||
[Cossim] L6 cond cos: 0.999434 max: 1.7328e+00 mean: 3.3462e-02 uncond cos: 0.998964 max: 1.0225e+00 mean: 5.0820e-02
|
||||
[Cossim] L13 cond cos: 0.999322 max: 6.9382e+00 mean: 8.4511e-02 uncond cos: 0.999234 max: 3.2781e+00 mean: 8.6687e-02
|
||||
[Cossim] L20 cond cos: 0.999123 max: 6.0707e+01 mean: 6.2127e-01 uncond cos: 0.999165 max: 8.5036e+00 mean: 4.0812e-01
|
||||
[Cossim] Final cond cos: 0.999904 max: 2.6531e+01 mean: 3.4373e-02 uncond cos: 0.999972 max: 2.4236e+00 mean: 3.0973e-02
|
||||
[Cossim] Logits cond cos: 0.999936 max: 7.2435e+00 mean: 7.7442e-01 uncond cos: 0.999935 max: 6.2314e+00 mean: 8.1805e-01
|
||||
[Cossim] Step0Tokens exact: 16.18% diffs: 1093
|
||||
[Cossim] Step0Scores cos: 0.963855 max_abs_diff: 4.685781 mean_abs_diff: 1.445358
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] Q8_0 -> ../models/omnivoice-base-Q8_0.gguf + ../models/omnivoice-tokenizer-Q8_0.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 26564.49it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 28382.10it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CPU (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q8_0.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 620.9 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q8_0.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.4 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 86.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CPU
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032649 -0.045788 -0.006769 0.006769
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.141127 0.028480 -0.173933 -3.205186
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.485743 0.131329 -0.129260 -4.268756
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.451186 0.356976 -0.099721 -4.199864
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.354036 0.435237 0.103277 -3.923582
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.084226 0.631740 0.157809 -3.915523
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.247957 0.617610 0.119682 -3.741882
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.507512 0.507268 -0.037517 -3.389683
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.237017 1.364527 0.329351 -4.886948
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.166781 1.806478 0.296166 -4.500538
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.752382 2.428083 0.457693 -4.833712
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.524039 3.249174 0.648307 -3.916344
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.335010 4.584835 -0.483551 -2.361471
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.112950 5.315489 -1.897550 -1.030699
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.608981 4.998482 0.428165 -1.095730
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.208701 12.202758 -4.538644 0.093163
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.018590 0.005420 0.018393 0.166927
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.230060 -0.063016 0.417126 -0.602279
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.183862 -0.024080 -0.156636 -4.953710
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.114556 0.165865 -0.372453 -0.461290
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.336127 7.767795 42.782616 0.160128
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005380 0.004855 0.010246 0.009150
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.051981 0.059643 0.242803 -2.710410
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.276543 0.405631 0.246121 -3.154772
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.415722 0.744238 0.244081 -3.524319
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.095866 0.851245 0.116631 -3.484274
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.236836 0.599254 -0.037242 -3.580574
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.207356 1.166708 0.037786 -4.020639
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.311079 0.830015 0.012306 -4.746327
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.458821 1.433856 -0.039787 -13.004999
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.617807 2.256731 -0.101241 -15.098066
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.535855 3.295662 0.426010 -19.088314
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.292028 1.864804 -0.729806 -15.659145
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.145811 3.217169 -1.741059 -13.167794
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 2.999762 3.649144 3.490895 -11.620733
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.380697 7.641136 9.605453 -7.238606
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.218327 16.649353 1.514950 -5.209467
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007204 0.011941 -0.027014 0.148511
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.240019 0.405991 0.344779 -0.053408
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.157031 0.352479 -0.410875 -3.903977
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.015458 -0.060003 -0.341461 -0.390954
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.836763 47.126915 128.953995 0.549016
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.067307 12.047602 17.459633 17.405617
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.817457 11.126129 15.793516 16.454260
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 492.000000 644.000000 956.000000 1013.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -2.077560 -2.165167 -2.593139 -2.143889
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.845706 -13.522164 -6.620845 -8.104381
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 13542.93 ms across 32 steps (avg 423.22 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 164.000000 992.000000 807.000000 885.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: -0.000056 -0.000399 -0.000358 -0.000285
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q8_0.gguf --codec ../models/omnivoice-tokenizer-Q8_0.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999982 max: 4.3700e-03 mean: 4.3656e-04 uncond cos: 0.999983 max: 3.2318e-03 mean: 4.2568e-04
|
||||
[Cossim] L0 cond cos: 0.999992 max: 5.1172e-02 mean: 2.5036e-03 uncond cos: 0.999985 max: 3.8886e-02 mean: 3.5071e-03
|
||||
[Cossim] L6 cond cos: 0.999984 max: 2.2097e-01 mean: 5.5048e-03 uncond cos: 0.999964 max: 1.4544e-01 mean: 9.2647e-03
|
||||
[Cossim] L13 cond cos: 0.999985 max: 6.6708e-01 mean: 1.1900e-02 uncond cos: 0.999978 max: 7.4876e-01 mean: 1.4051e-02
|
||||
[Cossim] L20 cond cos: 0.999989 max: 9.7499e+00 mean: 6.8194e-02 uncond cos: 0.999985 max: 1.4187e+00 mean: 5.2343e-02
|
||||
[Cossim] Final cond cos: 0.999998 max: 3.8532e+00 mean: 5.4428e-03 uncond cos: 0.999999 max: 4.7534e-01 mean: 5.7941e-03
|
||||
[Cossim] Logits cond cos: 0.999998 max: 1.2323e+00 mean: 1.2287e-01 uncond cos: 0.999998 max: 9.7068e-01 mean: 1.4425e-01
|
||||
[Cossim] Step0Tokens exact: 46.47% diffs: 698
|
||||
[Cossim] Step0Scores cos: 0.995428 max_abs_diff: 2.216954 mean_abs_diff: 0.279892
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] BF16 -> ../models/omnivoice-base-BF16.gguf + ../models/omnivoice-tokenizer-BF16.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 30000.39it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 28483.78it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-BF16.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 1168.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-BF16.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.8 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 162.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032471 -0.045654 -0.006836 0.006775
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.144775 0.027588 -0.175781 -3.204163
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.495850 0.130615 -0.130859 -4.268616
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.459229 0.354126 -0.099854 -4.199585
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.360229 0.432983 0.106567 -3.919189
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.091919 0.630737 0.160583 -3.910034
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.256592 0.617188 0.113159 -3.736206
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.519775 0.508301 -0.046509 -3.384888
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.240051 1.376221 0.334091 -4.866913
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.163757 1.815674 0.307175 -4.479218
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.758972 2.433838 0.464890 -4.809784
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.542175 3.258057 0.656296 -3.895721
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.310608 4.593994 -0.496048 -2.337128
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.117126 5.311279 -1.937454 -1.055878
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.578064 4.955811 0.386765 -1.098846
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.211853 12.174561 -4.539017 0.115997
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.019116 0.005263 0.018633 0.167275
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.227539 -0.063965 0.417969 -0.601562
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.184810 -0.025417 -0.156317 -4.961903
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.123535 0.166992 -0.373047 -0.462891
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.339331 7.716587 42.816059 0.161581
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005131 0.004723 0.009892 0.009244
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.056393 0.059410 0.241459 -2.719272
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.280880 0.410728 0.243412 -3.159701
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.422970 0.742760 0.240482 -3.518100
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.105587 0.847862 0.113529 -3.493320
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.252560 0.596886 -0.034664 -3.589267
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.218624 1.165245 0.040836 -4.030673
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.315304 0.827873 0.014957 -4.756747
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.463749 1.445549 -0.037563 -12.954013
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.619999 2.273674 -0.098110 -15.040927
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.558475 3.301018 0.428257 -19.021397
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.359257 1.855705 -0.673306 -15.583897
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.203983 3.174065 -1.618618 -13.146397
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.067265 3.607658 3.553257 -11.616611
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.457890 7.605705 9.740757 -7.257236
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.233280 16.683830 1.678257 -5.179111
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007812 0.011890 -0.026855 0.148947
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.239258 0.404297 0.341797 -0.051758
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.158887 0.350784 -0.407576 -3.911533
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.014771 -0.052979 -0.339844 -0.388672
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.839140 47.207935 128.639175 0.554869
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.000000 11.750000 17.875000 17.125000
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.625000 10.937500 16.625000 16.500000
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 976.000000 644.000000 599.000000 679.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -2.124414 -1.969591 -2.811466 -2.102569
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.499413 -13.874413 -6.874413 -8.874413
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 367.36 ms across 32 steps (avg 11.48 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 525.000000 453.000000 524.000000 637.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.000590 -0.000219 -0.000071 0.000081
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-BF16.gguf --codec ../models/omnivoice-tokenizer-BF16.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999999 max: 1.9504e-03 mean: 7.9007e-05 uncond cos: 0.999999 max: 1.4691e-03 mean: 7.8259e-05
|
||||
[Cossim] L0 cond cos: 0.999998 max: 1.0743e-01 mean: 6.4747e-04 uncond cos: 0.999998 max: 9.5097e-02 mean: 8.6614e-04
|
||||
[Cossim] L6 cond cos: 0.999997 max: 1.0204e+00 mean: 1.8597e-03 uncond cos: 0.999996 max: 1.4378e-01 mean: 2.9817e-03
|
||||
[Cossim] L13 cond cos: 0.999998 max: 6.5485e-01 mean: 4.3226e-03 uncond cos: 0.999997 max: 2.5068e-01 mean: 5.0757e-03
|
||||
[Cossim] L20 cond cos: 0.999997 max: 5.1537e+00 mean: 2.6448e-02 uncond cos: 0.999998 max: 8.6627e-01 mean: 1.8672e-02
|
||||
[Cossim] Final cond cos: 0.999999 max: 1.1294e+00 mean: 2.6951e-03 uncond cos: 0.999999 max: 6.0297e-01 mean: 2.9089e-03
|
||||
[Cossim] Logits cond cos: 0.999998 max: 8.2474e-01 mean: 1.2707e-01 uncond cos: 0.999998 max: 8.0386e-01 mean: 1.2412e-01
|
||||
[Cossim] Step0Tokens exact: 44.02% diffs: 730
|
||||
[Cossim] Step0Scores cos: 0.991357 max_abs_diff: 2.156070 mean_abs_diff: 0.417284
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] F32 -> ../models/omnivoice-base-F32.gguf + ../models/omnivoice-tokenizer-F32.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 31951.35it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31959.26it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-F32.gguf: 312 tensors, data at offset 5339040
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 2336.8 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-F32.gguf: 486 tensors, data at offset 44160
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 1.5 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 324.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032496 -0.045770 -0.006827 0.006779
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.143429 0.028058 -0.176004 -3.210877
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.495611 0.133859 -0.131644 -4.269015
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.458203 0.357299 -0.100272 -4.198600
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.357937 0.436961 0.106377 -3.917122
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.088977 0.634135 0.160155 -3.906283
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.255354 0.620559 0.113358 -3.732861
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.518232 0.512233 -0.046988 -3.379119
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.239480 1.377719 0.334330 -4.866330
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.163611 1.817584 0.306644 -4.481832
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.760563 2.433619 0.459761 -4.811815
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.543520 3.254392 0.652481 -3.903667
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.318273 4.585968 -0.490006 -2.352975
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.116620 5.299300 -1.922667 -1.066189
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.575392 4.952140 0.378127 -1.110631
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.189642 12.136806 -4.513153 0.095100
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.018902 0.005342 0.018621 0.167302
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.227721 -0.063162 0.416183 -0.599596
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.183972 -0.024493 -0.154803 -4.961101
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.124462 0.168964 -0.371823 -0.458541
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.337540 7.761668 42.813408 0.161507
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005183 0.004625 0.009925 0.009213
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.055614 0.061210 0.241398 -2.712474
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.278304 0.415421 0.243089 -3.153144
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.421454 0.747654 0.239361 -3.513885
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.101611 0.854395 0.111338 -3.486203
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.249011 0.603088 -0.036039 -3.584491
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.216003 1.170896 0.038527 -4.025774
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.314576 0.831446 0.012469 -4.754603
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.455498 1.447640 -0.039729 -12.965415
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.610186 2.270953 -0.097502 -15.046100
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.542682 3.306396 0.433103 -19.015217
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.347703 1.863318 -0.667007 -15.599176
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.205956 3.181918 -1.625845 -13.151051
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.064053 3.621870 3.550607 -11.619642
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.456345 7.613440 9.715604 -7.268495
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.245480 16.691681 1.669448 -5.199030
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007703 0.012248 -0.026843 0.148544
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.238602 0.407195 0.342191 -0.051809
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.158114 0.354332 -0.407803 -3.901946
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.015913 -0.052983 -0.340500 -0.388862
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.837443 47.190083 128.835205 0.552667
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.020012 11.748607 17.811529 17.076855
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.651178 10.937085 16.705170 16.514231
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 976.000000 644.000000 599.000000 679.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -1.943948 -1.842691 -2.858332 -2.091614
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.550063 -13.936092 -7.283494 -9.105639
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 646.50 ms across 32 steps (avg 20.20 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 947.000000 453.000000 524.000000 878.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.001864 0.000758 0.001075 0.001731
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-F32.gguf --codec ../models/omnivoice-tokenizer-F32.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 1.000000 max: 2.3842e-07 mean: 2.3634e-09 uncond cos: 1.000000 max: 2.3842e-07 mean: 2.3634e-09
|
||||
[Cossim] L0 cond cos: 1.000000 max: 7.6294e-06 mean: 7.2469e-08 uncond cos: 1.000000 max: 7.6294e-06 mean: 8.7633e-08
|
||||
[Cossim] L6 cond cos: 1.000000 max: 4.5776e-05 mean: 5.9211e-07 uncond cos: 1.000000 max: 2.0981e-05 mean: 3.4285e-07
|
||||
[Cossim] L13 cond cos: 1.000000 max: 1.4496e-04 mean: 1.8604e-06 uncond cos: 1.000000 max: 3.0518e-05 mean: 6.4515e-07
|
||||
[Cossim] L20 cond cos: 1.000000 max: 7.3242e-04 mean: 7.8134e-06 uncond cos: 1.000000 max: 1.8311e-04 mean: 2.3730e-06
|
||||
[Cossim] Final cond cos: 1.000000 max: 3.6621e-04 mean: 3.9112e-07 uncond cos: 1.000000 max: 7.6294e-05 mean: 2.9361e-07
|
||||
[Cossim] Logits cond cos: 1.000000 max: 3.5095e-04 mean: 3.4896e-05 uncond cos: 1.000000 max: 3.6621e-04 mean: 3.4818e-05
|
||||
[Cossim] Step0Tokens exact: 99.85% diffs: 2
|
||||
[Cossim] Step0Scores cos: 1.000000 max_abs_diff: 0.000826 mean_abs_diff: 0.000130
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] Q4_K_M -> ../models/omnivoice-base-Q4_K_M.gguf + ../models/omnivoice-tokenizer-Q4_K_M.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 29906.08it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 31834.06it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q4_K_M.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K fused, V separate
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 383.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q4_K_M.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.2 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 47.8 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032717 -0.045180 -0.006232 0.006232
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.155738 0.022264 -0.189853 -3.164492
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.421365 0.169865 -0.159746 -4.218531
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.349004 0.395104 -0.127451 -4.175534
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.303781 0.467851 0.087458 -3.882443
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.047417 0.649729 0.138764 -3.883549
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.208563 0.639346 0.099998 -3.668509
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.483293 0.562457 -0.026708 -3.256199
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.273240 1.370804 0.377684 -4.697381
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.233731 1.772588 0.287254 -4.317963
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.769030 2.459426 0.506058 -4.691010
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.694987 3.235615 0.765341 -3.704029
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.265730 4.677179 -0.395768 -2.033187
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.144930 5.450665 -2.098698 -0.652984
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.367719 5.069102 0.768228 -0.995150
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.269239 12.040112 -3.601130 0.031731
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.020728 0.004281 0.020287 0.166529
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.221873 -0.059451 0.417145 -0.601250
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.188988 -0.026198 -0.147916 -4.950359
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.043754 0.207051 -0.387038 -0.452790
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.293959 4.843705 34.324646 0.086055
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.004852 0.004656 0.011258 0.007240
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.078767 0.050643 0.245665 -2.688888
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.316296 0.449394 0.268726 -3.117804
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.447314 0.798223 0.282763 -3.494174
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.119812 0.895672 0.136251 -3.447003
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.251411 0.641786 -0.036606 -3.540937
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.195131 1.204694 0.041016 -3.985303
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.285161 0.892209 0.029142 -4.690166
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.533796 1.458818 -0.000271 -12.847419
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.615882 2.323209 -0.029478 -14.995675
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.454710 3.283987 0.256817 -19.215370
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.372946 1.918204 -1.082190 -15.648713
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.091623 3.331040 -2.518683 -12.963674
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 2.936987 3.715780 2.581187 -11.188253
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.262773 7.631629 8.723370 -6.725022
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 5.976536 16.107708 0.794827 -4.732038
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.010940 0.010162 -0.027393 0.147660
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.247312 0.399160 0.357669 -0.049571
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.175550 0.340868 -0.422352 -3.872389
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.009783 -0.000409 -0.334608 -0.379345
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.799594 47.067360 128.531876 0.573963
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.358883 12.424560 16.919216 16.097187
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 18.246065 13.129221 16.469505 16.602129
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 443.000000 489.000000 599.000000 885.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -1.367920 -2.157426 -2.592019 -1.984094
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -10.122494 -14.691775 -7.888374 -10.619709
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 524.98 ms across 32 steps (avg 16.41 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 269.000000 880.000000 685.000000 885.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: -0.000293 -0.001013 -0.000942 -0.000610
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q4_K_M.gguf --codec ../models/omnivoice-tokenizer-Q4_K_M.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999831 max: 1.7486e-02 mean: 1.3334e-03 uncond cos: 0.999835 max: 1.2504e-02 mean: 1.2963e-03
|
||||
[Cossim] L0 cond cos: 0.999853 max: 3.1872e-01 mean: 1.0753e-02 uncond cos: 0.999724 max: 4.1347e-01 mean: 1.4413e-02
|
||||
[Cossim] L6 cond cos: 0.999402 max: 3.0743e+00 mean: 3.3752e-02 uncond cos: 0.999006 max: 1.2325e+00 mean: 4.9818e-02
|
||||
[Cossim] L13 cond cos: 0.999328 max: 8.3875e+00 mean: 8.3097e-02 uncond cos: 0.999247 max: 3.4421e+00 mean: 8.4845e-02
|
||||
[Cossim] L20 cond cos: 0.999123 max: 5.8376e+01 mean: 6.1274e-01 uncond cos: 0.999169 max: 8.3679e+00 mean: 4.0491e-01
|
||||
[Cossim] Final cond cos: 0.999875 max: 3.3982e+01 mean: 3.4079e-02 uncond cos: 0.999974 max: 2.4130e+00 mean: 2.9493e-02
|
||||
[Cossim] Logits cond cos: 0.999928 max: 8.4238e+00 mean: 8.1361e-01 uncond cos: 0.999924 max: 7.8034e+00 mean: 8.6719e-01
|
||||
[Cossim] Step0Tokens exact: 20.02% diffs: 1043
|
||||
[Cossim] Step0Scores cos: 0.974710 max_abs_diff: 4.032744 mean_abs_diff: 1.288438
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] Q8_0 -> ../models/omnivoice-base-Q8_0.gguf + ../models/omnivoice-tokenizer-Q8_0.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 31582.40it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 28844.32it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: CUDA0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q8_0.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 620.9 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q8_0.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.4 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 86.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=CUDA0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032649 -0.045788 -0.006769 0.006769
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.141092 0.028385 -0.173764 -3.204908
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.486492 0.130315 -0.127969 -4.270612
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.451498 0.355822 -0.097643 -4.201322
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.350925 0.435515 0.104707 -3.924219
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.080748 0.630445 0.158736 -3.914514
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.247336 0.615743 0.115521 -3.742074
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.508840 0.508420 -0.042312 -3.387783
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.235033 1.372217 0.329518 -4.885667
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.162764 1.816814 0.293495 -4.500912
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.752557 2.439555 0.451490 -4.830612
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.531708 3.262591 0.644435 -3.912714
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.320051 4.586965 -0.514368 -2.349482
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.133298 5.321824 -1.941605 -1.026288
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.616354 4.981306 0.394881 -1.078204
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.204271 12.178906 -4.512753 0.120572
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.018586 0.005402 0.018377 0.166925
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.230562 -0.063147 0.417904 -0.603062
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.184092 -0.024238 -0.157244 -4.954337
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.114838 0.165078 -0.372109 -0.462642
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.337307 7.768000 42.797329 0.159504
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005380 0.004855 0.010246 0.009150
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.051625 0.059900 0.243252 -2.710808
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.274705 0.406423 0.244897 -3.155345
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.414259 0.747018 0.240752 -3.523101
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.092766 0.854092 0.113439 -3.482504
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.234864 0.601983 -0.040992 -3.579212
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.206304 1.169172 0.035129 -4.019620
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.308291 0.832311 0.014568 -4.748949
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.473259 1.439130 -0.037022 -12.997085
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.644835 2.262453 -0.108625 -15.102911
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.585491 3.298950 0.413927 -19.134167
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.340610 1.866031 -0.719878 -15.702097
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.185430 3.241367 -1.738344 -13.227559
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.022331 3.679394 3.502697 -11.665640
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.380286 7.706031 9.605055 -7.291924
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.247076 16.711468 1.511102 -5.295573
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007154 0.011991 -0.027060 0.148516
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.239398 0.405594 0.344235 -0.053435
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.156492 0.352342 -0.410773 -3.904237
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.016318 -0.059071 -0.342591 -0.391102
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.837195 47.099628 129.019913 0.552044
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.097706 12.082623 17.530075 17.390030
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.830109 11.095350 15.792145 16.459023
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 511.000000 644.000000 956.000000 1013.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -2.017292 -2.205665 -2.563331 -2.068046
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.680384 -13.256117 -6.307348 -8.061239
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 322.93 ms across 32 steps (avg 10.09 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 947.000000 465.000000 885.000000 524.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: -0.000604 -0.003757 -0.004956 -0.004674
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q8_0.gguf --codec ../models/omnivoice-tokenizer-Q8_0.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999982 max: 4.3700e-03 mean: 4.3656e-04 uncond cos: 0.999983 max: 3.2318e-03 mean: 4.2568e-04
|
||||
[Cossim] L0 cond cos: 0.999992 max: 5.3192e-02 mean: 2.5048e-03 uncond cos: 0.999985 max: 4.1177e-02 mean: 3.5060e-03
|
||||
[Cossim] L6 cond cos: 0.999985 max: 1.9293e-01 mean: 5.3796e-03 uncond cos: 0.999964 max: 2.2104e-01 mean: 9.2558e-03
|
||||
[Cossim] L13 cond cos: 0.999985 max: 7.6294e-01 mean: 1.2233e-02 uncond cos: 0.999979 max: 5.1918e-01 mean: 1.3900e-02
|
||||
[Cossim] L20 cond cos: 0.999984 max: 1.3434e+01 mean: 7.9942e-02 uncond cos: 0.999985 max: 1.7849e+00 mean: 5.1549e-02
|
||||
[Cossim] Final cond cos: 0.999998 max: 2.3239e+00 mean: 5.5314e-03 uncond cos: 0.999999 max: 5.2432e-01 mean: 5.7846e-03
|
||||
[Cossim] Logits cond cos: 0.999998 max: 1.4072e+00 mean: 1.2423e-01 uncond cos: 0.999998 max: 9.7286e-01 mean: 1.4521e-01
|
||||
[Cossim] Step0Tokens exact: 47.16% diffs: 689
|
||||
[Cossim] Step0Scores cos: 0.995320 max_abs_diff: 2.208165 mean_abs_diff: 0.286031
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] BF16 -> ../models/omnivoice-base-BF16.gguf + ../models/omnivoice-tokenizer-BF16.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 27373.74it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 28497.73it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-BF16.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 1168.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-BF16.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.8 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 162.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032471 -0.045654 -0.006836 0.006775
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.143594 0.027618 -0.176940 -3.207561
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.495387 0.133990 -0.132101 -4.271273
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.457792 0.357116 -0.100839 -4.201246
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.358393 0.436557 0.105630 -3.920247
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.090011 0.634595 0.159972 -3.909597
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.255869 0.620726 0.112926 -3.735995
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.518810 0.511769 -0.046856 -3.383101
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.238252 1.379016 0.332458 -4.864581
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.162151 1.819316 0.307014 -4.479975
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.760935 2.435455 0.460043 -4.810620
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.544397 3.254013 0.651287 -3.901274
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.322905 4.585410 -0.493423 -2.351359
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.103602 5.294597 -1.913495 -1.073569
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.569904 4.951387 0.376384 -1.117837
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.194774 12.124481 -4.531716 0.097129
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.018934 0.005261 0.018731 0.167225
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.227735 -0.062685 0.416565 -0.600070
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.184156 -0.024480 -0.154525 -4.959948
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.124058 0.169057 -0.371726 -0.463643
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.338885 7.758992 42.841667 0.162473
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005131 0.004723 0.009892 0.009244
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.055526 0.060050 0.241163 -2.713137
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.278451 0.414147 0.243438 -3.153159
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.421462 0.745426 0.239475 -3.513476
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.101999 0.851980 0.112583 -3.487006
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.248916 0.600777 -0.035214 -3.584139
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.216363 1.168237 0.039479 -4.026523
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.314006 0.827354 0.013254 -4.752995
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.460335 1.446349 -0.038489 -12.959760
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.618002 2.269220 -0.097954 -15.046041
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.552536 3.298325 0.429278 -19.023342
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.348611 1.853501 -0.674525 -15.599087
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.190771 3.175946 -1.632106 -13.145811
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.054192 3.615307 3.549963 -11.612153
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.459580 7.594266 9.732277 -7.256629
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.239882 16.663870 1.646879 -5.183064
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007685 0.012007 -0.026796 0.148467
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.238435 0.405450 0.343112 -0.051813
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.157864 0.351884 -0.407992 -3.900110
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.015509 -0.051352 -0.340838 -0.388209
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.838653 47.197624 128.785248 0.554139
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.006096 11.744145 17.816462 17.075449
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.639351 10.948721 16.696556 16.537174
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 976.000000 644.000000 599.000000 679.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -1.971421 -1.881276 -2.863757 -2.097502
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.592719 -13.997311 -7.276032 -9.180306
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 1017.61 ms across 32 steps (avg 31.80 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 880.000000 453.000000 524.000000 878.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.003333 0.000822 0.000522 0.001330
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-BF16.gguf --codec ../models/omnivoice-tokenizer-BF16.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999999 max: 1.9504e-03 mean: 7.9007e-05 uncond cos: 0.999999 max: 1.4691e-03 mean: 7.8259e-05
|
||||
[Cossim] L0 cond cos: 1.000000 max: 2.4683e-02 mean: 4.6183e-04 uncond cos: 0.999999 max: 3.2497e-02 mean: 6.1952e-04
|
||||
[Cossim] L6 cond cos: 0.999999 max: 3.2796e-01 mean: 1.2712e-03 uncond cos: 0.999998 max: 7.9561e-02 mean: 1.8879e-03
|
||||
[Cossim] L13 cond cos: 0.999999 max: 3.5498e-01 mean: 3.2500e-03 uncond cos: 0.999999 max: 1.6114e-01 mean: 3.2691e-03
|
||||
[Cossim] L20 cond cos: 0.999998 max: 4.7247e+00 mean: 2.1218e-02 uncond cos: 0.999999 max: 6.2177e-01 mean: 1.2940e-02
|
||||
[Cossim] Final cond cos: 1.000000 max: 1.0430e+00 mean: 1.1863e-03 uncond cos: 1.000000 max: 2.7090e-01 mean: 1.1817e-03
|
||||
[Cossim] Logits cond cos: 1.000000 max: 3.2877e-01 mean: 4.2511e-02 uncond cos: 1.000000 max: 3.3966e-01 mean: 4.3564e-02
|
||||
[Cossim] Step0Tokens exact: 86.43% diffs: 177
|
||||
[Cossim] Step0Scores cos: 0.999928 max_abs_diff: 0.198412 mean_abs_diff: 0.037262
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] F32 -> ../models/omnivoice-base-F32.gguf + ../models/omnivoice-tokenizer-F32.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 30556.92it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 28952.76it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-F32.gguf: 312 tensors, data at offset 5339040
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 2336.8 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-F32.gguf: 486 tensors, data at offset 44160
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 1.5 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 324.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032496 -0.045770 -0.006827 0.006779
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.143523 0.028369 -0.176028 -3.208767
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.495307 0.133898 -0.131982 -4.268082
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.457821 0.357014 -0.100594 -4.197961
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.357521 0.436113 0.106497 -3.916469
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.089081 0.633874 0.160257 -3.905349
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.255180 0.620162 0.113403 -3.731948
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.517722 0.511740 -0.046525 -3.379394
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.237257 1.376984 0.333877 -4.867952
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.160928 1.816185 0.305069 -4.482118
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.758623 2.431638 0.458141 -4.813392
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.545068 3.253431 0.650650 -3.904876
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.315741 4.585821 -0.496536 -2.351989
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.121355 5.297811 -1.931740 -1.071288
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.578330 4.947080 0.360268 -1.116545
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.207545 12.132780 -4.528992 0.087045
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.018922 0.005403 0.018631 0.167260
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.227566 -0.063148 0.415734 -0.599388
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.184023 -0.024278 -0.154566 -4.960260
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.124218 0.168678 -0.371688 -0.459927
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.336636 7.685741 42.653954 0.160989
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005183 0.004625 0.009925 0.009213
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.054899 0.062227 0.241741 -2.711948
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.277044 0.416422 0.242956 -3.152676
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.420284 0.747973 0.239563 -3.513340
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.101390 0.854327 0.112137 -3.485476
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.249071 0.603232 -0.035381 -3.583784
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.216507 1.170600 0.038814 -4.024588
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.314720 0.831206 0.012693 -4.752096
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.453226 1.445616 -0.039985 -12.958734
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.607352 2.267641 -0.095824 -15.034966
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.542268 3.305736 0.435979 -18.998314
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.346780 1.863643 -0.656871 -15.583733
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.205689 3.181826 -1.612140 -13.140076
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.067567 3.622244 3.562451 -11.613300
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.465775 7.609823 9.731996 -7.267902
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.250207 16.684347 1.681947 -5.197346
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.007607 0.012456 -0.026891 0.148572
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.238380 0.406227 0.341906 -0.051720
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.157664 0.354492 -0.407983 -3.902421
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.016235 -0.052032 -0.340691 -0.389008
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.837336 47.121689 128.915695 0.553577
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.031250 11.742188 17.843750 17.046875
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.687500 10.945312 16.750000 16.500000
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 976.000000 644.000000 599.000000 679.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -1.985711 -1.906153 -2.898880 -2.018278
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.626335 -14.009148 -7.313836 -9.204460
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 947.78 ms across 32 steps (avg 29.62 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 599.000000 621.000000 885.000000 524.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.000973 0.000105 0.000145 0.000495
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-F32.gguf --codec ../models/omnivoice-tokenizer-F32.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 1.000000 max: 2.3842e-07 mean: 2.3634e-09 uncond cos: 1.000000 max: 2.3842e-07 mean: 2.3634e-09
|
||||
[Cossim] L0 cond cos: 1.000000 max: 2.2820e-02 mean: 2.2680e-04 uncond cos: 1.000000 max: 1.7414e-02 mean: 2.8916e-04
|
||||
[Cossim] L6 cond cos: 1.000000 max: 6.4316e-02 mean: 8.2458e-04 uncond cos: 0.999999 max: 5.1880e-02 mean: 1.2418e-03
|
||||
[Cossim] L13 cond cos: 0.999999 max: 6.1285e-01 mean: 2.1548e-03 uncond cos: 1.000000 max: 1.0445e-01 mean: 1.9829e-03
|
||||
[Cossim] L20 cond cos: 0.999999 max: 2.5591e+00 mean: 1.3180e-02 uncond cos: 1.000000 max: 3.4142e-01 mean: 6.9377e-03
|
||||
[Cossim] Final cond cos: 1.000000 max: 1.0522e+00 mean: 1.0643e-03 uncond cos: 1.000000 max: 1.6605e-01 mean: 9.4246e-04
|
||||
[Cossim] Logits cond cos: 0.999999 max: 7.8818e-01 mean: 7.3849e-02 uncond cos: 0.999999 max: 7.0016e-01 mean: 7.4361e-02
|
||||
[Cossim] Step0Tokens exact: 49.39% diffs: 660
|
||||
[Cossim] Step0Scores cos: 0.996796 max_abs_diff: 1.674840 mean_abs_diff: 0.308322
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] Q4_K_M -> ../models/omnivoice-base-Q4_K_M.gguf + ../models/omnivoice-tokenizer-Q4_K_M.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 31728.95it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 29849.67it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q4_K_M.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K fused, V separate
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 383.5 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q4_K_M.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.2 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 47.8 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032717 -0.045180 -0.006232 0.006232
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.155568 0.028252 -0.188715 -3.164850
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.430048 0.169335 -0.157028 -4.216510
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.359577 0.395897 -0.127870 -4.174089
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.306122 0.474720 0.082871 -3.880746
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.044419 0.661268 0.138753 -3.875391
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.210313 0.650104 0.090751 -3.671278
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.490408 0.567086 -0.034747 -3.263121
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.271185 1.382726 0.372823 -4.693702
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.212580 1.781625 0.275468 -4.321479
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.749622 2.460684 0.481887 -4.691341
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.666468 3.241644 0.767406 -3.703968
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.291396 4.707327 -0.332234 -2.024654
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.167714 5.474951 -2.013527 -0.676776
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.424073 5.027365 0.807161 -1.038166
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.224143 11.995657 -3.713347 0.006741
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.020699 0.005430 0.020158 0.166489
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.221098 -0.060066 0.416227 -0.603691
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.188461 -0.022407 -0.148017 -4.952618
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.053382 0.201149 -0.384541 -0.447969
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.299759 5.164474 34.994926 0.104887
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.004852 0.004656 0.011258 0.007240
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.081310 0.054594 0.242645 -2.690635
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.324001 0.448485 0.259409 -3.145225
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.457233 0.801087 0.269785 -3.521883
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.133419 0.898203 0.126154 -3.479089
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.268266 0.640281 -0.045019 -3.571002
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.205955 1.200859 0.033867 -4.014918
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.293933 0.892636 0.021050 -4.715415
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.557851 1.525571 -0.000451 -12.853694
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.657399 2.401714 -0.071428 -15.066438
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.505130 3.343565 0.169570 -19.416687
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.425784 1.954099 -1.227647 -15.684830
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.082919 3.393949 -2.593919 -12.996513
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 2.935763 3.689153 2.658187 -11.182549
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.239497 7.794439 8.785781 -6.642265
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 5.962398 16.339712 0.681838 -4.633064
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.011298 0.010959 -0.027068 0.147820
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.248703 0.400253 0.359788 -0.049911
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.177688 0.344731 -0.421771 -3.875794
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.006012 -0.006363 -0.343025 -0.404678
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.797101 46.991505 128.778030 0.566543
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 17.187500 12.429688 17.015625 16.062500
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.906250 11.562500 15.929688 15.835938
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 443.000000 489.000000 599.000000 885.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -1.110199 -1.829156 -2.516429 -1.850691
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -10.578949 -14.164886 -9.141449 -11.813324
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 4547.02 ms across 32 steps (avg 142.09 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 599.000000 1013.000000 637.000000 418.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.289726 0.132103 0.112229 0.176458
|
||||
[TTS-Long] Post-proc: 156480 -> 157680 samples (6.57s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 157680 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (157680 samples @ 24000 Hz, 6.57 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q4_K_M.gguf --codec ../models/omnivoice-tokenizer-Q4_K_M.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 157680 samples 24000 Hz 6.57s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999831 max: 1.7486e-02 mean: 1.3334e-03 uncond cos: 0.999835 max: 1.2504e-02 mean: 1.2963e-03
|
||||
[Cossim] L0 cond cos: 0.999862 max: 3.3837e-01 mean: 1.0428e-02 uncond cos: 0.999729 max: 4.0683e-01 mean: 1.4244e-02
|
||||
[Cossim] L6 cond cos: 0.999472 max: 3.2403e+00 mean: 3.2300e-02 uncond cos: 0.999070 max: 1.1383e+00 mean: 4.8095e-02
|
||||
[Cossim] L13 cond cos: 0.999407 max: 6.6768e+00 mean: 7.9077e-02 uncond cos: 0.999279 max: 2.6222e+00 mean: 8.3037e-02
|
||||
[Cossim] L20 cond cos: 0.999205 max: 5.3349e+01 mean: 5.7635e-01 uncond cos: 0.999205 max: 7.7622e+00 mean: 3.9740e-01
|
||||
[Cossim] Final cond cos: 0.999902 max: 3.0027e+01 mean: 3.2407e-02 uncond cos: 0.999976 max: 1.7722e+00 mean: 2.9163e-02
|
||||
[Cossim] Logits cond cos: 0.999942 max: 5.3309e+00 mean: 7.6674e-01 uncond cos: 0.999942 max: 5.0303e+00 mean: 7.6137e-01
|
||||
[Cossim] Step0Tokens exact: 20.40% diffs: 1038
|
||||
[Cossim] Step0Scores cos: 0.978022 max_abs_diff: 3.580181 mean_abs_diff: 1.317438
|
||||
@@ -0,0 +1,143 @@
|
||||
[Quant] Q8_0 -> ../models/omnivoice-base-Q8_0.gguf + ../models/omnivoice-tokenizer-Q8_0.gguf
|
||||
[Input] Prompt: 102 chars: omnivoice.cpp is a minimal C++17 and GGML port of OmniVoice ...
|
||||
[Input] Instruct: male, young adult, moderate pitch
|
||||
[Input] Language: French
|
||||
[Input] Seed: 42
|
||||
|
||||
Loading weights: 0%| | 0/313 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 313/313 [00:00<00:00, 31801.20it/s]
|
||||
|
||||
Loading weights: 0%| | 0/527 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 527/527 [00:00<00:00, 32038.01it/s]
|
||||
[CLI] Seed: 42
|
||||
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 97247 MiB):
|
||||
Device 0: NVIDIA RTX PRO 6000 Blackwell Workstation Edition, compute capability 12.0, VMM: yes, VRAM: 97247 MiB
|
||||
load_backend: loaded CUDA backend from /mnt/workspace/omnivoice.cpp/build/libggml-cuda.so
|
||||
ggml_vulkan: Found 1 Vulkan devices:
|
||||
ggml_vulkan: 0 = NVIDIA RTX PRO 6000 Blackwell Workstation Edition (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
|
||||
load_backend: loaded Vulkan backend from /mnt/workspace/omnivoice.cpp/build/libggml-vulkan.so
|
||||
load_backend: loaded CPU backend from /mnt/workspace/omnivoice.cpp/build/libggml-cpu-zen4.so
|
||||
[Load] LM backend: Vulkan0 (CPU threads: 16)
|
||||
[GGUF] ../models/omnivoice-base-Q8_0.gguf: 312 tensors, data at offset 5339136
|
||||
[LM-Load] Loaded: 28L H=1024 FFN=3072 Nh=16 Nkv=8 D=128 theta=1000000 eps=1e-06 | audio: K=8 V=1025 mask_id=1024
|
||||
[Qwen3] Attn: Q+K+V fused
|
||||
[Qwen3] MLP: gate+up fused
|
||||
[WeightCtx] Loaded 312 tensors, 620.9 MB into backend
|
||||
[Load] Flash attention disabled
|
||||
[BPE] Loaded from GGUF: 151676 vocab, 151387 merges, eos_id=151643
|
||||
[BPE] Registered 7 OmniVoice special tokens (total specials=8)
|
||||
[GGUF] ../models/omnivoice-tokenizer-Q8_0.gguf: 486 tensors, data at offset 43680
|
||||
[WeightCtx] Loaded 52 tensors, 11.1 MB into backend
|
||||
[DAC] Loaded: 5 blocks, upsample 960x (8*5*4*2*3), 24 kHz mono out, weights 38.7 MB
|
||||
[DAC-Enc] Loaded: 5 blocks, downsample 960x (8*5*4*2*3), 24 kHz mono in, weights 98.0 MB
|
||||
[Sem-Enc] Loaded: 2 blocks, hidden=768, no temporal downsample, weights 28.1 MB
|
||||
[HuBERT-Feat] Loaded: 7 conv layers, cumul stride 320, weights 8.0 MB
|
||||
[HuBERT-Proj] Loaded: LN(512) + Linear(512 -> 768), weights 0.4 MB
|
||||
[HuBERT-EncInit] Loaded: pos_conv k=128 g=16 + LN(768), weights 9.0 MB
|
||||
[HuBERT-Stack] Loaded: 12 layers, hidden=768 heads=12 ffn=3072, weights 86.5 MB
|
||||
[PipelineCodec] Loaded codec: sr=24000 hop=960 backend=Vulkan0
|
||||
[TTS-Long] Single-shot path: T=163 frames (6.52s), threshold=750 frames
|
||||
[Prompt] Built: B'=2 K=8 S=205 N1=12 N2=30 Sref=0 Stgt=163 c_len=205 u_len=163 denoise=0
|
||||
[Debug] prompt-cond-ids: [205] first4: 151670.000000 1626.000000 151671.000000 151672.000000
|
||||
[Debug] prompt-uncond-ids: [205] first4: 1024.000000 1024.000000 1024.000000 1024.000000
|
||||
[TTS] Prompt: B'=2 K=8 S=205 c_len=205 u_len=163
|
||||
[MaskGIT] Start: T=163 K=8 S=205 num_step=32 guidance=2.00 t_shift=0.100 layer_pen=5.00 cls_t=0.00 pos_t=5.00
|
||||
[Debug] lm-hidden-step0-cond-embed: [205, 1024] first4: -0.032649 -0.045788 -0.006769 0.006769
|
||||
[Debug] lm-hidden-step0-cond-l0: [205, 1024] first4: 0.140219 0.030462 -0.172475 -3.207343
|
||||
[Debug] lm-hidden-step0-cond-l1: [205, 1024] first4: 0.492053 0.131311 -0.130566 -4.275931
|
||||
[Debug] lm-hidden-step0-cond-l2: [205, 1024] first4: 0.455233 0.355395 -0.098567 -4.206057
|
||||
[Debug] lm-hidden-step0-cond-l3: [205, 1024] first4: 0.354972 0.433723 0.107462 -3.926275
|
||||
[Debug] lm-hidden-step0-cond-l4: [205, 1024] first4: 0.085794 0.630890 0.161110 -3.914979
|
||||
[Debug] lm-hidden-step0-cond-l5: [205, 1024] first4: 0.251571 0.616162 0.117618 -3.742393
|
||||
[Debug] lm-hidden-step0-cond-l6: [205, 1024] first4: 0.512862 0.506102 -0.040777 -3.390174
|
||||
[Debug] lm-hidden-step0-cond-l13: [205, 1024] first4: 1.233873 1.371956 0.330524 -4.873959
|
||||
[Debug] lm-hidden-step0-cond-l14: [205, 1024] first4: 1.161394 1.814469 0.305177 -4.490304
|
||||
[Debug] lm-hidden-step0-cond-l15: [205, 1024] first4: 0.751238 2.433831 0.457199 -4.824122
|
||||
[Debug] lm-hidden-step0-cond-l16: [205, 1024] first4: 0.530027 3.262132 0.648830 -3.911274
|
||||
[Debug] lm-hidden-step0-cond-l17: [205, 1024] first4: -0.326937 4.602983 -0.499806 -2.368628
|
||||
[Debug] lm-hidden-step0-cond-l18: [205, 1024] first4: 0.118979 5.330247 -1.942162 -1.064413
|
||||
[Debug] lm-hidden-step0-cond-l19: [205, 1024] first4: 0.597349 4.989785 0.402809 -1.102255
|
||||
[Debug] lm-hidden-step0-cond-l20: [205, 1024] first4: 0.200087 12.169412 -4.558098 0.088427
|
||||
[Debug] lm-hidden-step0-cond-l1-norm1: [205, 1024] first4: 0.018479 0.005800 0.018248 0.167119
|
||||
[Debug] lm-hidden-step0-cond-l1-attn: [205, 1024] first4: 0.228293 -0.064301 0.415239 -0.601158
|
||||
[Debug] lm-hidden-step0-cond-l1-norm2: [205, 1024] first4: 0.182654 -0.023609 -0.156459 -4.958225
|
||||
[Debug] lm-hidden-step0-cond-l1-mlp: [205, 1024] first4: 0.123541 0.165150 -0.373331 -0.467430
|
||||
[Debug] lm-hidden-step0-cond: [205, 1024] first4: 0.337542 8.146750 43.705414 0.171407
|
||||
[Debug] lm-hidden-step0-uncond-embed: [205, 1024] first4: 0.005380 0.004855 0.010246 0.009150
|
||||
[Debug] lm-hidden-step0-uncond-l0: [205, 1024] first4: -0.049368 0.061015 0.244393 -2.716298
|
||||
[Debug] lm-hidden-step0-uncond-l1: [205, 1024] first4: -0.273482 0.410365 0.243605 -3.158796
|
||||
[Debug] lm-hidden-step0-uncond-l2: [205, 1024] first4: -0.413763 0.746530 0.242175 -3.524205
|
||||
[Debug] lm-hidden-step0-uncond-l3: [205, 1024] first4: -0.094674 0.855387 0.113036 -3.493282
|
||||
[Debug] lm-hidden-step0-uncond-l4: [205, 1024] first4: -0.241127 0.601025 -0.036210 -3.591205
|
||||
[Debug] lm-hidden-step0-uncond-l5: [205, 1024] first4: -0.209949 1.170241 0.039461 -4.034968
|
||||
[Debug] lm-hidden-step0-uncond-l6: [205, 1024] first4: -0.310772 0.831025 0.013376 -4.761336
|
||||
[Debug] lm-hidden-step0-uncond-l13: [205, 1024] first4: 2.465168 1.444214 -0.036370 -12.988496
|
||||
[Debug] lm-hidden-step0-uncond-l14: [205, 1024] first4: 2.627690 2.276588 -0.107003 -15.075776
|
||||
[Debug] lm-hidden-step0-uncond-l15: [205, 1024] first4: 3.561472 3.324811 0.425540 -19.072739
|
||||
[Debug] lm-hidden-step0-uncond-l16: [205, 1024] first4: 4.343737 1.887961 -0.698346 -15.653290
|
||||
[Debug] lm-hidden-step0-uncond-l17: [205, 1024] first4: 4.203009 3.226244 -1.690854 -13.205437
|
||||
[Debug] lm-hidden-step0-uncond-l18: [205, 1024] first4: 3.039526 3.670916 3.510684 -11.670116
|
||||
[Debug] lm-hidden-step0-uncond-l19: [205, 1024] first4: 3.416235 7.677622 9.649295 -7.289989
|
||||
[Debug] lm-hidden-step0-uncond-l20: [205, 1024] first4: 6.223620 16.722269 1.586673 -5.245739
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm1: [205, 1024] first4: -0.006839 0.012211 -0.027179 0.148771
|
||||
[Debug] lm-hidden-step0-uncond-l1-attn: [205, 1024] first4: -0.239067 0.404068 0.342108 -0.054573
|
||||
[Debug] lm-hidden-step0-uncond-l1-norm2: [205, 1024] first4: -0.155033 0.351879 -0.409906 -3.911901
|
||||
[Debug] lm-hidden-step0-uncond-l1-mlp: [205, 1024] first4: 0.014954 -0.054718 -0.342896 -0.387924
|
||||
[Debug] lm-hidden-step0-uncond: [205, 1024] first4: 0.838795 47.124664 128.777481 0.553499
|
||||
[Debug] lm-logits-step0-cond: [8, 163, 1025] first4: 16.968750 11.929688 17.609375 17.187500
|
||||
[Debug] lm-logits-step0-uncond: [8, 163, 1025] first4: 16.625000 11.132812 16.468750 16.593750
|
||||
[Debug] mg-pred-tokens-step0: [8, 163] first4: 976.000000 644.000000 599.000000 679.000000
|
||||
[Debug] mg-scores-step0: [8, 163] first4: -2.034543 -1.766081 -2.850422 -2.268683
|
||||
[Debug] mg-log-probs-step0: [8, 163, 1025] first4: -9.675168 -13.807981 -7.440793 -8.956418
|
||||
[MaskGIT-Step] 1/32 demask=5 remaining=1299
|
||||
[MaskGIT-Step] 2/32 demask=5 remaining=1294
|
||||
[MaskGIT-Step] 3/32 demask=5 remaining=1289
|
||||
[MaskGIT-Step] 4/32 demask=6 remaining=1283
|
||||
[MaskGIT-Step] 5/32 demask=6 remaining=1277
|
||||
[MaskGIT-Step] 6/32 demask=6 remaining=1271
|
||||
[MaskGIT-Step] 7/32 demask=7 remaining=1264
|
||||
[MaskGIT-Step] 8/32 demask=7 remaining=1257
|
||||
[MaskGIT-Step] 9/32 demask=8 remaining=1249
|
||||
[MaskGIT-Step] 10/32 demask=8 remaining=1241
|
||||
[MaskGIT-Step] 11/32 demask=9 remaining=1232
|
||||
[MaskGIT-Step] 12/32 demask=9 remaining=1223
|
||||
[MaskGIT-Step] 13/32 demask=10 remaining=1213
|
||||
[MaskGIT-Step] 14/32 demask=11 remaining=1202
|
||||
[MaskGIT-Step] 15/32 demask=12 remaining=1190
|
||||
[MaskGIT-Step] 16/32 demask=13 remaining=1177
|
||||
[MaskGIT-Step] 17/32 demask=15 remaining=1162
|
||||
[MaskGIT-Step] 18/32 demask=16 remaining=1146
|
||||
[MaskGIT-Step] 19/32 demask=18 remaining=1128
|
||||
[MaskGIT-Step] 20/32 demask=21 remaining=1107
|
||||
[MaskGIT-Step] 21/32 demask=23 remaining=1084
|
||||
[MaskGIT-Step] 22/32 demask=27 remaining=1057
|
||||
[MaskGIT-Step] 23/32 demask=31 remaining=1026
|
||||
[MaskGIT-Step] 24/32 demask=36 remaining=990
|
||||
[MaskGIT-Step] 25/32 demask=43 remaining=947
|
||||
[MaskGIT-Step] 26/32 demask=52 remaining=895
|
||||
[MaskGIT-Step] 27/32 demask=64 remaining=831
|
||||
[MaskGIT-Step] 28/32 demask=80 remaining=751
|
||||
[MaskGIT-Step] 29/32 demask=105 remaining=646
|
||||
[MaskGIT-Step] 30/32 demask=142 remaining=504
|
||||
[MaskGIT-Step] 31/32 demask=204 remaining=300
|
||||
[MaskGIT-Step] 32/32 demask=300 remaining=0
|
||||
[MaskGIT] Total LM forward: 3578.55 ms across 32 steps (avg 111.83 ms/step)
|
||||
[Debug] mg-tokens: [8, 163] first4: 224.000000 453.000000 637.000000 679.000000
|
||||
[TTS] Decode: K=8 T=163 expected_samples=156480
|
||||
[Debug] output-audio: [156480] first4: 0.000683 -0.000819 -0.000798 -0.000260
|
||||
[TTS-Long] Post-proc: 156480 -> 161280 samples (6.72s at 24000 Hz, ref_rms=-1.0000)
|
||||
[WAV] Wrote cpp/tts-cpp.wav: 161280 samples, 24000 Hz, mono F32
|
||||
[OmniVoice-TTS] TTS: wrote cpp/tts-cpp.wav (161280 samples @ 24000 Hz, 6.72 s)
|
||||
[Python] Audio: 161280 samples 6.72s -> python/tts-python.wav
|
||||
[GGML] Cmd: ../build/omnivoice-tts --model ../models/omnivoice-base-Q8_0.gguf --codec ../models/omnivoice-tokenizer-Q8_0.gguf --seed 42 --instruct male, young adult, moderate pitch --lang French --format wav32 --dump cpp --no-fa -o cpp/tts-cpp.wav
|
||||
[GGML] Audio: 161280 samples 24000 Hz 6.72s -> cpp/tts-cpp.wav
|
||||
[Cossim] PromptIDs cond exact: 100.00% uncond exact: 100.00%
|
||||
[Cossim] Embed cond cos: 0.999982 max: 4.3700e-03 mean: 4.3656e-04 uncond cos: 0.999983 max: 3.2318e-03 mean: 4.2568e-04
|
||||
[Cossim] L0 cond cos: 0.999996 max: 3.6663e-02 mean: 1.8711e-03 uncond cos: 0.999992 max: 2.3824e-02 mean: 2.5814e-03
|
||||
[Cossim] L6 cond cos: 0.999994 max: 6.1107e-01 mean: 3.4140e-03 uncond cos: 0.999986 max: 1.6519e-01 mean: 5.8785e-03
|
||||
[Cossim] L13 cond cos: 0.999995 max: 9.3094e-01 mean: 7.1379e-03 uncond cos: 0.999993 max: 1.7455e-01 mean: 8.1646e-03
|
||||
[Cossim] L20 cond cos: 0.999995 max: 8.3221e+00 mean: 4.1480e-02 uncond cos: 0.999994 max: 7.5868e-01 mean: 3.4025e-02
|
||||
[Cossim] Final cond cos: 0.999999 max: 1.0555e+00 mean: 3.5586e-03 uncond cos: 1.000000 max: 2.2087e-01 mean: 3.9274e-03
|
||||
[Cossim] Logits cond cos: 0.999999 max: 7.8818e-01 mean: 9.6051e-02 uncond cos: 0.999999 max: 8.2072e-01 mean: 9.6783e-02
|
||||
[Cossim] Step0Tokens exact: 48.93% diffs: 666
|
||||
[Cossim] Step0Scores cos: 0.996653 max_abs_diff: 1.991254 mean_abs_diff: 0.327971
|
||||
Reference in New Issue
Block a user