File created successfully at: /home/ubuntu/quench_0.6b/eval_tts.py

"""
Qwen3-TTS-12Hz-0.6B-Base — Maximum Accuracy Evaluation
GPU: A100-80GB | dtype: bfloat16
Metrics: Word Error Rate (WER), Character Error Rate (CER), Speaker Similarity
"""

import torch
import soundfile as sf
import numpy as np
import os
import time
import json
import whisper
from jiwer import wer, cer
from qwen_tts import Qwen3TTSModel

OUTPUT_DIR = "/home/ubuntu/quench_0.6b/results"
os.makedirs(OUTPUT_DIR, exist_ok=True)

# ─────────────────────────────────────────────
# 1. Load Models
# ─────────────────────────────────────────────
print("=" * 60)
print("  Qwen3-TTS-12Hz-0.6B-Base — Max Accuracy Eval")
print("=" * 60)

print("\n[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...")
t0 = time.time()
tts_model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    device_map="cuda:0",
    dtype=torch.bfloat16,
)
print(f"  TTS model loaded in {time.time()-t0:.1f}s")

print("\n[2/3] Loading Whisper large-v3 for transcription (max accuracy)...")
t0 = time.time()
whisper_model = whisper.load_model("large-v3", device="cuda:0")
print(f"  Whisper loaded in {time.time()-t0:.1f}s")

# ─────────────────────────────────────────────
# 2. Test Sentences (multi-language, varying complexity)
# ─────────────────────────────────────────────
test_cases = [
    # English
    {
        "text": "The quick brown fox jumps over the lazy dog near the riverbank.",
        "language": "English",
        "id": "en_simple"
    },
    {
        "text": "Artificial intelligence is transforming how we approach complex problems in science and engineering.",
        "language": "English",
        "id": "en_medium"
    },
    {
        "text": "In two thousand twenty-four, approximately three point seven billion people used smartphones worldwide.",
        "language": "English",
        "id": "en_numbers"
    },
    {
        "text": "She said, 'I can't believe it!' and then whispered, 'This changes everything we know about quantum mechanics.'",
        "language": "English",
        "id": "en_punctuation"
    },
    {
        "text": "Dr. Smith prescribed two hundred and fifty milligrams of amoxicillin three times daily for seven days.",
        "language": "English",
        "id": "en_medical"
    },
    {
        "text": "The Massachusetts Institute of Technology announced groundbreaking research in superconductivity.",
        "language": "English",
        "id": "en_proper_nouns"
    },
    {
        "text": "Please navigate to one twenty-three Main Street, apartment four B, New York City.",
        "language": "English",
        "id": "en_address"
    },
    {
        "text": "The stock price fluctuated between forty-seven dollars and sixty-three cents and fifty-two dollars and eighteen cents throughout the trading session.",
        "language": "English",
        "id": "en_financial"
    },
    # Chinese
    {
        "text": "人工智能正在深刻改变着我们的日常生活和工作方式。",
        "language": "Chinese",
        "id": "zh_simple"
    },
    {
        "text": "中华人民共和国于一九四九年十月一日正式成立。",
        "language": "Chinese",
        "id": "zh_historical"
    },
    # Japanese
    {
        "text": "東京は日本の首都であり、世界で最も人口の多い都市の一つです。",
        "language": "Japanese",
        "id": "ja_simple"
    },
    # Korean
    {
        "text": "인공지능 기술은 우리의 일상생활을 크게 변화시키고 있습니다.",
        "language": "Korean",
        "id": "ko_simple"
    },
]

# Reference audio for voice cloning
REF_AUDIO = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav"
REF_TEXT = "Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you."

# ─────────────────────────────────────────────
# 3. Run Evaluation
# ─────────────────────────────────────────────
print(f"\n[3/3] Running evaluation on {len(test_cases)} test cases...")
print("-" * 60)

results = []
total_wer = 0.0
total_cer_val = 0.0
count_wer = 0

for i, tc in enumerate(test_cases):
    text = tc["text"]
    lang = tc["language"]
    tid = tc["id"]

    print(f"\n  [{i+1}/{len(test_cases)}] {tid} ({lang})")
    print(f"    Input: {text[:80]}{'...' if len(text)>80 else ''}")

    t0 = time.time()
    try:
        wavs, sr = tts_model.generate_voice_clone(
            text=text,
            language=lang,
            ref_audio=REF_AUDIO,
            ref_text=REF_TEXT,
            non_streaming_mode=True,
        )
        gen_time = time.time() - t0
        audio = wavs[0]

        # Save audio
        wav_path = os.path.join(OUTPUT_DIR, f"{tid}.wav")
        sf.write(wav_path, audio, sr)

        audio_duration = len(audio) / sr
        rtf = gen_time / audio_duration  # Real-time factor

        # Transcribe with Whisper large-v3
        whisper_result = whisper_model.transcribe(
            wav_path,
            language=lang[:2].lower() if lang != "Chinese" else "zh",
            beam_size=5,
            best_of=5,
            temperature=0.0,
        )
        transcription = whisper_result["text"].strip()

        # Compute WER and CER
        if lang in ["Chinese", "Japanese", "Korean"]:
            # For CJK, CER is more meaningful
            c = cer(text, transcription)
            w = wer(text, transcription)
            metric_name = "CER"
            metric_val = c
        else:
            w = wer(text, transcription)
            c = cer(text, transcription)
            metric_name = "WER"
            metric_val = w

        total_wer += w
        total_cer_val += c
        count_wer += 1

        print(f"    Output: {transcription[:80]}{'...' if len(transcription)>80 else ''}")
        print(f"    {metric_name}: {metric_val*100:.2f}% | WER: {w*100:.2f}% | CER: {c*100:.2f}%")
        print(f"    Audio: {audio_duration:.2f}s | Gen: {gen_time:.2f}s | RTF: {rtf:.3f}")

        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "transcription": transcription,
            "wer": round(w * 100, 2),
            "cer": round(c * 100, 2),
            "audio_duration_s": round(audio_duration, 2),
            "generation_time_s": round(gen_time, 2),
            "rtf": round(rtf, 3),
            "wav_file": wav_path,
        })

    except Exception as e:
        print(f"    ERROR: {e}")
        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "error": str(e),
        })

# ─────────────────────────────────────────────
# 4. Summary
# ─────────────────────────────────────────────
avg_wer = (total_wer / count_wer * 100) if count_wer > 0 else -1
avg_cer = (total_cer_val / count_wer * 100) if count_wer > 0 else -1

successful = [r for r in results if "error" not in r]
avg_rtf = np.mean([r["rtf"] for r in successful]) if successful else -1

summary = {
    "model": "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    "gpu": "NVIDIA A100-SXM4-80GB",
    "dtype": "bfloat16",
    "whisper_model": "large-v3",
    "total_test_cases": len(test_cases),
    "successful": len(successful),
    "avg_wer_pct": round(avg_wer, 2),
    "avg_cer_pct": round(avg_cer, 2),
    "avg_rtf": round(avg_rtf, 3),
    "results": results,
}

# Per-language breakdown
lang_results = {}
for r in successful:
    lang = r["language"]
    if lang not in lang_results:
        lang_results[lang] = {"wer": [], "cer": [], "rtf": []}
    lang_results[lang]["wer"].append(r["wer"])
    lang_results[lang]["cer"].append(r["cer"])
    lang_results[lang]["rtf"].append(r["rtf"])

summary["per_language"] = {}
for lang, vals in lang_results.items():
    summary["per_language"][lang] = {
        "avg_wer_pct": round(np.mean(vals["wer"]), 2),
        "avg_cer_pct": round(np.mean(vals["cer"]), 2),
        "avg_rtf": round(np.mean(vals["rtf"]), 3),
        "num_samples": len(vals["wer"]),
    }

# Save results
results_path = os.path.join(OUTPUT_DIR, "evaluation_results.json")
with open(results_path, "w") as f:
    json.dump(summary, f, indent=2, ensure_ascii=False)

print("\n" + "=" * 60)
print("  FINAL RESULTS — Qwen3-TTS-12Hz-0.6B-Base")
print("=" * 60)
print(f"  GPU:           NVIDIA A100-SXM4-80GB")
print(f"  Precision:     bfloat16 (max accuracy)")
print(f"  Transcriber:   Whisper large-v3")
print(f"  Test cases:    {len(successful)}/{len(test_cases)} successful")
print(f"  Avg WER:       {avg_wer:.2f}%")
print(f"  Avg CER:       {avg_cer:.2f}%")
print(f"  Avg RTF:       {avg_rtf:.3f}")
print()
print("  Per-Language Breakdown:")
for lang, vals in summary["per_language"].items():
    print(f"    {lang:12s}  WER: {vals['avg_wer_pct']:6.2f}%  CER: {vals['avg_cer_pct']:6.2f}%  RTF: {vals['avg_rtf']:.3f}  (n={vals['num_samples']})")
print()
print(f"  Results saved to: {results_path}")
print("=" * 60)


Bash

cd /home/ubuntu/quench_0.6b && python3 eval_tts.py 2>&1

Run Qwen3-TTS evaluation for max accuracy


Output:
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 59493.67it/s]


Output:
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 59493.67it/s]


Output:
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 59493.67it/s]


Output:
    whisper_model = whisper.load_model("large-v3", device="cuda:0")
  File "/home/ubuntu/.local/lib/python3.10/site-packages/whisper/__init__.py", line 106, in load_model
    raise RuntimeError(f"Model {name} not found; available models = {available_models()}")
RuntimeError: Model large-v3 not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large']

********
Warning: flash-attn is not installed. Will only run the manual PyTorch version. Please install flash-attn for faster inference.
********

============================================================
  Qwen3-TTS-12Hz-0.6B-Base — Max Accuracy Eval
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 59493.67it/s]
  TTS model loaded in 3.6s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...
Traceback (most recent call last):
  File "/home/ubuntu/quench_0.6b/eval_tts.py", line 38, in <module>
    whisper_model = whisper.load_model("large-v3", device="cuda:0")
  File "/home/ubuntu/.local/lib/python3.10/site-packages/whisper/__init__.py", line 106, in load_model
    raise RuntimeError(f"Model {name} not found; available models = {available_models()}")
RuntimeError: Model large-v3 not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large']


Error: Exit code 1

********
Warning: flash-attn is not installed. Will only run the manual PyTorch version. Please install flash-attn for faster inference.
********

============================================================
  Qwen3-TTS-12Hz-0.6B-Base — Max Accuracy Eval
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 59493.67it/s]
  TTS model loaded in 3.6s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...
Traceback (most recent call last):
  File "/home/ubuntu/quench_0.6b/eval_tts.py", line 38, in <module>
    whisper_model = whisper.load_model("large-v3", device="cuda:0")
  File "/home/ubuntu/.local/lib/python3.10/site-packages/whisper/__init__.py", line 106, in load_model
    raise RuntimeError(f"Model {name} not found; available models = {available_models()}")
RuntimeError: Model large-v3 not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large']

********
Warning: flash-attn is not installed. Will only run the manual PyTorch version. Please install flash-attn for faster inference.
********

============================================================
  Qwen3-TTS-12Hz-0.6B-Base — Max Accuracy Eval
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 59493.67it/s]
  TTS model loaded in 3.6s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...
Traceback (most recent call last):
  File "/home/ubuntu/quench_0.6b/eval_tts.py", line 38, in <module>
    whisper_model = whisper.load_model("large-v3", device="cuda:0")
  File "/home/ubuntu/.local/lib/python3.10/site-packages/whisper/__init__.py", line 106, in load_model
    raise RuntimeError(f"Model {name} not found; available models = {available_models()}")
RuntimeError: Model large-v3 not found; available models = ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large-v1', 'large-v2', 'large']


ToolSearch

Question: select:Edit


Tool loaded.

Question: select:Edit


Edit

whisper_model = whisper.load_model("large-v3", device="cuda:0")

whisper_model = whisper.load_model("large-v2", device="cuda:0")


print(f"  Transcriber:   Whisper large-v3")

print(f"  Transcriber:   Whisper large-v2")


The file /home/ubuntu/quench_0.6b/eval_tts.py has been updated successfully.

"""
Qwen3-TTS-12Hz-0.6B-Base — Maximum Accuracy Evaluation
GPU: A100-80GB | dtype: bfloat16
Metrics: Word Error Rate (WER), Character Error Rate (CER), Speaker Similarity
"""

import torch
import soundfile as sf
import numpy as np
import os
import time
import json
import whisper
from jiwer import wer, cer
from qwen_tts import Qwen3TTSModel

OUTPUT_DIR = "/home/ubuntu/quench_0.6b/results"
os.makedirs(OUTPUT_DIR, exist_ok=True)

# ─────────────────────────────────────────────
# 1. Load Models
# ─────────────────────────────────────────────
print("=" * 60)
print("  Qwen3-TTS-12Hz-0.6B-Base — Max Accuracy Eval")
print("=" * 60)

print("\n[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...")
t0 = time.time()
tts_model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    device_map="cuda:0",
    dtype=torch.bfloat16,
)
print(f"  TTS model loaded in {time.time()-t0:.1f}s")

print("\n[2/3] Loading Whisper large-v3 for transcription (max accuracy)...")
t0 = time.time()
whisper_model = whisper.load_model("large-v3", device="cuda:0")
print(f"  Whisper loaded in {time.time()-t0:.1f}s")

# ─────────────────────────────────────────────
# 2. Test Sentences (multi-language, varying complexity)
# ─────────────────────────────────────────────
test_cases = [
    # English
    {
        "text": "The quick brown fox jumps over the lazy dog near the riverbank.",
        "language": "English",
        "id": "en_simple"
    },
    {
        "text": "Artificial intelligence is transforming how we approach complex problems in science and engineering.",
        "language": "English",
        "id": "en_medium"
    },
    {
        "text": "In two thousand twenty-four, approximately three point seven billion people used smartphones worldwide.",
        "language": "English",
        "id": "en_numbers"
    },
    {
        "text": "She said, 'I can't believe it!' and then whispered, 'This changes everything we know about quantum mechanics.'",
        "language": "English",
        "id": "en_punctuation"
    },
    {
        "text": "Dr. Smith prescribed two hundred and fifty milligrams of amoxicillin three times daily for seven days.",
        "language": "English",
        "id": "en_medical"
    },
    {
        "text": "The Massachusetts Institute of Technology announced groundbreaking research in superconductivity.",
        "language": "English",
        "id": "en_proper_nouns"
    },
    {
        "text": "Please navigate to one twenty-three Main Street, apartment four B, New York City.",
        "language": "English",
        "id": "en_address"
    },
    {
        "text": "The stock price fluctuated between forty-seven dollars and sixty-three cents and fifty-two dollars and eighteen cents throughout the trading session.",
        "language": "English",
        "id": "en_financial"
    },
    # Chinese
    {
        "text": "人工智能正在深刻改变着我们的日常生活和工作方式。",
        "language": "Chinese",
        "id": "zh_simple"
    },
    {
        "text": "中华人民共和国于一九四九年十月一日正式成立。",
        "language": "Chinese",
        "id": "zh_historical"
    },
    # Japanese
    {
        "text": "東京は日本の首都であり、世界で最も人口の多い都市の一つです。",
        "language": "Japanese",
        "id": "ja_simple"
    },
    # Korean
    {
        "text": "인공지능 기술은 우리의 일상생활을 크게 변화시키고 있습니다.",
        "language": "Korean",
        "id": "ko_simple"
    },
]

# Reference audio for voice cloning
REF_AUDIO = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav"
REF_TEXT = "Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you."

# ─────────────────────────────────────────────
# 3. Run Evaluation
# ─────────────────────────────────────────────
print(f"\n[3/3] Running evaluation on {len(test_cases)} test cases...")
print("-" * 60)

results = []
total_wer = 0.0
total_cer_val = 0.0
count_wer = 0

for i, tc in enumerate(test_cases):
    text = tc["text"]
    lang = tc["language"]
    tid = tc["id"]

    print(f"\n  [{i+1}/{len(test_cases)}] {tid} ({lang})")
    print(f"    Input: {text[:80]}{'...' if len(text)>80 else ''}")

    t0 = time.time()
    try:
        wavs, sr = tts_model.generate_voice_clone(
            text=text,
            language=lang,
            ref_audio=REF_AUDIO,
            ref_text=REF_TEXT,
            non_streaming_mode=True,
        )
        gen_time = time.time() - t0
        audio = wavs[0]

        # Save audio
        wav_path = os.path.join(OUTPUT_DIR, f"{tid}.wav")
        sf.write(wav_path, audio, sr)

        audio_duration = len(audio) / sr
        rtf = gen_time / audio_duration  # Real-time factor

        # Transcribe with Whisper large-v3
        whisper_result = whisper_model.transcribe(
            wav_path,
            language=lang[:2].lower() if lang != "Chinese" else "zh",
            beam_size=5,
            best_of=5,
            temperature=0.0,
        )
        transcription = whisper_result["text"].strip()

        # Compute WER and CER
        if lang in ["Chinese", "Japanese", "Korean"]:
            # For CJK, CER is more meaningful
            c = cer(text, transcription)
            w = wer(text, transcription)
            metric_name = "CER"
            metric_val = c
        else:
            w = wer(text, transcription)
            c = cer(text, transcription)
            metric_name = "WER"
            metric_val = w

        total_wer += w
        total_cer_val += c
        count_wer += 1

        print(f"    Output: {transcription[:80]}{'...' if len(transcription)>80 else ''}")
        print(f"    {metric_name}: {metric_val*100:.2f}% | WER: {w*100:.2f}% | CER: {c*100:.2f}%")
        print(f"    Audio: {audio_duration:.2f}s | Gen: {gen_time:.2f}s | RTF: {rtf:.3f}")

        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "transcription": transcription,
            "wer": round(w * 100, 2),
            "cer": round(c * 100, 2),
            "audio_duration_s": round(audio_duration, 2),
            "generation_time_s": round(gen_time, 2),
            "rtf": round(rtf, 3),
            "wav_file": wav_path,
        })

    except Exception as e:
        print(f"    ERROR: {e}")
        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "error": str(e),
        })

# ─────────────────────────────────────────────
# 4. Summary
# ─────────────────────────────────────────────
avg_wer = (total_wer / count_wer * 100) if count_wer > 0 else -1
avg_cer = (total_cer_val / count_wer * 100) if count_wer > 0 else -1

successful = [r for r in results if "error" not in r]
avg_rtf = np.mean([r["rtf"] for r in successful]) if successful else -1

summary = {
    "model": "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    "gpu": "NVIDIA A100-SXM4-80GB",
    "dtype": "bfloat16",
    "whisper_model": "large-v3",
    "total_test_cases": len(test_cases),
    "successful": len(successful),
    "avg_wer_pct": round(avg_wer, 2),
    "avg_cer_pct": round(avg_cer, 2),
    "avg_rtf": round(avg_rtf, 3),
    "results": results,
}

# Per-language breakdown
lang_results = {}
for r in successful:
    lang = r["language"]
    if lang not in lang_results:
        lang_results[lang] = {"wer": [], "cer": [], "rtf": []}
    lang_results[lang]["wer"].append(r["wer"])
    lang_results[lang]["cer"].append(r["cer"])
    lang_results[lang]["rtf"].append(r["rtf"])

summary["per_language"] = {}
for lang, vals in lang_results.items():
    summary["per_language"][lang] = {
        "avg_wer_pct": round(np.mean(vals["wer"]), 2),
        "avg_cer_pct": round(np.mean(vals["cer"]), 2),
        "avg_rtf": round(np.mean(vals["rtf"]), 3),
        "num_samples": len(vals["wer"]),
    }

# Save results
results_path = os.path.join(OUTPUT_DIR, "evaluation_results.json")
with open(results_path, "w") as f:
    json.dump(summary, f, indent=2, ensure_ascii=False)

print("\n" + "=" * 60)
print("  FINAL RESULTS — Qwen3-TTS-12Hz-0.6B-Base")
print("=" * 60)
print(f"  GPU:           NVIDIA A100-SXM4-80GB")
print(f"  Precision:     bfloat16 (max accuracy)")
print(f"  Transcriber:   Whisper large-v3")
print(f"  Test cases:    {len(successful)}/{len(test_cases)} successful")
print(f"  Avg WER:       {avg_wer:.2f}%")
print(f"  Avg CER:       {avg_cer:.2f}%")
print(f"  Avg RTF:       {avg_rtf:.3f}")
print()
print("  Per-Language Breakdown:")
for lang, vals in summary["per_language"].items():
    print(f"    {lang:12s}  WER: {vals['avg_wer_pct']:6.2f}%  CER: {vals['avg_cer_pct']:6.2f}%  RTF: {vals['avg_rtf']:.3f}  (n={vals['num_samples']})")
print()
print(f"  Results saved to: {results_path}")
print("=" * 60)

-whisper_model = whisper.load_model("large-v3", device="cuda:0")

+whisper_model = whisper.load_model("large-v2", device="cuda:0")


"""
Qwen3-TTS-12Hz-0.6B-Base — Maximum Accuracy Evaluation
GPU: A100-80GB | dtype: bfloat16
Metrics: Word Error Rate (WER), Character Error Rate (CER), Speaker Similarity
"""

import torch
import soundfile as sf
import numpy as np
import os
import time
import json
import whisper
from jiwer import wer, cer
from qwen_tts import Qwen3TTSModel

OUTPUT_DIR = "/home/ubuntu/quench_0.6b/results"
os.makedirs(OUTPUT_DIR, exist_ok=True)

# ─────────────────────────────────────────────
# 1. Load Models
# ─────────────────────────────────────────────
print("=" * 60)
print("  Qwen3-TTS-12Hz-0.6B-Base — Max Accuracy Eval")
print("=" * 60)

print("\n[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...")
t0 = time.time()
tts_model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    device_map="cuda:0",
    dtype=torch.bfloat16,
)
print(f"  TTS model loaded in {time.time()-t0:.1f}s")

print("\n[2/3] Loading Whisper large-v3 for transcription (max accuracy)...")
t0 = time.time()
whisper_model = whisper.load_model("large-v2", device="cuda:0")
print(f"  Whisper loaded in {time.time()-t0:.1f}s")

# ─────────────────────────────────────────────
# 2. Test Sentences (multi-language, varying complexity)
# ─────────────────────────────────────────────
test_cases = [
    # English
    {
        "text": "The quick brown fox jumps over the lazy dog near the riverbank.",
        "language": "English",
        "id": "en_simple"
    },
    {
        "text": "Artificial intelligence is transforming how we approach complex problems in science and engineering.",
        "language": "English",
        "id": "en_medium"
    },
    {
        "text": "In two thousand twenty-four, approximately three point seven billion people used smartphones worldwide.",
        "language": "English",
        "id": "en_numbers"
    },
    {
        "text": "She said, 'I can't believe it!' and then whispered, 'This changes everything we know about quantum mechanics.'",
        "language": "English",
        "id": "en_punctuation"
    },
    {
        "text": "Dr. Smith prescribed two hundred and fifty milligrams of amoxicillin three times daily for seven days.",
        "language": "English",
        "id": "en_medical"
    },
    {
        "text": "The Massachusetts Institute of Technology announced groundbreaking research in superconductivity.",
        "language": "English",
        "id": "en_proper_nouns"
    },
    {
        "text": "Please navigate to one twenty-three Main Street, apartment four B, New York City.",
        "language": "English",
        "id": "en_address"
    },
    {
        "text": "The stock price fluctuated between forty-seven dollars and sixty-three cents and fifty-two dollars and eighteen cents throughout the trading session.",
        "language": "English",
        "id": "en_financial"
    },
    # Chinese
    {
        "text": "人工智能正在深刻改变着我们的日常生活和工作方式。",
        "language": "Chinese",
        "id": "zh_simple"
    },
    {
        "text": "中华人民共和国于一九四九年十月一日正式成立。",
        "language": "Chinese",
        "id": "zh_historical"
    },
    # Japanese
    {
        "text": "東京は日本の首都であり、世界で最も人口の多い都市の一つです。",
        "language": "Japanese",
        "id": "ja_simple"
    },
    # Korean
    {
        "text": "인공지능 기술은 우리의 일상생활을 크게 변화시키고 있습니다.",
        "language": "Korean",
        "id": "ko_simple"
    },
]

# Reference audio for voice cloning
REF_AUDIO = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav"
REF_TEXT = "Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you."

# ─────────────────────────────────────────────
# 3. Run Evaluation
# ─────────────────────────────────────────────
print(f"\n[3/3] Running evaluation on {len(test_cases)} test cases...")
print("-" * 60)

results = []
total_wer = 0.0
total_cer_val = 0.0
count_wer = 0

for i, tc in enumerate(test_cases):
    text = tc["text"]
    lang = tc["language"]
    tid = tc["id"]

    print(f"\n  [{i+1}/{len(test_cases)}] {tid} ({lang})")
    print(f"    Input: {text[:80]}{'...' if len(text)>80 else ''}")

    t0 = time.time()
    try:
        wavs, sr = tts_model.generate_voice_clone(
            text=text,
            language=lang,
            ref_audio=REF_AUDIO,
            ref_text=REF_TEXT,
            non_streaming_mode=True,
        )
        gen_time = time.time() - t0
        audio = wavs[0]

        # Save audio
        wav_path = os.path.join(OUTPUT_DIR, f"{tid}.wav")
        sf.write(wav_path, audio, sr)

        audio_duration = len(audio) / sr
        rtf = gen_time / audio_duration  # Real-time factor

        # Transcribe with Whisper large-v3
        whisper_result = whisper_model.transcribe(
            wav_path,
            language=lang[:2].lower() if lang != "Chinese" else "zh",
            beam_size=5,
            best_of=5,
            temperature=0.0,
        )
        transcription = whisper_result["text"].strip()

        # Compute WER and CER
        if lang in ["Chinese", "Japanese", "Korean"]:
            # For CJK, CER is more meaningful
            c = cer(text, transcription)
            w = wer(text, transcription)
            metric_name = "CER"
            metric_val = c
        else:
            w = wer(text, transcription)
            c = cer(text, transcription)
            metric_name = "WER"
            metric_val = w

        total_wer += w
        total_cer_val += c
        count_wer += 1

        print(f"    Output: {transcription[:80]}{'...' if len(transcription)>80 else ''}")
        print(f"    {metric_name}: {metric_val*100:.2f}% | WER: {w*100:.2f}% | CER: {c*100:.2f}%")
        print(f"    Audio: {audio_duration:.2f}s | Gen: {gen_time:.2f}s | RTF: {rtf:.3f}")

        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "transcription": transcription,
            "wer": round(w * 100, 2),
            "cer": round(c * 100, 2),
            "audio_duration_s": round(audio_duration, 2),
            "generation_time_s": round(gen_time, 2),
            "rtf": round(rtf, 3),
            "wav_file": wav_path,
        })

    except Exception as e:
        print(f"    ERROR: {e}")
        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "error": str(e),
        })

# ─────────────────────────────────────────────
# 4. Summary
# ─────────────────────────────────────────────
avg_wer = (total_wer / count_wer * 100) if count_wer > 0 else -1
avg_cer = (total_cer_val / count_wer * 100) if count_wer > 0 else -1

successful = [r for r in results if "error" not in r]
avg_rtf = np.mean([r["rtf"] for r in successful]) if successful else -1

summary = {
    "model": "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    "gpu": "NVIDIA A100-SXM4-80GB",
    "dtype": "bfloat16",
    "whisper_model": "large-v3",
    "total_test_cases": len(test_cases),
    "successful": len(successful),
    "avg_wer_pct": round(avg_wer, 2),
    "avg_cer_pct": round(avg_cer, 2),
    "avg_rtf": round(avg_rtf, 3),
    "results": results,
}

# Per-language breakdown
lang_results = {}
for r in successful:
    lang = r["language"]
    if lang not in lang_results:
        lang_results[lang] = {"wer": [], "cer": [], "rtf": []}
    lang_results[lang]["wer"].append(r["wer"])
    lang_results[lang]["cer"].append(r["cer"])
    lang_results[lang]["rtf"].append(r["rtf"])

summary["per_language"] = {}
for lang, vals in lang_results.items():
    summary["per_language"][lang] = {
        "avg_wer_pct": round(np.mean(vals["wer"]), 2),
        "avg_cer_pct": round(np.mean(vals["cer"]), 2),
        "avg_rtf": round(np.mean(vals["rtf"]), 3),
        "num_samples": len(vals["wer"]),
    }

# Save results
results_path = os.path.join(OUTPUT_DIR, "evaluation_results.json")
with open(results_path, "w") as f:
    json.dump(summary, f, indent=2, ensure_ascii=False)

print("\n" + "=" * 60)
print("  FINAL RESULTS — Qwen3-TTS-12Hz-0.6B-Base")
print("=" * 60)
print(f"  GPU:           NVIDIA A100-SXM4-80GB")
print(f"  Precision:     bfloat16 (max accuracy)")
print(f"  Transcriber:   Whisper large-v3")
print(f"  Test cases:    {len(successful)}/{len(test_cases)} successful")
print(f"  Avg WER:       {avg_wer:.2f}%")
print(f"  Avg CER:       {avg_cer:.2f}%")
print(f"  Avg RTF:       {avg_rtf:.3f}")
print()
print("  Per-Language Breakdown:")
for lang, vals in summary["per_language"].items():
    print(f"    {lang:12s}  WER: {vals['avg_wer_pct']:6.2f}%  CER: {vals['avg_cer_pct']:6.2f}%  RTF: {vals['avg_rtf']:.3f}  (n={vals['num_samples']})")
print()
print(f"  Results saved to: {results_path}")
print("=" * 60)


"""
Qwen3-TTS-12Hz-0.6B-Base — Maximum Accuracy Evaluation
GPU: A100-80GB | dtype: bfloat16
Metrics: Word Error Rate (WER), Character Error Rate (CER), Speaker Similarity
"""

import torch
import soundfile as sf
import numpy as np
import os
import time
import json
import whisper
from jiwer import wer, cer
from qwen_tts import Qwen3TTSModel

OUTPUT_DIR = "/home/ubuntu/quench_0.6b/results"
os.makedirs(OUTPUT_DIR, exist_ok=True)

# ─────────────────────────────────────────────
# 1. Load Models
# ─────────────────────────────────────────────
print("=" * 60)
print("  Qwen3-TTS-12Hz-0.6B-Base — Max Accuracy Eval")
print("=" * 60)

print("\n[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...")
t0 = time.time()
tts_model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    device_map="cuda:0",
    dtype=torch.bfloat16,
)
print(f"  TTS model loaded in {time.time()-t0:.1f}s")

print("\n[2/3] Loading Whisper large-v3 for transcription (max accuracy)...")
t0 = time.time()
whisper_model = whisper.load_model("large-v2", device="cuda:0")
print(f"  Whisper loaded in {time.time()-t0:.1f}s")

# ─────────────────────────────────────────────
# 2. Test Sentences (multi-language, varying complexity)
# ─────────────────────────────────────────────
test_cases = [
    # English
    {
        "text": "The quick brown fox jumps over the lazy dog near the riverbank.",
        "language": "English",
        "id": "en_simple"
    },
    {
        "text": "Artificial intelligence is transforming how we approach complex problems in science and engineering.",
        "language": "English",
        "id": "en_medium"
    },
    {
        "text": "In two thousand twenty-four, approximately three point seven billion people used smartphones worldwide.",
        "language": "English",
        "id": "en_numbers"
    },
    {
        "text": "She said, 'I can't believe it!' and then whispered, 'This changes everything we know about quantum mechanics.'",
        "language": "English",
        "id": "en_punctuation"
    },
    {
        "text": "Dr. Smith prescribed two hundred and fifty milligrams of amoxicillin three times daily for seven days.",
        "language": "English",
        "id": "en_medical"
    },
    {
        "text": "The Massachusetts Institute of Technology announced groundbreaking research in superconductivity.",
        "language": "English",
        "id": "en_proper_nouns"
    },
    {
        "text": "Please navigate to one twenty-three Main Street, apartment four B, New York City.",
        "language": "English",
        "id": "en_address"
    },
    {
        "text": "The stock price fluctuated between forty-seven dollars and sixty-three cents and fifty-two dollars and eighteen cents throughout the trading session.",
        "language": "English",
        "id": "en_financial"
    },
    # Chinese
    {
        "text": "人工智能正在深刻改变着我们的日常生活和工作方式。",
        "language": "Chinese",
        "id": "zh_simple"
    },
    {
        "text": "中华人民共和国于一九四九年十月一日正式成立。",
        "language": "Chinese",
        "id": "zh_historical"
    },
    # Japanese
    {
        "text": "東京は日本の首都であり、世界で最も人口の多い都市の一つです。",
        "language": "Japanese",
        "id": "ja_simple"
    },
    # Korean
    {
        "text": "인공지능 기술은 우리의 일상생활을 크게 변화시키고 있습니다.",
        "language": "Korean",
        "id": "ko_simple"
    },
]

# Reference audio for voice cloning
REF_AUDIO = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav"
REF_TEXT = "Okay. Yeah. I resent you. I love you. I respect you. But you know what? You blew it! And thanks to you."

# ─────────────────────────────────────────────
# 3. Run Evaluation
# ─────────────────────────────────────────────
print(f"\n[3/3] Running evaluation on {len(test_cases)} test cases...")
print("-" * 60)

results = []
total_wer = 0.0
total_cer_val = 0.0
count_wer = 0

for i, tc in enumerate(test_cases):
    text = tc["text"]
    lang = tc["language"]
    tid = tc["id"]

    print(f"\n  [{i+1}/{len(test_cases)}] {tid} ({lang})")
    print(f"    Input: {text[:80]}{'...' if len(text)>80 else ''}")

    t0 = time.time()
    try:
        wavs, sr = tts_model.generate_voice_clone(
            text=text,
            language=lang,
            ref_audio=REF_AUDIO,
            ref_text=REF_TEXT,
            non_streaming_mode=True,
        )
        gen_time = time.time() - t0
        audio = wavs[0]

        # Save audio
        wav_path = os.path.join(OUTPUT_DIR, f"{tid}.wav")
        sf.write(wav_path, audio, sr)

        audio_duration = len(audio) / sr
        rtf = gen_time / audio_duration  # Real-time factor

        # Transcribe with Whisper large-v3
        whisper_result = whisper_model.transcribe(
            wav_path,
            language=lang[:2].lower() if lang != "Chinese" else "zh",
            beam_size=5,
            best_of=5,
            temperature=0.0,
        )
        transcription = whisper_result["text"].strip()

        # Compute WER and CER
        if lang in ["Chinese", "Japanese", "Korean"]:
            # For CJK, CER is more meaningful
            c = cer(text, transcription)
            w = wer(text, transcription)
            metric_name = "CER"
            metric_val = c
        else:
            w = wer(text, transcription)
            c = cer(text, transcription)
            metric_name = "WER"
            metric_val = w

        total_wer += w
        total_cer_val += c
        count_wer += 1

        print(f"    Output: {transcription[:80]}{'...' if len(transcription)>80 else ''}")
        print(f"    {metric_name}: {metric_val*100:.2f}% | WER: {w*100:.2f}% | CER: {c*100:.2f}%")
        print(f"    Audio: {audio_duration:.2f}s | Gen: {gen_time:.2f}s | RTF: {rtf:.3f}")

        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "transcription": transcription,
            "wer": round(w * 100, 2),
            "cer": round(c * 100, 2),
            "audio_duration_s": round(audio_duration, 2),
            "generation_time_s": round(gen_time, 2),
            "rtf": round(rtf, 3),
            "wav_file": wav_path,
        })

    except Exception as e:
        print(f"    ERROR: {e}")
        results.append({
            "id": tid,
            "language": lang,
            "input_text": text,
            "error": str(e),
        })

# ─────────────────────────────────────────────
# 4. Summary
# ─────────────────────────────────────────────
avg_wer = (total_wer / count_wer * 100) if count_wer > 0 else -1
avg_cer = (total_cer_val / count_wer * 100) if count_wer > 0 else -1

successful = [r for r in results if "error" not in r]
avg_rtf = np.mean([r["rtf"] for r in successful]) if successful else -1

summary = {
    "model": "Qwen/Qwen3-TTS-12Hz-0.6B-Base",
    "gpu": "NVIDIA A100-SXM4-80GB",
    "dtype": "bfloat16",
    "whisper_model": "large-v2",
    "total_test_cases": len(test_cases),
    "successful": len(successful),
    "avg_wer_pct": round(avg_wer, 2),
    "avg_cer_pct": round(avg_cer, 2),
    "avg_rtf": round(avg_rtf, 3),
    "results": results,
}

# Per-language breakdown
lang_results = {}
for r in successful:
    lang = r["language"]
    if lang not in lang_results:
        lang_results[lang] = {"wer": [], "cer": [], "rtf": []}
    lang_results[lang]["wer"].append(r["wer"])
    lang_results[lang]["cer"].append(r["cer"])
    lang_results[lang]["rtf"].append(r["rtf"])

summary["per_language"] = {}
for lang, vals in lang_results.items():
    summary["per_language"][lang] = {
        "avg_wer_pct": round(np.mean(vals["wer"]), 2),
        "avg_cer_pct": round(np.mean(vals["cer"]), 2),
        "avg_rtf": round(np.mean(vals["rtf"]), 3),
        "num_samples": len(vals["wer"]),
    }

# Save results
results_path = os.path.join(OUTPUT_DIR, "evaluation_results.json")
with open(results_path, "w") as f:
    json.dump(summary, f, indent=2, ensure_ascii=False)

print("\n" + "=" * 60)
print("  FINAL RESULTS — Qwen3-TTS-12Hz-0.6B-Base")
print("=" * 60)
print(f"  GPU:           NVIDIA A100-SXM4-80GB")
print(f"  Precision:     bfloat16 (max accuracy)")
print(f"  Transcriber:   Whisper large-v3")
print(f"  Test cases:    {len(successful)}/{len(test_cases)} successful")
print(f"  Avg WER:       {avg_wer:.2f}%")
print(f"  Avg CER:       {avg_cer:.2f}%")
print(f"  Avg RTF:       {avg_rtf:.3f}")
print()
print("  Per-Language Breakdown:")
for lang, vals in summary["per_language"].items():
    print(f"    {lang:12s}  WER: {vals['avg_wer_pct']:6.2f}%  CER: {vals['avg_cer_pct']:6.2f}%  RTF: {vals['avg_rtf']:.3f}  (n={vals['num_samples']})")
print()
print(f"  Results saved to: {results_path}")
print("=" * 60)

print(f"  GPU:           NVIDIA A100-SXM4-80GB")

-print(f"  Transcriber:   Whisper large-v3")

+print(f"  Transcriber:   Whisper large-v2")

print(f"  Avg WER:       {avg_wer:.2f}%")

print(f"  Avg CER:       {avg_cer:.2f}%")


Bash

cd /home/ubuntu/quench_0.6b && python3 eval_tts.py 2>&1

Run Qwen3-TTS evaluation with Whisper large-v2


Output:
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 67650.06it/s]


Output:
============================================================

[1/3] Loading Qwen3-TTS model (bfloat16, CUDA)...

Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 67650.06it/s]


Output:
Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 67650.06it/s]
  TTS model loaded in 3.1s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...

  0%|                                              | 0.00/2.87G [00:00<?, ?iB/s]
  0%|                                     | 8.59M/2.87G [00:00<00:34, 89.6MiB/s]
  1%|▏                                    | 17.1M/2.87G [00:00<00:37, 82.9MiB/s]


Output:
Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 67650.06it/s]
  TTS model loaded in 3.1s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...

  0%|                                              | 0.00/2.87G [00:00<?, ?iB/s]
  0%|                                     | 8.59M/2.87G [00:00<00:34, 89.6MiB/s]
  1%|▏                                    | 17.1M/2.87G [00:00<00:37, 82.9MiB/s]
  1%|▎                                    | 25.7M/2.87G [00:00<00:35, 85.6MiB/s]
  1%|▍                                    | 33.9M/2.87G [00:00<00:36, 82.6MiB/s]
  1%|▌                                    | 41.9M/2.87G [00:00<00:36, 83.0MiB/s]
  2%|▋                                    | 49.8M/2.87G [00:00<00:36, 82.1MiB/s]
  2%|▋                                    | 57.6M/2.87G [00:00<00:38, 77.8MiB/s]
  2%|▊                                    | 69.5M/2.87G [00:00<00:32, 91.9MiB/s]
  3%|▉                                    | 78.8M/2.87G [00:00<00:32, 93.5MiB/s]
  3%|█                                    | 88.7M/2.87G [00:01<00:31, 95.6MiB/s]
  3%|█▏                                   | 97.9M/2.87G [00:01<00:31, 95.6MiB/s]
  4%|█▍                                     | 109M/2.87G [00:01<00:29, 102MiB/s]


Output:
Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 67650.06it/s]
  TTS model loaded in 3.1s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...

  0%|                                              | 0.00/2.87G [00:00<?, ?iB/s]
  0%|                                     | 8.59M/2.87G [00:00<00:34, 89.6MiB/s]
  1%|▏                                    | 17.1M/2.87G [00:00<00:37, 82.9MiB/s]
  1%|▎                                    | 25.7M/2.87G [00:00<00:35, 85.6MiB/s]
  1%|▍                                    | 33.9M/2.87G [00:00<00:36, 82.6MiB/s]
  1%|▌                                    | 41.9M/2.87G [00:00<00:36, 83.0MiB/s]
  2%|▋                                    | 49.8M/2.87G [00:00<00:36, 82.1MiB/s]
  2%|▋                                    | 57.6M/2.87G [00:00<00:38, 77.8MiB/s]
  2%|▊                                    | 69.5M/2.87G [00:00<00:32, 91.9MiB/s]
  3%|▉                                    | 78.8M/2.87G [00:00<00:32, 93.5MiB/s]
  3%|█                                    | 88.7M/2.87G [00:01<00:31, 95.6MiB/s]
  3%|█▏                                   | 97.9M/2.87G [00:01<00:31, 95.6MiB/s]
  4%|█▍                                     | 109M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▌                                     | 119M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▋                                    | 129M/2.87G [00:01<00:30, 98.3MiB/s]
  5%|█▊                                    | 138M/2.87G [00:01<00:30, 96.5MiB/s]
  5%|█▉                                    | 148M/2.87G [00:01<00:30, 97.3MiB/s]
  5%|██                                    | 157M/2.87G [00:01<00:29, 98.7MiB/s]
  6%|██▏                                    | 168M/2.87G [00:01<00:28, 102MiB/s]
  6%|██▎                                    | 178M/2.87G [00:01<00:28, 101MiB/s]
  6%|██▍                                   | 187M/2.87G [00:02<00:34, 83.5MiB/s]


Output:
Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 67650.06it/s]
  TTS model loaded in 3.1s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...

  0%|                                              | 0.00/2.87G [00:00<?, ?iB/s]
  0%|                                     | 8.59M/2.87G [00:00<00:34, 89.6MiB/s]
  1%|▏                                    | 17.1M/2.87G [00:00<00:37, 82.9MiB/s]
  1%|▎                                    | 25.7M/2.87G [00:00<00:35, 85.6MiB/s]
  1%|▍                                    | 33.9M/2.87G [00:00<00:36, 82.6MiB/s]
  1%|▌                                    | 41.9M/2.87G [00:00<00:36, 83.0MiB/s]
  2%|▋                                    | 49.8M/2.87G [00:00<00:36, 82.1MiB/s]
  2%|▋                                    | 57.6M/2.87G [00:00<00:38, 77.8MiB/s]
  2%|▊                                    | 69.5M/2.87G [00:00<00:32, 91.9MiB/s]
  3%|▉                                    | 78.8M/2.87G [00:00<00:32, 93.5MiB/s]
  3%|█                                    | 88.7M/2.87G [00:01<00:31, 95.6MiB/s]
  3%|█▏                                   | 97.9M/2.87G [00:01<00:31, 95.6MiB/s]
  4%|█▍                                     | 109M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▌                                     | 119M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▋                                    | 129M/2.87G [00:01<00:30, 98.3MiB/s]
  5%|█▊                                    | 138M/2.87G [00:01<00:30, 96.5MiB/s]
  5%|█▉                                    | 148M/2.87G [00:01<00:30, 97.3MiB/s]
  5%|██                                    | 157M/2.87G [00:01<00:29, 98.7MiB/s]
  6%|██▏                                    | 168M/2.87G [00:01<00:28, 102MiB/s]
  6%|██▎                                    | 178M/2.87G [00:01<00:28, 101MiB/s]
  6%|██▍                                   | 187M/2.87G [00:02<00:34, 83.5MiB/s]
  7%|██▌                                   | 196M/2.87G [00:02<00:40, 70.6MiB/s]
  7%|██▌                                   | 203M/2.87G [00:02<00:39, 72.5MiB/s]
  7%|██▋                                   | 211M/2.87G [00:02<00:38, 73.9MiB/s]
  7%|██▊                                   | 218M/2.87G [00:02<00:41, 68.8MiB/s]
  8%|██▉                                   | 225M/2.87G [00:02<00:45, 63.3MiB/s]
  8%|██▉                                   | 232M/2.87G [00:02<00:44, 64.4MiB/s]
  8%|███                                   | 240M/2.87G [00:03<00:40, 70.0MiB/s]
  8%|███▏                                  | 250M/2.87G [00:03<00:35, 79.6MiB/s]
  9%|███▎                                  | 258M/2.87G [00:03<00:34, 81.6MiB/s]


Output:
Fetching 4 files:   0%|          | 0/4 [00:00<?, ?it/s]
Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 67650.06it/s]
  TTS model loaded in 3.1s

[2/3] Loading Whisper large-v3 for transcription (max accuracy)...

  0%|                                              | 0.00/2.87G [00:00<?, ?iB/s]
  0%|                                     | 8.59M/2.87G [00:00<00:34, 89.6MiB/s]
  1%|▏                                    | 17.1M/2.87G [00:00<00:37, 82.9MiB/s]
  1%|▎                                    | 25.7M/2.87G [00:00<00:35, 85.6MiB/s]
  1%|▍                                    | 33.9M/2.87G [00:00<00:36, 82.6MiB/s]
  1%|▌                                    | 41.9M/2.87G [00:00<00:36, 83.0MiB/s]
  2%|▋                                    | 49.8M/2.87G [00:00<00:36, 82.1MiB/s]
  2%|▋                                    | 57.6M/2.87G [00:00<00:38, 77.8MiB/s]
  2%|▊                                    | 69.5M/2.87G [00:00<00:32, 91.9MiB/s]
  3%|▉                                    | 78.8M/2.87G [00:00<00:32, 93.5MiB/s]
  3%|█                                    | 88.7M/2.87G [00:01<00:31, 95.6MiB/s]
  3%|█▏                                   | 97.9M/2.87G [00:01<00:31, 95.6MiB/s]
  4%|█▍                                     | 109M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▌                                     | 119M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▋                                    | 129M/2.87G [00:01<00:30, 98.3MiB/s]
  5%|█▊                                    | 138M/2.87G [00:01<00:30, 96.5MiB/s]
  5%|█▉                                    | 148M/2.87G [00:01<00:30, 97.3MiB/s]
  5%|██                                    | 157M/2.87G [00:01<00:29, 98.7MiB/s]
  6%|██▏                                    | 168M/2.87G [00:01<00:28, 102MiB/s]
  6%|██▎                                    | 178M/2.87G [00:01<00:28, 101MiB/s]
  6%|██▍                                   | 187M/2.87G [00:02<00:34, 83.5MiB/s]
  7%|██▌                                   | 196M/2.87G [00:02<00:40, 70.6MiB/s]
  7%|██▌                                   | 203M/2.87G [00:02<00:39, 72.5MiB/s]
  7%|██▋                                   | 211M/2.87G [00:02<00:38, 73.9MiB/s]
  7%|██▊                                   | 218M/2.87G [00:02<00:41, 68.8MiB/s]
  8%|██▉                                   | 225M/2.87G [00:02<00:45, 63.3MiB/s]
  8%|██▉                                   | 232M/2.87G [00:02<00:44, 64.4MiB/s]
  8%|███                                   | 240M/2.87G [00:03<00:40, 70.0MiB/s]
  8%|███▏                                  | 250M/2.87G [00:03<00:35, 79.6MiB/s]
  9%|███▎                                  | 258M/2.87G [00:03<00:34, 81.6MiB/s]
  9%|███▍                                  | 268M/2.87G [00:03<00:32, 85.8MiB/s]
  9%|███▌                                  | 278M/2.87G [00:03<00:30, 92.4MiB/s]
 10%|███▊                                   | 291M/2.87G [00:03<00:26, 106MiB/s]
 10%|███▉                                  | 302M/2.87G [00:03<00:28, 96.1MiB/s]
 11%|████                                  | 312M/2.87G [00:03<00:27, 99.4MiB/s]
 11%|████▎                                  | 323M/2.87G [00:03<00:26, 105MiB/s]
 11%|████▍                                  | 335M/2.87G [00:03<00:24, 110MiB/s]
 12%|████▌                                  | 346M/2.87G [00:04<00:24, 110MiB/s]
 12%|████▋                                  | 356M/2.87G [00:04<00:25, 108MiB/s]
 13%|████▉                                  | 369M/2.87G [00:04<00:23, 116MiB/s]


Output:
                          | 8.59M/2.87G [00:00<00:34, 89.6MiB/s]
  1%|▏                                    | 17.1M/2.87G [00:00<00:37, 82.9MiB/s]
  1%|▎                                    | 25.7M/2.87G [00:00<00:35, 85.6MiB/s]
  1%|▍                                    | 33.9M/2.87G [00:00<00:36, 82.6MiB/s]
  1%|▌                                    | 41.9M/2.87G [00:00<00:36, 83.0MiB/s]
  2%|▋                                    | 49.8M/2.87G [00:00<00:36, 82.1MiB/s]
  2%|▋                                    | 57.6M/2.87G [00:00<00:38, 77.8MiB/s]
  2%|▊                                    | 69.5M/2.87G [00:00<00:32, 91.9MiB/s]
  3%|▉                                    | 78.8M/2.87G [00:00<00:32, 93.5MiB/s]
  3%|█                                    | 88.7M/2.87G [00:01<00:31, 95.6MiB/s]
  3%|█▏                                   | 97.9M/2.87G [00:01<00:31, 95.6MiB/s]
  4%|█▍                                     | 109M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▌                                     | 119M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▋                                    | 129M/2.87G [00:01<00:30, 98.3MiB/s]
  5%|█▊                                    | 138M/2.87G [00:01<00:30, 96.5MiB/s]
  5%|█▉                                    | 148M/2.87G [00:01<00:30, 97.3MiB/s]
  5%|██                                    | 157M/2.87G [00:01<00:29, 98.7MiB/s]
  6%|██▏                                    | 168M/2.87G [00:01<00:28, 102MiB/s]
  6%|██▎                                    | 178M/2.87G [00:01<00:28, 101MiB/s]
  6%|██▍                                   | 187M/2.87G [00:02<00:34, 83.5MiB/s]
  7%|██▌                                   | 196M/2.87G [00:02<00:40, 70.6MiB/s]
  7%|██▌                                   | 203M/2.87G [00:02<00:39, 72.5MiB/s]
  7%|██▋                                   | 211M/2.87G [00:02<00:38, 73.9MiB/s]
  7%|██▊                                   | 218M/2.87G [00:02<00:41, 68.8MiB/s]
  8%|██▉                                   | 225M/2.87G [00:02<00:45, 63.3MiB/s]
  8%|██▉                                   | 232M/2.87G [00:02<00:44, 64.4MiB/s]
  8%|███                                   | 240M/2.87G [00:03<00:40, 70.0MiB/s]
  8%|███▏                                  | 250M/2.87G [00:03<00:35, 79.6MiB/s]
  9%|███▎                                  | 258M/2.87G [00:03<00:34, 81.6MiB/s]
  9%|███▍                                  | 268M/2.87G [00:03<00:32, 85.8MiB/s]
  9%|███▌                                  | 278M/2.87G [00:03<00:30, 92.4MiB/s]
 10%|███▊                                   | 291M/2.87G [00:03<00:26, 106MiB/s]
 10%|███▉                                  | 302M/2.87G [00:03<00:28, 96.1MiB/s]
 11%|████                                  | 312M/2.87G [00:03<00:27, 99.4MiB/s]
 11%|████▎                                  | 323M/2.87G [00:03<00:26, 105MiB/s]
 11%|████▍                                  | 335M/2.87G [00:03<00:24, 110MiB/s]
 12%|████▌                                  | 346M/2.87G [00:04<00:24, 110MiB/s]
 12%|████▋                                  | 356M/2.87G [00:04<00:25, 108MiB/s]
 13%|████▉                                  | 369M/2.87G [00:04<00:23, 116MiB/s]
 13%|█████                                  | 382M/2.87G [00:04<00:22, 121MiB/s]
 13%|█████▏                                 | 393M/2.87G [00:04<00:25, 103MiB/s]
 14%|█████▎                                 | 404M/2.87G [00:04<00:26, 102MiB/s]
 14%|█████▍                                 | 415M/2.87G [00:04<00:25, 105MiB/s]
 14%|█████▍                                | 425M/2.87G [00:04<00:26, 99.6MiB/s]
 15%|█████▊                                 | 435M/2.87G [00:04<00:25, 102MiB/s]
 15%|█████▋                                | 445M/2.87G [00:05<00:27, 95.4MiB/s]
 15%|█████▊                                | 455M/2.87G [00:05<00:27, 94.4MiB/s]


Output:
                 | 88.7M/2.87G [00:01<00:31, 95.6MiB/s]
  3%|█▏                                   | 97.9M/2.87G [00:01<00:31, 95.6MiB/s]
  4%|█▍                                     | 109M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▌                                     | 119M/2.87G [00:01<00:29, 102MiB/s]
  4%|█▋                                    | 129M/2.87G [00:01<00:30, 98.3MiB/s]
  5%|█▊                                    | 138M/2.87G [00:01<00:30, 96.5MiB/s]
  5%|█▉                                    | 148M/2.87G [00:01<00:30, 97.3MiB/s]
  5%|██                                    | 157M/2.87G [00:01<00:29, 98.7MiB/s]
  6%|██▏                                    | 168M/2.87G [00:01<00:28, 102MiB/s]
  6%|██▎                                    | 178M/2.87G [00:01<00:28, 101MiB/s]
  6%|██▍                                   | 187M/2.87G [00:02<00:34, 83.5MiB/s]
  7%|██▌                                   | 196M/2.87G [00:02<00:40, 70.6MiB/s]
  7%|██▌                                   | 203M/2.87G [00:02<00:39, 72.5MiB/s]
  7%|██▋                                   | 211M/2.87G [00:02<00:38, 73.9MiB/s]
  7%|██▊                                   | 218M/2.87G [00:02<00:41, 68.8MiB/s]
  8%|██▉                                   | 225M/2.87G [00:02<00:45, 63.3MiB/s]
  8%|██▉                                   | 232M/2.87G [00:02<00:44, 64.4MiB/s]
  8%|███                                   | 240M/2.87G [00:03<00:40, 70.0MiB/s]
  8%|███▏                                  | 250M/2.87G [00:03<00:35, 79.6MiB/s]
  9%|███▎                                  | 258M/2.87G [00:03<00:34, 81.6MiB/s]
  9%|███▍                                  | 268M/2.87G [00:03<00:32, 85.8MiB/s]
  9%|███▌                                  | 278M/2.87G [00:03<00:30, 92.4MiB/s]
 10%|███▊                                   | 291M/2.87G [00:03<00:26, 106MiB/s]
 10%|███▉                                  | 302M/2.87G [00:03<00:28, 96.1MiB/s]
 11%|████                                  | 312M/2.87G [00:03<00:27, 99.4MiB/s]
 11%|████▎                                  | 323M/2.87G [00:03<00:26, 105MiB/s]
 11%|████▍                                  | 335M/2.87G [00:03<00:24, 110MiB/s]
 12%|████▌                                  | 346M/2.87G [00:04<00:24, 110MiB/s]
 12%|████▋                                  | 356M/2.87G [00:04<00:25, 108MiB/s]
 13%|████▉                                  | 369M/2.87G [00:04<00:23, 116MiB/s]
 13%|█████                                  | 382M/2.87G [00:04<00:22, 121MiB/s]
 13%|█████▏                                 | 393M/2.87G [00:04<00:25, 103MiB/s]
 14%|█████▎                                 | 404M/2.87G [00:04<00:26, 102MiB/s]
 14%|█████▍                                 | 415M/2.87G [00:04<00:25, 105MiB/s]
 14%|█████▍                                | 425M/2.87G [00:04<00:26, 99.6MiB/s]
 15%|█████▊                                 | 435M/2.87G [00:04<00:25, 102MiB/s]
 15%|█████▋                                | 445M/2.87G [00:05<00:27, 95.4MiB/s]
 15%|█████▊                                | 455M/2.87G [00:05<00:27, 94.4MiB/s]
 16%|█████▉                                | 464M/2.87G [00:05<00:35, 73.5MiB/s]
 16%|██████                                | 471M/2.87G [00:05<00:34, 74.1MiB/s]
 16%|██████▏                               | 479M/2.87G [00:05<00:34, 74.7MiB/s]
 17%|██████▎                               | 487M/2.87G [00:05<00:34, 75.5MiB/s]
 17%|██████▍                               | 495M/2.87G [00:05<00:32, 78.1MiB/s]
 17%|██████▍                               | 503M/2.87G [00:05<00:36, 69.6MiB/s]
 17%|██████▌                               | 511M/2.87G [00:06<00:34, 73.3MiB/s]
 18%|██████▋                               | 518M/2.87G [00:06<00:35, 71.1MiB/s]


Output:
         | 187M/2.87G [00:02<00:34, 83.5MiB/s]
  7%|██▌                                   | 196M/2.87G [00:02<00:40, 70.6MiB/s]
  7%|██▌                                   | 203M/2.87G [00:02<00:39, 72.5MiB/s]
  7%|██▋                                   | 211M/2.87G [00:02<00:38, 73.9MiB/s]
  7%|██▊                                   | 218M/2.87G [00:02<00:41, 68.8MiB/s]
  8%|██▉                                   | 225M/2.87G [00:02<00:45, 63.3MiB/s]
  8%|██▉                                   | 232M/2.87G [00:02<00:44, 64.4MiB/s]
  8%|███                                   | 240M/2.87G [00:03<00:40, 70.0MiB/s]
  8%|███▏                                  | 250M/2.87G [00:03<00:35, 79.6MiB/s]
  9%|███▎                                  | 258M/2.87G [00:03<00:34, 81.6MiB/s]
  9%|███▍                                  | 268M/2.87G [00:03<00:32, 85.8MiB/s]
  9%|███▌                                  | 278M/2.87G [00:03<00:30, 92.4MiB/s]
 10%|███▊                                   | 291M/2.87G [00:03<00:26, 106MiB/s]
 10%|███▉                                  | 302M/2.87G [00:03<00:28, 96.1MiB/s]
 11%|████                                  | 312M/2.87G [00:03<00:27, 99.4MiB/s]
 11%|████▎                                  | 323M/2.87G [00:03<00:26, 105MiB/s]
 11%|████▍                                  | 335M/2.87G [00:03<00:24, 110MiB/s]
 12%|████▌                                  | 346M/2.87G [00:04<00:24, 110MiB/s]
 12%|████▋                                  | 356M/2.87G [00:04<00:25, 108MiB/s]
 13%|████▉                                  | 369M/2.87G [00:04<00:23, 116MiB/s]
 13%|█████                                  | 382M/2.87G [00:04<00:22, 121MiB/s]
 13%|█████▏                                 | 393M/2.87G [00:04<00:25, 103MiB/s]
 14%|█████▎                                 | 404M/2.87G [00:04<00:26, 102MiB/s]
 14%|█████▍                                 | 415M/2.87G [00:04<00:25, 105MiB/s]
 14%|█████▍                                | 425M/2.87G [00:04<00:26, 99.6MiB/s]
 15%|█████▊                                 | 435M/2.87G [00:04<00:25, 102MiB/s]
 15%|█████▋                                | 445M/2.87G [00:05<00:27, 95.4MiB/s]
 15%|█████▊                                | 455M/2.87G [00:05<00:27, 94.4MiB/s]
 16%|█████▉                                | 464M/2.87G [00:05<00:35, 73.5MiB/s]
 16%|██████                                | 471M/2.87G [00:05<00:34, 74.1MiB/s]
 16%|██████▏                               | 479M/2.87G [00:05<00:34, 74.7MiB/s]
 17%|██████▎                               | 487M/2.87G [00:05<00:34, 75.5MiB/s]
 17%|██████▍                               | 495M/2.87G [00:05<00:32, 78.1MiB/s]
 17%|██████▍                               | 503M/2.87G [00:05<00:36, 69.6MiB/s]
 17%|██████▌                               | 511M/2.87G [00:06<00:34, 73.3MiB/s]
 18%|██████▋                               | 518M/2.87G [00:06<00:35, 71.1MiB/s]
 18%|██████▊                               | 526M/2.87G [00:06<00:33, 74.9MiB/s]
 18%|██████▉                               | 534M/2.87G [00:06<00:33, 76.3MiB/s]
 18%|██████▉                               | 541M/2.87G [00:06<00:36, 69.2MiB/s]
 19%|███████                               | 548M/2.87G [00:06<00:39, 63.0MiB/s]
 19%|███████▏                              | 554M/2.87G [00:06<00:40, 61.6MiB/s]
 19%|███████▏                              | 561M/2.87G [00:06<00:38, 65.1MiB/s]
 19%|███████▎                              | 568M/2.87G [00:06<00:37, 66.3MiB/s]
 20%|███████▍                              | 577M/2.87G [00:07<00:33, 73.2MiB/s]
 20%|███████▌                              | 584M/2.87G [00:07<00:33, 73.6MiB/s]


Output:
/2.87G [00:03<00:30, 92.4MiB/s]
 10%|███▊                                   | 291M/2.87G [00:03<00:26, 106MiB/s]
 10%|███▉                                  | 302M/2.87G [00:03<00:28, 96.1MiB/s]
 11%|████                                  | 312M/2.87G [00:03<00:27, 99.4MiB/s]
 11%|████▎                                  | 323M/2.87G [00:03<00:26, 105MiB/s]
 11%|████▍                                  | 335M/2.87G [00:03<00:24, 110MiB/s]
 12%|████▌                                  | 346M/2.87G [00:04<00:24, 110MiB/s]
 12%|████▋                                  | 356M/2.87G [00:04<00:25, 108MiB/s]
 13%|████▉                                  | 369M/2.87G [00:04<00:23, 116MiB/s]
 13%|█████                                  | 382M/2.87G [00:04<00:22, 121MiB/s]
 13%|█████▏                                 | 393M/2.87G [00:04<00:25, 103MiB/s]
 14%|█████▎                                 | 404M/2.87G [00:04<00:26, 102MiB/s]
 14%|█████▍                                 | 415M/2.87G [00:04<00:25, 105MiB/s]
 14%|█████▍                                | 425M/2.87G [00:04<00:26, 99.6MiB/s]
 15%|█████▊                                 | 435M/2.87G [00:04<00:25, 102MiB/s]
 15%|█████▋                                | 445M/2.87G [00:05<00:27, 95.4MiB/s]
 15%|█████▊                                | 455M/2.87G [00:05<00:27, 94.4MiB/s]
 16%|█████▉                                | 464M/2.87G [00:05<00:35, 73.5MiB/s]
 16%|██████                                | 471M/2.87G [00:05<00:34, 74.1MiB/s]
 16%|██████▏                               | 479M/2.87G [00:05<00:34, 74.7MiB/s]
 17%|██████▎                               | 487M/2.87G [00:05<00:34, 75.5MiB/s]
 17%|██████▍                               | 495M/2.87G [00:05<00:32, 78.1MiB/s]
 17%|██████▍                               | 503M/2.87G [00:05<00:36, 69.6MiB/s]
 17%|██████▌                               | 511M/2.87G [00:06<00:34, 73.3MiB/s]
 18%|██████▋                               | 518M/2.87G [00:06<00:35, 71.1MiB/s]
 18%|██████▊                               | 526M/2.87G [00:06<00:33, 74.9MiB/s]
 18%|██████▉                               | 534M/2.87G [00:06<00:33, 76.3MiB/s]
 18%|██████▉                               | 541M/2.87G [00:06<00:36, 69.2MiB/s]
 19%|███████                               | 548M/2.87G [00:06<00:39, 63.0MiB/s]
 19%|███████▏                              | 554M/2.87G [00:06<00:40, 61.6MiB/s]
 19%|███████▏                              | 561M/2.87G [00:06<00:38, 65.1MiB/s]
 19%|███████▎                              | 568M/2.87G [00:06<00:37, 66.3MiB/s]
 20%|███████▍                              | 577M/2.87G [00:07<00:33, 73.2MiB/s]
 20%|███████▌                              | 584M/2.87G [00:07<00:33, 73.6MiB/s]
 20%|███████▋                              | 591M/2.87G [00:07<00:33, 73.8MiB/s]
 20%|███████▋                              | 600M/2.87G [00:07<00:31, 79.3MiB/s]
 21%|███████▊                              | 608M/2.87G [00:07<00:31, 78.8MiB/s]
 21%|███████▉                              | 616M/2.87G [00:07<00:29, 82.2MiB/s]
 21%|████████                              | 624M/2.87G [00:07<00:29, 82.1MiB/s]
 21%|████████▏                             | 632M/2.87G [00:07<00:31, 78.0MiB/s]
 22%|████████▎                             | 640M/2.87G [00:07<00:30, 78.3MiB/s]
 22%|████████▍                             | 650M/2.87G [00:07<00:28, 85.6MiB/s]
 22%|████████▍                             | 658M/2.87G [00:08<00:28, 85.1MiB/s]
 23%|████████▌                             | 666M/2.87G [00:08<00:31, 76.7MiB/s]


Output:
| 393M/2.87G [00:04<00:25, 103MiB/s]
 14%|█████▎                                 | 404M/2.87G [00:04<00:26, 102MiB/s]
 14%|█████▍                                 | 415M/2.87G [00:04<00:25, 105MiB/s]
 14%|█████▍                                | 425M/2.87G [00:04<00:26, 99.6MiB/s]
 15%|█████▊                                 | 435M/2.87G [00:04<00:25, 102MiB/s]
 15%|█████▋                                | 445M/2.87G [00:05<00:27, 95.4MiB/s]
 15%|█████▊                                | 455M/2.87G [00:05<00:27, 94.4MiB/s]
 16%|█████▉                                | 464M/2.87G [00:05<00:35, 73.5MiB/s]
 16%|██████                                | 471M/2.87G [00:05<00:34, 74.1MiB/s]
 16%|██████▏                               | 479M/2.87G [00:05<00:34, 74.7MiB/s]
 17%|██████▎                               | 487M/2.87G [00:05<00:34, 75.5MiB/s]
 17%|██████▍                               | 495M/2.87G [00:05<00:32, 78.1MiB/s]
 17%|██████▍                               | 503M/2.87G [00:05<00:36, 69.6MiB/s]
 17%|██████▌                               | 511M/2.87G [00:06<00:34, 73.3MiB/s]
 18%|██████▋                               | 518M/2.87G [00:06<00:35, 71.1MiB/s]
 18%|██████▊                               | 526M/2.87G [00:06<00:33, 74.9MiB/s]
 18%|██████▉                               | 534M/2.87G [00:06<00:33, 76.3MiB/s]
 18%|██████▉                               | 541M/2.87G [00:06<00:36, 69.2MiB/s]
 19%|███████                               | 548M/2.87G [00:06<00:39, 63.0MiB/s]
 19%|███████▏                              | 554M/2.87G [00:06<00:40, 61.6MiB/s]
 19%|███████▏                              | 561M/2.87G [00:06<00:38, 65.1MiB/s]
 19%|███████▎                              | 568M/2.87G [00:06<00:37, 66.3MiB/s]
 20%|███████▍                              | 577M/2.87G [00:07<00:33, 73.2MiB/s]
 20%|███████▌                              | 584M/2.87G [00:07<00:33, 73.6MiB/s]
 20%|███████▋                              | 591M/2.87G [00:07<00:33, 73.8MiB/s]
 20%|███████▋                              | 600M/2.87G [00:07<00:31, 79.3MiB/s]
 21%|███████▊                              | 608M/2.87G [00:07<00:31, 78.8MiB/s]
 21%|███████▉                              | 616M/2.87G [00:07<00:29, 82.2MiB/s]
 21%|████████                              | 624M/2.87G [00:07<00:29, 82.1MiB/s]
 21%|████████▏                             | 632M/2.87G [00:07<00:31, 78.0MiB/s]
 22%|████████▎                             | 640M/2.87G [00:07<00:30, 78.3MiB/s]
 22%|████████▍                             | 650M/2.87G [00:07<00:28, 85.6MiB/s]
 22%|████████▍                             | 658M/2.87G [00:08<00:28, 85.1MiB/s]
 23%|████████▌                             | 666M/2.87G [00:08<00:31, 76.7MiB/s]
 23%|████████▋                             | 674M/2.87G [00:08<00:31, 75.3MiB/s]
 23%|████████▊                             | 684M/2.87G [00:08<00:27, 85.1MiB/s]
 24%|████████▉                             | 692M/2.87G [00:08<00:29, 79.3MiB/s]
 24%|█████████                             | 701M/2.87G [00:08<00:28, 81.6MiB/s]
 24%|█████████▏                            | 709M/2.87G [00:08<00:28, 81.2MiB/s]
 24%|█████████▎                            | 719M/2.87G [00:08<00:25, 89.7MiB/s]
 25%|█████████▍                            | 729M/2.87G [00:08<00:24, 93.5MiB/s]
 25%|█████████▌                            | 738M/2.87G [00:09<00:26, 88.7MiB/s]
 25%|█████████▋                            | 747M/2.87G [00:09<00:28, 80.1MiB/s]


Output:
              | 487M/2.87G [00:05<00:34, 75.5MiB/s]
 17%|██████▍                               | 495M/2.87G [00:05<00:32, 78.1MiB/s]
 17%|██████▍                               | 503M/2.87G [00:05<00:36, 69.6MiB/s]
 17%|██████▌                               | 511M/2.87G [00:06<00:34, 73.3MiB/s]
 18%|██████▋                               | 518M/2.87G [00:06<00:35, 71.1MiB/s]
 18%|██████▊                               | 526M/2.87G [00:06<00:33, 74.9MiB/s]
 18%|██████▉                               | 534M/2.87G [00:06<00:33, 76.3MiB/s]
 18%|██████▉                               | 541M/2.87G [00:06<00:36, 69.2MiB/s]
 19%|███████                               | 548M/2.87G [00:06<00:39, 63.0MiB/s]
 19%|███████▏                              | 554M/2.87G [00:06<00:40, 61.6MiB/s]
 19%|███████▏                              | 561M/2.87G [00:06<00:38, 65.1MiB/s]
 19%|███████▎                              | 568M/2.87G [00:06<00:37, 66.3MiB/s]
 20%|███████▍                              | 577M/2.87G [00:07<00:33, 73.2MiB/s]
 20%|███████▌                              | 584M/2.87G [00:07<00:33, 73.6MiB/s]
 20%|███████▋                              | 591M/2.87G [00:07<00:33, 73.8MiB/s]
 20%|███████▋                              | 600M/2.87G [00:07<00:31, 79.3MiB/s]
 21%|███████▊                              | 608M/2.87G [00:07<00:31, 78.8MiB/s]
 21%|███████▉                              | 616M/2.87G [00:07<00:29, 82.2MiB/s]
 21%|████████                              | 624M/2.87G [00:07<00:29, 82.1MiB/s]
 21%|████████▏                             | 632M/2.87G [00:07<00:31, 78.0MiB/s]
 22%|████████▎                             | 640M/2.87G [00:07<00:30, 78.3MiB/s]
 22%|████████▍                             | 650M/2.87G [00:07<00:28, 85.6MiB/s]
 22%|████████▍                             | 658M/2.87G [00:08<00:28, 85.1MiB/s]
 23%|████████▌                             | 666M/2.87G [00:08<00:31, 76.7MiB/s]
 23%|████████▋                             | 674M/2.87G [00:08<00:31, 75.3MiB/s]
 23%|████████▊                             | 684M/2.87G [00:08<00:27, 85.1MiB/s]
 24%|████████▉                             | 692M/2.87G [00:08<00:29, 79.3MiB/s]
 24%|█████████                             | 701M/2.87G [00:08<00:28, 81.6MiB/s]
 24%|█████████▏                            | 709M/2.87G [00:08<00:28, 81.2MiB/s]
 24%|█████████▎                            | 719M/2.87G [00:08<00:25, 89.7MiB/s]
 25%|█████████▍                            | 729M/2.87G [00:08<00:24, 93.5MiB/s]
 25%|█████████▌                            | 738M/2.87G [00:09<00:26, 88.7MiB/s]
 25%|█████████▋                            | 747M/2.87G [00:09<00:28, 80.1MiB/s]
 26%|█████████▋                            | 755M/2.87G [00:09<00:27, 82.0MiB/s]
 26%|█████████▊                            | 763M/2.87G [00:09<00:28, 79.8MiB/s]
 26%|█████████▉                            | 771M/2.87G [00:09<00:28, 79.3MiB/s]
 27%|██████████                            | 780M/2.87G [00:09<00:26, 85.0MiB/s]
 27%|██████████▏                           | 789M/2.87G [00:09<00:27, 83.1MiB/s]
 27%|██████████▎                           | 797M/2.87G [00:09<00:26, 84.5MiB/s]
 27%|██████████▍                           | 805M/2.87G [00:09<00:26, 84.6MiB/s]
 28%|██████████▌                           | 816M/2.87G [00:10<00:23, 93.1MiB/s]
 28%|██████████▉                            | 827M/2.87G [00:10<00:22, 100MiB/s]


Output:
                         | 561M/2.87G [00:06<00:38, 65.1MiB/s]
 19%|███████▎                              | 568M/2.87G [00:06<00:37, 66.3MiB/s]
 20%|███████▍                              | 577M/2.87G [00:07<00:33, 73.2MiB/s]
 20%|███████▌                              | 584M/2.87G [00:07<00:33, 73.6MiB/s]
 20%|███████▋                              | 591M/2.87G [00:07<00:33, 73.8MiB/s]
 20%|███████▋                              | 600M/2.87G [00:07<00:31, 79.3MiB/s]
 21%|███████▊                              | 608M/2.87G [00:07<00:31, 78.8MiB/s]
 21%|███████▉                              | 616M/2.87G [00:07<00:29, 82.2MiB/s]
 21%|████████                              | 624M/2.87G [00:07<00:29, 82.1MiB/s]
 21%|████████▏                             | 632M/2.87G [00:07<00:31, 78.0MiB/s]
 22%|████████▎                             | 640M/2.87G [00:07<00:30, 78.3MiB/s]
 22%|████████▍                             | 650M/2.87G [00:07<00:28, 85.6MiB/s]
 22%|████████▍                             | 658M/2.87G [00:08<00:28, 85.1MiB/s]
 23%|████████▌                             | 666M/2.87G [00:08<00:31, 76.7MiB/s]
 23%|████████▋                             | 674M/2.87G [00:08<00:31, 75.3MiB/s]
 23%|████████▊                             | 684M/2.87G [00:08<00:27, 85.1MiB/s]
 24%|████████▉                             | 692M/2.87G [00:08<00:29, 79.3MiB/s]
 24%|█████████                             | 701M/2.87G [00:08<00:28, 81.6MiB/s]
 24%|█████████▏                            | 709M/2.87G [00:08<00:28, 81.2MiB/s]
 24%|█████████▎                            | 719M/2.87G [00:08<00:25, 89.7MiB/s]
 25%|█████████▍                            | 729M/2.87G [00:08<00:24, 93.5MiB/s]
 25%|█████████▌                            | 738M/2.87G [00:09<00:26, 88.7MiB/s]
 25%|█████████▋                            | 747M/2.87G [00:09<00:28, 80.1MiB/s]
 26%|█████████▋                            | 755M/2.87G [00:09<00:27, 82.0MiB/s]
 26%|█████████▊                            | 763M/2.87G [00:09<00:28, 79.8MiB/s]
 26%|█████████▉                            | 771M/2.87G [00:09<00:28, 79.3MiB/s]
 27%|██████████                            | 780M/2.87G [00:09<00:26, 85.0MiB/s]
 27%|██████████▏                           | 789M/2.87G [00:09<00:27, 83.1MiB/s]
 27%|██████████▎                           | 797M/2.87G [00:09<00:26, 84.5MiB/s]
 27%|██████████▍                           | 805M/2.87G [00:09<00:26, 84.6MiB/s]
 28%|██████████▌                           | 816M/2.87G [00:10<00:23, 93.1MiB/s]
 28%|██████████▉                            | 827M/2.87G [00:10<00:22, 100MiB/s]
 28%|██████████▊                           | 837M/2.87G [00:10<00:22, 98.0MiB/s]
 29%|███████████▏                           | 848M/2.87G [00:10<00:20, 105MiB/s]
 29%|███████████▎                           | 859M/2.87G [00:10<00:21, 103MiB/s]
 29%|███████████▏                          | 868M/2.87G [00:10<00:24, 90.6MiB/s]
 30%|███████████▎                          | 877M/2.87G [00:10<00:24, 88.1MiB/s]
 30%|███████████▍                          | 886M/2.87G [00:10<00:26, 81.0MiB/s]
 30%|███████████▌                          | 894M/2.87G [00:10<00:26, 80.0MiB/s]
 31%|███████████▋                          | 902M/2.87G [00:11<00:26, 81.9MiB/s]
 31%|███████████▋                          | 910M/2.87G [00:11<00:27, 77.7MiB/s]


Output:
��▍                             | 650M/2.87G [00:07<00:28, 85.6MiB/s]
 22%|████████▍                             | 658M/2.87G [00:08<00:28, 85.1MiB/s]
 23%|████████▌                             | 666M/2.87G [00:08<00:31, 76.7MiB/s]
 23%|████████▋                             | 674M/2.87G [00:08<00:31, 75.3MiB/s]
 23%|████████▊                             | 684M/2.87G [00:08<00:27, 85.1MiB/s]
 24%|████████▉                             | 692M/2.87G [00:08<00:29, 79.3MiB/s]
 24%|█████████                             | 701M/2.87G [00:08<00:28, 81.6MiB/s]
 24%|█████████▏                            | 709M/2.87G [00:08<00:28, 81.2MiB/s]
 24%|█████████▎                            | 719M/2.87G [00:08<00:25, 89.7MiB/s]
 25%|█████████▍                            | 729M/2.87G [00:08<00:24, 93.5MiB/s]
 25%|█████████▌                            | 738M/2.87G [00:09<00:26, 88.7MiB/s]
 25%|█████████▋                            | 747M/2.87G [00:09<00:28, 80.1MiB/s]
 26%|█████████▋                            | 755M/2.87G [00:09<00:27, 82.0MiB/s]
 26%|█████████▊                            | 763M/2.87G [00:09<00:28, 79.8MiB/s]
 26%|█████████▉                            | 771M/2.87G [00:09<00:28, 79.3MiB/s]
 27%|██████████                            | 780M/2.87G [00:09<00:26, 85.0MiB/s]
 27%|██████████▏                           | 789M/2.87G [00:09<00:27, 83.1MiB/s]
 27%|██████████▎                           | 797M/2.87G [00:09<00:26, 84.5MiB/s]
 27%|██████████▍                           | 805M/2.87G [00:09<00:26, 84.6MiB/s]
 28%|██████████▌                           | 816M/2.87G [00:10<00:23, 93.1MiB/s]
 28%|██████████▉                            | 827M/2.87G [00:10<00:22, 100MiB/s]
 28%|██████████▊                           | 837M/2.87G [00:10<00:22, 98.0MiB/s]
 29%|███████████▏                           | 848M/2.87G [00:10<00:20, 105MiB/s]
 29%|███████████▎                           | 859M/2.87G [00:10<00:21, 103MiB/s]
 29%|███████████▏                          | 868M/2.87G [00:10<00:24, 90.6MiB/s]
 30%|███████████▎                          | 877M/2.87G [00:10<00:24, 88.1MiB/s]
 30%|███████████▍                          | 886M/2.87G [00:10<00:26, 81.0MiB/s]
 30%|███████████▌                          | 894M/2.87G [00:10<00:26, 80.0MiB/s]
 31%|███████████▋                          | 902M/2.87G [00:11<00:26, 81.9MiB/s]
 31%|███████████▋                          | 910M/2.87G [00:11<00:27, 77.7MiB/s]
 31%|███████████▊                          | 918M/2.87G [00:11<00:27, 77.9MiB/s]
 32%|███████████▉                          | 928M/2.87G [00:11<00:24, 87.8MiB/s]
 32%|████████████                          | 937M/2.87G [00:11<00:24, 84.4MiB/s]
 32%|████████████▏                         | 945M/2.87G [00:11<00:25, 83.5MiB/s]
 32%|████████████▎                         | 953M/2.87G [00:11<00:25, 83.4MiB/s]
 33%|████████████▍                         | 964M/2.87G [00:11<00:22, 91.5MiB/s]
 33%|████████████▌                         | 973M/2.87G [00:11<00:22, 90.7MiB/s]
 33%|████████████▋                         | 981M/2.87G [00:12<00:24, 85.4MiB/s]
 34%|████████████▊                         | 990M/2.87G [00:12<00:23, 86.6MiB/s]
 34%|████████████▉                         | 999M/2.87G [00:12<00:23, 87.9MiB/s]


Output:
5%|█████████▌                            | 738M/2.87G [00:09<00:26, 88.7MiB/s]
 25%|█████████▋                            | 747M/2.87G [00:09<00:28, 80.1MiB/s]
 26%|█████████▋                            | 755M/2.87G [00:09<00:27, 82.0MiB/s]
 26%|█████████▊                            | 763M/2.87G [00:09<00:28, 79.8MiB/s]
 26%|█████████▉                            | 771M/2.87G [00:09<00:28, 79.3MiB/s]
 27%|██████████                            | 780M/2.87G [00:09<00:26, 85.0MiB/s]
 27%|██████████▏                           | 789M/2.87G [00:09<00:27, 83.1MiB/s]
 27%|██████████▎                           | 797M/2.87G [00:09<00:26, 84.5MiB/s]
 27%|██████████▍                           | 805M/2.87G [00:09<00:26, 84.6MiB/s]
 28%|██████████▌                           | 816M/2.87G [00:10<00:23, 93.1MiB/s]
 28%|██████████▉                            | 827M/2.87G [00:10<00:22, 100MiB/s]
 28%|██████████▊                           | 837M/2.87G [00:10<00:22, 98.0MiB/s]
 29%|███████████▏                           | 848M/2.87G [00:10<00:20, 105MiB/s]
 29%|███████████▎                           | 859M/2.87G [00:10<00:21, 103MiB/s]
 29%|███████████▏                          | 868M/2.87G [00:10<00:24, 90.6MiB/s]
 30%|███████████▎                          | 877M/2.87G [00:10<00:24, 88.1MiB/s]
 30%|███████████▍                          | 886M/2.87G [00:10<00:26, 81.0MiB/s]
 30%|███████████▌                          | 894M/2.87G [00:10<00:26, 80.0MiB/s]
 31%|███████████▋                          | 902M/2.87G [00:11<00:26, 81.9MiB/s]
 31%|███████████▋                          | 910M/2.87G [00:11<00:27, 77.7MiB/s]
 31%|███████████▊                          | 918M/2.87G [00:11<00:27, 77.9MiB/s]
 32%|███████████▉                          | 928M/2.87G [00:11<00:24, 87.8MiB/s]
 32%|████████████                          | 937M/2.87G [00:11<00:24, 84.4MiB/s]
 32%|████████████▏                         | 945M/2.87G [00:11<00:25, 83.5MiB/s]
 32%|████████████▎                         | 953M/2.87G [00:11<00:25, 83.4MiB/s]
 33%|████████████▍                         | 964M/2.87G [00:11<00:22, 91.5MiB/s]
 33%|████████████▌                         | 973M/2.87G [00:11<00:22, 90.7MiB/s]
 33%|████████████▋                         | 981M/2.87G [00:12<00:24, 85.4MiB/s]
 34%|████████████▊                         | 990M/2.87G [00:12<00:23, 86.6MiB/s]
 34%|████████████▉                         | 999M/2.87G [00:12<00:23, 87.9MiB/s]
 34%|████████████▋                        | 0.98G/2.87G [00:12<00:26, 77.0MiB/s]
 34%|████████████▊                        | 0.99G/2.87G [00:12<00:26, 76.8MiB/s]
 35%|████████████▊                        | 1.00G/2.87G [00:12<00:26, 77.1MiB/s]
 35%|████████████▉                        | 1.01G/2.87G [00:12<00:26, 76.5MiB/s]
 35%|█████████████                        | 1.01G/2.87G [00:12<00:26, 75.8MiB/s]
 36%|█████████████▏                       | 1.03G/2.87G [00:12<00:21, 91.4MiB/s]
 36%|█████████████▎                       | 1.03G/2.87G [00:13<00:21, 92.9MiB/s]
 36%|█████████████▍                       | 1.04G/2.87G [00:13<00:23, 83.7MiB/s]
 37%|█████████████▌                       | 1.05G/2.87G [00:13<00:22, 87.1MiB/s]


Output:
[00:10<00:23, 93.1MiB/s]
 28%|██████████▉                            | 827M/2.87G [00:10<00:22, 100MiB/s]
 28%|██████████▊                           | 837M/2.87G [00:10<00:22, 98.0MiB/s]
 29%|███████████▏                           | 848M/2.87G [00:10<00:20, 105MiB/s]
 29%|███████████▎                           | 859M/2.87G [00:10<00:21, 103MiB/s]
 29%|███████████▏                          | 868M/2.87G [00:10<00:24, 90.6MiB/s]
 30%|███████████▎                          | 877M/2.87G [00:10<00:24, 88.1MiB/s]
 30%|███████████▍                          | 886M/2.87G [00:10<00:26, 81.0MiB/s]
 30%|███████████▌                          | 894M/2.87G [00:10<00:26, 80.0MiB/s]
 31%|███████████▋                          | 902M/2.87G [00:11<00:26, 81.9MiB/s]
 31%|███████████▋                          | 910M/2.87G [00:11<00:27, 77.7MiB/s]
 31%|███████████▊                          | 918M/2.87G [00:11<00:27, 77.9MiB/s]
 32%|███████████▉                          | 928M/2.87G [00:11<00:24, 87.8MiB/s]
 32%|████████████                          | 937M/2.87G [00:11<00:24, 84.4MiB/s]
 32%|████████████▏                         | 945M/2.87G [00:11<00:25, 83.5MiB/s]
 32%|████████████▎                         | 953M/2.87G [00:11<00:25, 83.4MiB/s]
 33%|████████████▍                         | 964M/2.87G [00:11<00:22, 91.5MiB/s]
 33%|████████████▌                         | 973M/2.87G [00:11<00:22, 90.7MiB/s]
 33%|████████████▋                         | 981M/2.87G [00:12<00:24, 85.4MiB/s]
 34%|████████████▊                         | 990M/2.87G [00:12<00:23, 86.6MiB/s]
 34%|████████████▉                         | 999M/2.87G [00:12<00:23, 87.9MiB/s]
 34%|████████████▋                        | 0.98G/2.87G [00:12<00:26, 77.0MiB/s]
 34%|████████████▊                        | 0.99G/2.87G [00:12<00:26, 76.8MiB/s]
 35%|████████████▊                        | 1.00G/2.87G [00:12<00:26, 77.1MiB/s]
 35%|████████████▉                        | 1.01G/2.87G [00:12<00:26, 76.5MiB/s]
 35%|█████████████                        | 1.01G/2.87G [00:12<00:26, 75.8MiB/s]
 36%|█████████████▏                       | 1.03G/2.87G [00:12<00:21, 91.4MiB/s]
 36%|█████████████▎                       | 1.03G/2.87G [00:13<00:21, 92.9MiB/s]
 36%|█████████████▍                       | 1.04G/2.87G [00:13<00:23, 83.7MiB/s]
 37%|█████████████▌                       | 1.05G/2.87G [00:13<00:22, 87.1MiB/s]
 37%|█████████████▋                       | 1.06G/2.87G [00:13<00:20, 94.1MiB/s]
 37%|█████████████▊                       | 1.07G/2.87G [00:13<00:20, 95.6MiB/s]
 38%|█████████████▉                       | 1.08G/2.87G [00:13<00:20, 92.7MiB/s]
 38%|██████████████                       | 1.09G/2.87G [00:13<00:20, 93.3MiB/s]
 38%|██████████████▏                      | 1.10G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▎                      | 1.11G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▊                       | 1.12G/2.87G [00:13<00:18, 104MiB/s]
 39%|██████████████▉                       | 1.13G/2.87G [00:14<00:16, 114MiB/s]
 40%|███████████████                       | 1.14G/2.87G [00:14<00:16, 113MiB/s]


Output:
      | 918M/2.87G [00:11<00:27, 77.9MiB/s]
 32%|███████████▉                          | 928M/2.87G [00:11<00:24, 87.8MiB/s]
 32%|████████████                          | 937M/2.87G [00:11<00:24, 84.4MiB/s]
 32%|████████████▏                         | 945M/2.87G [00:11<00:25, 83.5MiB/s]
 32%|████████████▎                         | 953M/2.87G [00:11<00:25, 83.4MiB/s]
 33%|████████████▍                         | 964M/2.87G [00:11<00:22, 91.5MiB/s]
 33%|████████████▌                         | 973M/2.87G [00:11<00:22, 90.7MiB/s]
 33%|████████████▋                         | 981M/2.87G [00:12<00:24, 85.4MiB/s]
 34%|████████████▊                         | 990M/2.87G [00:12<00:23, 86.6MiB/s]
 34%|████████████▉                         | 999M/2.87G [00:12<00:23, 87.9MiB/s]
 34%|████████████▋                        | 0.98G/2.87G [00:12<00:26, 77.0MiB/s]
 34%|████████████▊                        | 0.99G/2.87G [00:12<00:26, 76.8MiB/s]
 35%|████████████▊                        | 1.00G/2.87G [00:12<00:26, 77.1MiB/s]
 35%|████████████▉                        | 1.01G/2.87G [00:12<00:26, 76.5MiB/s]
 35%|█████████████                        | 1.01G/2.87G [00:12<00:26, 75.8MiB/s]
 36%|█████████████▏                       | 1.03G/2.87G [00:12<00:21, 91.4MiB/s]
 36%|█████████████▎                       | 1.03G/2.87G [00:13<00:21, 92.9MiB/s]
 36%|█████████████▍                       | 1.04G/2.87G [00:13<00:23, 83.7MiB/s]
 37%|█████████████▌                       | 1.05G/2.87G [00:13<00:22, 87.1MiB/s]
 37%|█████████████▋                       | 1.06G/2.87G [00:13<00:20, 94.1MiB/s]
 37%|█████████████▊                       | 1.07G/2.87G [00:13<00:20, 95.6MiB/s]
 38%|█████████████▉                       | 1.08G/2.87G [00:13<00:20, 92.7MiB/s]
 38%|██████████████                       | 1.09G/2.87G [00:13<00:20, 93.3MiB/s]
 38%|██████████████▏                      | 1.10G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▎                      | 1.11G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▊                       | 1.12G/2.87G [00:13<00:18, 104MiB/s]
 39%|██████████████▉                       | 1.13G/2.87G [00:14<00:16, 114MiB/s]
 40%|███████████████                       | 1.14G/2.87G [00:14<00:16, 113MiB/s]
 40%|███████████████▎                      | 1.15G/2.87G [00:14<00:16, 110MiB/s]
 41%|███████████████▍                      | 1.17G/2.87G [00:14<00:16, 113MiB/s]
 41%|███████████████▌                      | 1.18G/2.87G [00:14<00:15, 119MiB/s]
 41%|███████████████▋                      | 1.19G/2.87G [00:14<00:15, 116MiB/s]
 42%|███████████████▊                      | 1.20G/2.87G [00:14<00:15, 114MiB/s]
 42%|███████████████▉                      | 1.21G/2.87G [00:14<00:17, 105MiB/s]
 42%|████████████████▏                     | 1.22G/2.87G [00:14<00:17, 102MiB/s]
 43%|███████████████▊                     | 1.23G/2.87G [00:15<00:18, 98.1MiB/s]
 43%|███████████████▉                     | 1.24G/2.87G [00:15<00:18, 95.4MiB/s]
 43%|████████████████                     | 1.25G/2.87G [00:15<00:17, 98.9MiB/s]


Output:
��█████▉                         | 999M/2.87G [00:12<00:23, 87.9MiB/s]
 34%|████████████▋                        | 0.98G/2.87G [00:12<00:26, 77.0MiB/s]
 34%|████████████▊                        | 0.99G/2.87G [00:12<00:26, 76.8MiB/s]
 35%|████████████▊                        | 1.00G/2.87G [00:12<00:26, 77.1MiB/s]
 35%|████████████▉                        | 1.01G/2.87G [00:12<00:26, 76.5MiB/s]
 35%|█████████████                        | 1.01G/2.87G [00:12<00:26, 75.8MiB/s]
 36%|█████████████▏                       | 1.03G/2.87G [00:12<00:21, 91.4MiB/s]
 36%|█████████████▎                       | 1.03G/2.87G [00:13<00:21, 92.9MiB/s]
 36%|█████████████▍                       | 1.04G/2.87G [00:13<00:23, 83.7MiB/s]
 37%|█████████████▌                       | 1.05G/2.87G [00:13<00:22, 87.1MiB/s]
 37%|█████████████▋                       | 1.06G/2.87G [00:13<00:20, 94.1MiB/s]
 37%|█████████████▊                       | 1.07G/2.87G [00:13<00:20, 95.6MiB/s]
 38%|█████████████▉                       | 1.08G/2.87G [00:13<00:20, 92.7MiB/s]
 38%|██████████████                       | 1.09G/2.87G [00:13<00:20, 93.3MiB/s]
 38%|██████████████▏                      | 1.10G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▎                      | 1.11G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▊                       | 1.12G/2.87G [00:13<00:18, 104MiB/s]
 39%|██████████████▉                       | 1.13G/2.87G [00:14<00:16, 114MiB/s]
 40%|███████████████                       | 1.14G/2.87G [00:14<00:16, 113MiB/s]
 40%|███████████████▎                      | 1.15G/2.87G [00:14<00:16, 110MiB/s]
 41%|███████████████▍                      | 1.17G/2.87G [00:14<00:16, 113MiB/s]
 41%|███████████████▌                      | 1.18G/2.87G [00:14<00:15, 119MiB/s]
 41%|███████████████▋                      | 1.19G/2.87G [00:14<00:15, 116MiB/s]
 42%|███████████████▊                      | 1.20G/2.87G [00:14<00:15, 114MiB/s]
 42%|███████████████▉                      | 1.21G/2.87G [00:14<00:17, 105MiB/s]
 42%|████████████████▏                     | 1.22G/2.87G [00:14<00:17, 102MiB/s]
 43%|███████████████▊                     | 1.23G/2.87G [00:15<00:18, 98.1MiB/s]
 43%|███████████████▉                     | 1.24G/2.87G [00:15<00:18, 95.4MiB/s]
 43%|████████████████                     | 1.25G/2.87G [00:15<00:17, 98.9MiB/s]
 44%|████████████████▏                    | 1.26G/2.87G [00:15<00:17, 98.9MiB/s]
 44%|████████████████▎                    | 1.27G/2.87G [00:15<00:17, 98.8MiB/s]
 44%|████████████████▍                    | 1.28G/2.87G [00:15<00:18, 95.2MiB/s]
 45%|████████████████▌                    | 1.29G/2.87G [00:15<00:21, 79.5MiB/s]
 45%|████████████████▋                    | 1.30G/2.87G [00:15<00:18, 90.1MiB/s]
 45%|████████████████▊                    | 1.31G/2.87G [00:15<00:19, 88.2MiB/s]
 46%|████████████████▉                    | 1.32G/2.87G [00:16<00:18, 91.0MiB/s]
 46%|█████████████████                    | 1.32G/2.87G [00:16<00:18, 88.9MiB/s]


Output:
███████████▊                       | 1.07G/2.87G [00:13<00:20, 95.6MiB/s]
 38%|█████████████▉                       | 1.08G/2.87G [00:13<00:20, 92.7MiB/s]
 38%|██████████████                       | 1.09G/2.87G [00:13<00:20, 93.3MiB/s]
 38%|██████████████▏                      | 1.10G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▎                      | 1.11G/2.87G [00:13<00:19, 99.2MiB/s]
 39%|██████████████▊                       | 1.12G/2.87G [00:13<00:18, 104MiB/s]
 39%|██████████████▉                       | 1.13G/2.87G [00:14<00:16, 114MiB/s]
 40%|███████████████                       | 1.14G/2.87G [00:14<00:16, 113MiB/s]
 40%|███████████████▎                      | 1.15G/2.87G [00:14<00:16, 110MiB/s]
 41%|███████████████▍                      | 1.17G/2.87G [00:14<00:16, 113MiB/s]
 41%|███████████████▌                      | 1.18G/2.87G [00:14<00:15, 119MiB/s]
 41%|███████████████▋                      | 1.19G/2.87G [00:14<00:15, 116MiB/s]
 42%|███████████████▊                      | 1.20G/2.87G [00:14<00:15, 114MiB/s]
 42%|███████████████▉                      | 1.21G/2.87G [00:14<00:17, 105MiB/s]
 42%|████████████████▏                     | 1.22G/2.87G [00:14<00:17, 102MiB/s]
 43%|███████████████▊                     | 1.23G/2.87G [00:15<00:18, 98.1MiB/s]
 43%|███████████████▉                     | 1.24G/2.87G [00:15<00:18, 95.4MiB/s]
 43%|████████████████                     | 1.25G/2.87G [00:15<00:17, 98.9MiB/s]
 44%|████████████████▏                    | 1.26G/2.87G [00:15<00:17, 98.9MiB/s]
 44%|████████████████▎                    | 1.27G/2.87G [00:15<00:17, 98.8MiB/s]
 44%|████████████████▍                    | 1.28G/2.87G [00:15<00:18, 95.2MiB/s]
 45%|████████████████▌                    | 1.29G/2.87G [00:15<00:21, 79.5MiB/s]
 45%|████████████████▋                    | 1.30G/2.87G [00:15<00:18, 90.1MiB/s]
 45%|████████████████▊                    | 1.31G/2.87G [00:15<00:19, 88.2MiB/s]
 46%|████████████████▉                    | 1.32G/2.87G [00:16<00:18, 91.0MiB/s]
 46%|█████████████████                    | 1.32G/2.87G [00:16<00:18, 88.9MiB/s]
 46%|█████████████████▏                   | 1.33G/2.87G [00:16<00:17, 93.2MiB/s]
 47%|█████████████████▎                   | 1.34G/2.87G [00:16<00:17, 95.3MiB/s]
 47%|█████████████████▍                   | 1.35G/2.87G [00:16<00:16, 97.2MiB/s]
 47%|█████████████████▌                   | 1.36G/2.87G [00:16<00:18, 88.2MiB/s]
 48%|█████████████████▋                   | 1.37G/2.87G [00:16<00:16, 98.3MiB/s]
 48%|█████████████████▊                   | 1.38G/2.87G [00:16<00:16, 96.0MiB/s]
 48%|█████████████████▉                   | 1.39G/2.87G [00:16<00:16, 97.1MiB/s]
 49%|██████████████████                   | 1.40G/2.87G [00:17<00:16, 96.8MiB/s]
 49%|██████████████████▏                  | 1.41G/2.87G [00:17<00:16, 97.0MiB/s]
 49%|██████████████████▊                   | 1.42G/2.87G [00:17<00:14, 105MiB/s]


Output:
16, 113MiB/s]
 41%|███████████████▌                      | 1.18G/2.87G [00:14<00:15, 119MiB/s]
 41%|███████████████▋                      | 1.19G/2.87G [00:14<00:15, 116MiB/s]
 42%|███████████████▊                      | 1.20G/2.87G [00:14<00:15, 114MiB/s]
 42%|███████████████▉                      | 1.21G/2.87G [00:14<00:17, 105MiB/s]
 42%|████████████████▏                     | 1.22G/2.87G [00:14<00:17, 102MiB/s]
 43%|███████████████▊                     | 1.23G/2.87G [00:15<00:18, 98.1MiB/s]
 43%|███████████████▉                     | 1.24G/2.87G [00:15<00:18, 95.4MiB/s]
 43%|████████████████                     | 1.25G/2.87G [00:15<00:17, 98.9MiB/s]
 44%|████████████████▏                    | 1.26G/2.87G [00:15<00:17, 98.9MiB/s]
 44%|████████████████▎                    | 1.27G/2.87G [00:15<00:17, 98.8MiB/s]
 44%|████████████████▍                    | 1.28G/2.87G [00:15<00:18, 95.2MiB/s]
 45%|████████████████▌                    | 1.29G/2.87G [00:15<00:21, 79.5MiB/s]
 45%|████████████████▋                    | 1.30G/2.87G [00:15<00:18, 90.1MiB/s]
 45%|████████████████▊                    | 1.31G/2.87G [00:15<00:19, 88.2MiB/s]
 46%|████████████████▉                    | 1.32G/2.87G [00:16<00:18, 91.0MiB/s]
 46%|█████████████████                    | 1.32G/2.87G [00:16<00:18, 88.9MiB/s]
 46%|█████████████████▏                   | 1.33G/2.87G [00:16<00:17, 93.2MiB/s]
 47%|█████████████████▎                   | 1.34G/2.87G [00:16<00:17, 95.3MiB/s]
 47%|█████████████████▍                   | 1.35G/2.87G [00:16<00:16, 97.2MiB/s]
 47%|█████████████████▌                   | 1.36G/2.87G [00:16<00:18, 88.2MiB/s]
 48%|█████████████████▋                   | 1.37G/2.87G [00:16<00:16, 98.3MiB/s]
 48%|█████████████████▊                   | 1.38G/2.87G [00:16<00:16, 96.0MiB/s]
 48%|█████████████████▉                   | 1.39G/2.87G [00:16<00:16, 97.1MiB/s]
 49%|██████████████████                   | 1.40G/2.87G [00:17<00:16, 96.8MiB/s]
 49%|██████████████████▏                  | 1.41G/2.87G [00:17<00:16, 97.0MiB/s]
 49%|██████████████████▊                   | 1.42G/2.87G [00:17<00:14, 105MiB/s]
 50%|██████████████████▉                   | 1.43G/2.87G [00:17<00:15, 101MiB/s]
 50%|██████████████████▌                  | 1.44G/2.87G [00:17<00:15, 98.4MiB/s]
 51%|███████████████████▏                  | 1.45G/2.87G [00:17<00:14, 104MiB/s]
 51%|███████████████████▎                  | 1.46G/2.87G [00:17<00:13, 110MiB/s]
 51%|███████████████████▍                  | 1.48G/2.87G [00:17<00:13, 108MiB/s]
 52%|███████████████████                  | 1.49G/2.87G [00:17<00:15, 95.8MiB/s]
 52%|███████████████████▊                  | 1.50G/2.87G [00:18<00:14, 102MiB/s]
 52%|███████████████████▉                  | 1.51G/2.87G [00:18<00:14, 103MiB/s]
 53%|████████████████████                  | 1.52G/2.87G [00:18<00:13, 108MiB/s]


Output:
  | 1.27G/2.87G [00:15<00:17, 98.8MiB/s]
 44%|████████████████▍                    | 1.28G/2.87G [00:15<00:18, 95.2MiB/s]
 45%|████████████████▌                    | 1.29G/2.87G [00:15<00:21, 79.5MiB/s]
 45%|████████████████▋                    | 1.30G/2.87G [00:15<00:18, 90.1MiB/s]
 45%|████████████████▊                    | 1.31G/2.87G [00:15<00:19, 88.2MiB/s]
 46%|████████████████▉                    | 1.32G/2.87G [00:16<00:18, 91.0MiB/s]
 46%|█████████████████                    | 1.32G/2.87G [00:16<00:18, 88.9MiB/s]
 46%|█████████████████▏                   | 1.33G/2.87G [00:16<00:17, 93.2MiB/s]
 47%|█████████████████▎                   | 1.34G/2.87G [00:16<00:17, 95.3MiB/s]
 47%|█████████████████▍                   | 1.35G/2.87G [00:16<00:16, 97.2MiB/s]
 47%|█████████████████▌                   | 1.36G/2.87G [00:16<00:18, 88.2MiB/s]
 48%|█████████████████▋                   | 1.37G/2.87G [00:16<00:16, 98.3MiB/s]
 48%|█████████████████▊                   | 1.38G/2.87G [00:16<00:16, 96.0MiB/s]
 48%|█████████████████▉                   | 1.39G/2.87G [00:16<00:16, 97.1MiB/s]
 49%|██████████████████                   | 1.40G/2.87G [00:17<00:16, 96.8MiB/s]
 49%|██████████████████▏                  | 1.41G/2.87G [00:17<00:16, 97.0MiB/s]
 49%|██████████████████▊                   | 1.42G/2.87G [00:17<00:14, 105MiB/s]
 50%|██████████████████▉                   | 1.43G/2.87G [00:17<00:15, 101MiB/s]
 50%|██████████████████▌                  | 1.44G/2.87G [00:17<00:15, 98.4MiB/s]
 51%|███████████████████▏                  | 1.45G/2.87G [00:17<00:14, 104MiB/s]
 51%|███████████████████▎                  | 1.46G/2.87G [00:17<00:13, 110MiB/s]
 51%|███████████████████▍                  | 1.48G/2.87G [00:17<00:13, 108MiB/s]
 52%|███████████████████                  | 1.49G/2.87G [00:17<00:15, 95.8MiB/s]
 52%|███████████████████▊                  | 1.50G/2.87G [00:18<00:14, 102MiB/s]
 52%|███████████████████▉                  | 1.51G/2.87G [00:18<00:14, 103MiB/s]
 53%|████████████████████                  | 1.52G/2.87G [00:18<00:13, 108MiB/s]
 53%|████████████████████▏                 | 1.53G/2.87G [00:18<00:13, 108MiB/s]
 53%|████████████████████▎                 | 1.54G/2.87G [00:18<00:13, 106MiB/s]
 54%|████████████████████▍                 | 1.55G/2.87G [00:18<00:12, 114MiB/s]
 54%|████████████████████▋                 | 1.56G/2.87G [00:18<00:12, 115MiB/s]
 55%|████████████████████▊                 | 1.57G/2.87G [00:18<00:12, 110MiB/s]
 55%|████████████████████▉                 | 1.58G/2.87G [00:18<00:13, 102MiB/s]
 55%|█████████████████████                 | 1.59G/2.87G [00:18<00:13, 105MiB/s]
 56%|█████████████████████▏                | 1.60G/2.87G [00:19<00:13, 105MiB/s]
 56%|████████████████████▋                | 1.61G/2.87G [00:19<00:13, 99.7MiB/s]