Jarbas commited on
Commit
894bb14
·
verified ·
1 Parent(s): 6d22c9b

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -1,35 +1,5 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
 
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ *.mlpackage filter=lfs diff=lfs merge=lfs -text
2
+ *.mlpackage/** filter=lfs diff=lfs merge=lfs -text
3
+ weights/** filter=lfs diff=lfs merge=lfs -text
4
  *.bin filter=lfs diff=lfs merge=lfs -text
5
+ *.nemo filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.md ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ language:
4
+ - en
5
+ tags:
6
+ - asr
7
+ - speech
8
+ - coreml
9
+ - nemo
10
+ - parakeet
11
+ - nvidia
12
+ - 6bit-palettize-kmeans
13
+ library_name: coremltools
14
+ pipeline_tag: automatic-speech-recognition
15
+ base_model: nvidia/parakeet-tdt-0.6b-v2
16
+ ---
17
+
18
+ # parakeet-tdt-0.6b-v2-coreml-6bit
19
+
20
+ CoreML conversion of [nvidia/parakeet-tdt-0.6b-v2](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2) — 6BIT PALETTIZE KMEANS quantized.
21
+
22
+ | | |
23
+ |---|---|
24
+ | **Architecture** | TDT (Token-and-Duration Transducer) |
25
+ | **Language** | English |
26
+ | **Sample rate** | 16000 Hz |
27
+ | **Max audio** | 15.0s |
28
+ | **Vocab size** | 1024 |
29
+ | **Framework** | NVIDIA NeMo → CoreML (coremltools) |
30
+
31
+ ## Components
32
+
33
+ | File | Component | Best compute |
34
+ |------|-----------|--------------|
35
+ | `parakeet_mel_encoder.mlpackage` | mel_encoder | ANE / GPU |
36
+ | `parakeet_decoder.mlpackage` | decoder | CPU only |
37
+ | `parakeet_joint_decision_single_step.mlpackage` | joint_decision_single_step | ANE / GPU |
38
+
39
+ ## Usage
40
+
41
+ ```bash
42
+ pip install ovos-stt-plugin-coreml
43
+ ```
44
+
45
+ ```python
46
+ from ovos_stt_plugin_coreml import CoremlSTT
47
+ from ovos_plugin_manager.utils.audio import AudioFile
48
+
49
+ stt = CoremlSTT(config={"metadata": "metadata.json"})
50
+
51
+ with AudioFile("speech.wav") as f:
52
+ audio = f.read()
53
+ print(stt.execute(audio))
54
+ ```
55
+
56
+ ## Source model
57
+
58
+ [nvidia/parakeet-tdt-0.6b-v2](https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2)
59
+
infer.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Greedy TDT/RNNT inference with CoreML parakeet-tdt-0.6b-v2.
3
+
4
+ Usage: python infer.py audio.wav
5
+ """
6
+ import json, sys
7
+ from pathlib import Path
8
+
9
+ import coremltools as ct
10
+ import numpy as np
11
+ import soundfile as sf
12
+
13
+ REPO_DIR = Path(__file__).parent
14
+ SAMPLE_RATE = 16_000
15
+
16
+ def load_audio(path, max_samples):
17
+ data, sr = sf.read(path, dtype="float32", always_2d=False)
18
+ if sr != SAMPLE_RATE: raise ValueError(f"Expected {SAMPLE_RATE} Hz.")
19
+ if data.ndim > 1: data = data[:, 0]
20
+ actual = min(len(data), max_samples)
21
+ data = np.pad(data, (0, max(0, max_samples - len(data))))[:max_samples]
22
+ return data.reshape(1, -1).astype(np.float32), actual
23
+
24
+ def transcribe(audio_path, compute_units="ALL"):
25
+ meta = json.loads((REPO_DIR / "metadata.json").read_text())
26
+ vocab = json.loads((REPO_DIR / "vocab.json").read_text())
27
+ blank = meta["blank_id"]
28
+ n = meta["max_audio_samples"]
29
+ bins = meta.get("duration_bins", [1])
30
+ comps = meta["components"]["decoder"]["inputs"]
31
+ d_layers = comps["h_in"][0]
32
+ d_hidden = comps["h_in"][2]
33
+
34
+ cu_map = {"ALL": ct.ComputeUnit.ALL, "CPU_ONLY": ct.ComputeUnit.CPU_ONLY,
35
+ "CPU_AND_NE": ct.ComputeUnit.CPU_AND_NE}
36
+ cu = cu_map.get(compute_units.upper(), ct.ComputeUnit.ALL)
37
+ mel_enc = ct.models.MLModel(str(REPO_DIR / "parakeet_mel_encoder.mlpackage"), compute_units=cu)
38
+ dec_model = ct.models.MLModel(str(REPO_DIR / "parakeet_decoder.mlpackage"),
39
+ compute_units=ct.ComputeUnit.CPU_ONLY)
40
+ jd_model = ct.models.MLModel(str(REPO_DIR / "parakeet_joint_decision_single_step.mlpackage"),
41
+ compute_units=cu)
42
+
43
+ audio, actual = load_audio(audio_path, n)
44
+ length = np.array([actual], dtype=np.int32)
45
+ enc_out = mel_enc.predict({"audio_signal": audio, "audio_length": length})
46
+ encoder = enc_out["encoder"]
47
+ enc_len = int(enc_out["encoder_length"][0])
48
+
49
+ h = np.zeros((d_layers, 1, d_hidden), dtype=np.float32)
50
+ c = np.zeros((d_layers, 1, d_hidden), dtype=np.float32)
51
+ prev = np.array([[blank]], dtype=np.int32)
52
+ tlen = np.array([1], dtype=np.int32)
53
+ dec_out = dec_model.predict({"targets": prev, "target_length": tlen, "h_in": h, "c_in": c})
54
+ dec_state, h, c = dec_out["decoder"], dec_out["h_out"], dec_out["c_out"]
55
+
56
+ tokens, t = [], 0
57
+ while t < enc_len:
58
+ jd = jd_model.predict({"encoder_step": encoder[:,:,t:t+1], "decoder_step": dec_state[:,:,:1]})
59
+ tok = int(jd["token_id"].flat[0])
60
+ dur = int(jd["duration"].flat[0])
61
+ adv = bins[min(dur, len(bins)-1)] if bins else 1
62
+ if tok != blank:
63
+ tokens.append(tok)
64
+ dec_out = dec_model.predict({"targets": np.array([[tok]], dtype=np.int32),
65
+ "target_length": tlen, "h_in": h, "c_in": c})
66
+ dec_state, h, c = dec_out["decoder"], dec_out["h_out"], dec_out["c_out"]
67
+ t += max(1, adv)
68
+
69
+ return "".join(vocab[i] for i in tokens if i < len(vocab)).replace("▁", " ").strip()
70
+
71
+ if __name__ == "__main__":
72
+ args = sys.argv[1:]
73
+ if not args:
74
+ print("Usage: python infer.py <audio.wav> [--compute-units ALL|CPU_ONLY|CPU_AND_NE]")
75
+ sys.exit(1)
76
+ cu = "ALL"
77
+ if "--compute-units" in args:
78
+ cu = args[args.index("--compute-units") + 1]
79
+ print(transcribe(args[0], cu))
metadata.json ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_id": "nvidia/parakeet-tdt-0.6b-v2",
3
+ "model_type": "parakeet_tdt_rnnt",
4
+ "language": "",
5
+ "sample_rate": 16000,
6
+ "max_audio_seconds": 15.0,
7
+ "max_audio_samples": 240000,
8
+ "vocab_size": 1024,
9
+ "blank_id": 1024,
10
+ "checkpoint": {
11
+ "type": "pretrained",
12
+ "model_id": "nvidia/parakeet-tdt-0.6b-v2"
13
+ },
14
+ "coreml": {
15
+ "compute_precision": "FLOAT32",
16
+ "quantization": "6bit_palettize_kmeans"
17
+ },
18
+ "components": {
19
+ "mel_encoder": {
20
+ "path": "parakeet_mel_encoder.mlpackage",
21
+ "inputs": {
22
+ "audio_signal": [
23
+ 1,
24
+ 240000
25
+ ],
26
+ "audio_length": [
27
+ 1
28
+ ]
29
+ },
30
+ "outputs": {
31
+ "encoder": [
32
+ 1,
33
+ 1024,
34
+ 188
35
+ ],
36
+ "encoder_length": [
37
+ 1
38
+ ]
39
+ }
40
+ },
41
+ "decoder": {
42
+ "path": "parakeet_decoder.mlpackage",
43
+ "inputs": {
44
+ "targets": [
45
+ 1,
46
+ 1
47
+ ],
48
+ "target_length": [
49
+ 1
50
+ ],
51
+ "h_in": [
52
+ 2,
53
+ 1,
54
+ 640
55
+ ],
56
+ "c_in": [
57
+ 2,
58
+ 1,
59
+ 640
60
+ ]
61
+ },
62
+ "outputs": {
63
+ "decoder": [
64
+ 1,
65
+ 640,
66
+ 1
67
+ ],
68
+ "h_out": [
69
+ 2,
70
+ 1,
71
+ 640
72
+ ],
73
+ "c_out": [
74
+ 2,
75
+ 1,
76
+ 640
77
+ ]
78
+ }
79
+ },
80
+ "joint_decision_single_step": {
81
+ "path": "parakeet_joint_decision_single_step.mlpackage",
82
+ "inputs": {
83
+ "encoder_step": [
84
+ 1,
85
+ 1024,
86
+ 1
87
+ ],
88
+ "decoder_step": [
89
+ 1,
90
+ 640,
91
+ 1
92
+ ]
93
+ },
94
+ "outputs": {
95
+ "token_id": [
96
+ 1,
97
+ 1,
98
+ 1
99
+ ],
100
+ "token_prob": [
101
+ 1,
102
+ 1,
103
+ 1
104
+ ],
105
+ "duration": [
106
+ 1,
107
+ 1,
108
+ 1
109
+ ]
110
+ }
111
+ }
112
+ },
113
+ "joint_extra_outputs": 5,
114
+ "duration_bins": [
115
+ 0,
116
+ 1,
117
+ 2,
118
+ 3,
119
+ 4
120
+ ]
121
+ }
parakeet_decoder.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5a0f433cb19fbfd5fe93c4c914ee86cf3b8d979285432dc97fe60705b4dd81d0
3
+ size 13056
parakeet_decoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4237b9ebc96622cdf603a394c2ed77937b33ecef22d091ab85fe63439a246928
3
+ size 5418944
parakeet_decoder.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "4010B768-B6C9-4BAF-B8C3-B3E2B846F1DC": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Specification",
7
+ "name": "model.mlmodel",
8
+ "path": "com.apple.CoreML/model.mlmodel"
9
+ },
10
+ "476E9C69-4E70-4E21-B692-76D907E1BAF8": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Weights",
13
+ "name": "weights",
14
+ "path": "com.apple.CoreML/weights"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "4010B768-B6C9-4BAF-B8C3-B3E2B846F1DC"
18
+ }
parakeet_joint_decision_single_step.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1eda306529b9596000ed41fbac08cb7aaaffe3f886954def45eb4a8acd53b3fd
3
+ size 8903
parakeet_joint_decision_single_step.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ee7256372489e0031a32a46ed0e34d6c4953d1b7990893917ee29f7900c1517
3
+ size 1298764
parakeet_joint_decision_single_step.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "01C05737-BEB1-4E6E-B101-091E617528EC": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Specification",
7
+ "name": "model.mlmodel",
8
+ "path": "com.apple.CoreML/model.mlmodel"
9
+ },
10
+ "9F5BC695-2F83-4328-BB7C-AC0667F7875C": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Weights",
13
+ "name": "weights",
14
+ "path": "com.apple.CoreML/weights"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "01C05737-BEB1-4E6E-B101-091E617528EC"
18
+ }
parakeet_mel_encoder.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3b3a5a5531c9a75753fd2848a93f8a69ed94e7c09a5b6ebe7c67e4e1de61108b
3
+ size 694779
parakeet_mel_encoder.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7b4c9f194bad0f80473216269bcc362a59e6dde2d4bf567d48c9ee36a49104d1
3
+ size 445554432
parakeet_mel_encoder.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "2DE0C841-4ED6-4BDB-909C-C03FD4989E39": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Specification",
7
+ "name": "model.mlmodel",
8
+ "path": "com.apple.CoreML/model.mlmodel"
9
+ },
10
+ "6558255C-67C4-4F38-91C3-C2232C27FCA8": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Weights",
13
+ "name": "weights",
14
+ "path": "com.apple.CoreML/weights"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "2DE0C841-4ED6-4BDB-909C-C03FD4989E39"
18
+ }
quantization_summary.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "parakeet_decoder": {
3
+ "original_mb": 13.8,
4
+ "6bit_mb": 5.2,
5
+ "compression": 2.66
6
+ },
7
+ "parakeet_joint_decision_single_step": {
8
+ "original_mb": 3.3,
9
+ "6bit_mb": 1.2,
10
+ "compression": 2.65
11
+ },
12
+ "parakeet_mel_encoder": {
13
+ "original_mb": 1132.5,
14
+ "6bit_mb": 425.6,
15
+ "compression": 2.66
16
+ }
17
+ }
vocab.json ADDED
@@ -0,0 +1,1026 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ "<unk>",
3
+ "▁t",
4
+ "▁th",
5
+ "▁a",
6
+ "in",
7
+ "▁the",
8
+ "re",
9
+ "▁w",
10
+ "▁o",
11
+ "▁s",
12
+ "at",
13
+ "ou",
14
+ "er",
15
+ "nd",
16
+ "▁i",
17
+ "▁b",
18
+ "▁c",
19
+ "on",
20
+ "▁h",
21
+ "ing",
22
+ "▁to",
23
+ "▁m",
24
+ "en",
25
+ "▁f",
26
+ "▁p",
27
+ "an",
28
+ "▁d",
29
+ "es",
30
+ "or",
31
+ "ll",
32
+ "▁of",
33
+ "▁and",
34
+ "▁y",
35
+ "▁l",
36
+ "▁I",
37
+ "it",
38
+ "▁in",
39
+ "is",
40
+ "ed",
41
+ "▁g",
42
+ "▁you",
43
+ "ar",
44
+ "▁that",
45
+ "om",
46
+ "as",
47
+ "▁n",
48
+ "ve",
49
+ "us",
50
+ "ic",
51
+ "ow",
52
+ "al",
53
+ "▁it",
54
+ "▁be",
55
+ "▁wh",
56
+ "le",
57
+ "ion",
58
+ "ut",
59
+ "ot",
60
+ "▁we",
61
+ "▁is",
62
+ "▁e",
63
+ "et",
64
+ "ay",
65
+ "▁re",
66
+ "▁on",
67
+ "▁T",
68
+ "▁A",
69
+ "▁ha",
70
+ "ent",
71
+ "ke",
72
+ "ct",
73
+ "▁S",
74
+ "ig",
75
+ "ver",
76
+ "▁Th",
77
+ "all",
78
+ "id",
79
+ "▁for",
80
+ "ro",
81
+ "▁he",
82
+ "se",
83
+ "▁this",
84
+ "ld",
85
+ "ly",
86
+ "▁go",
87
+ "▁k",
88
+ "▁st",
89
+ "st",
90
+ "ch",
91
+ "▁li",
92
+ "▁u",
93
+ "am",
94
+ "ur",
95
+ "ce",
96
+ "ith",
97
+ "im",
98
+ "▁so",
99
+ "▁have",
100
+ "▁do",
101
+ "ht",
102
+ "th",
103
+ "▁an",
104
+ "▁with",
105
+ "ad",
106
+ "▁r",
107
+ "ir",
108
+ "▁was",
109
+ "▁as",
110
+ "▁W",
111
+ "▁are",
112
+ "ust",
113
+ "ally",
114
+ "▁j",
115
+ "▁se",
116
+ "ation",
117
+ "od",
118
+ "ere",
119
+ "▁like",
120
+ "▁not",
121
+ "▁kn",
122
+ "ight",
123
+ "▁B",
124
+ "▁they",
125
+ "▁And",
126
+ "▁know",
127
+ "ome",
128
+ "op",
129
+ "▁can",
130
+ "▁or",
131
+ "▁sh",
132
+ "▁me",
133
+ "ill",
134
+ "ant",
135
+ "ck",
136
+ "▁what",
137
+ "▁at",
138
+ "▁ab",
139
+ "ould",
140
+ "ol",
141
+ "▁So",
142
+ "▁C",
143
+ "use",
144
+ "ter",
145
+ "il",
146
+ "▁but",
147
+ "▁just",
148
+ "▁ne",
149
+ "▁de",
150
+ "ra",
151
+ "ore",
152
+ "▁there",
153
+ "ul",
154
+ "out",
155
+ "▁con",
156
+ "▁all",
157
+ "▁The",
158
+ "ers",
159
+ "▁H",
160
+ "▁fr",
161
+ "▁pro",
162
+ "ge",
163
+ "ea",
164
+ "▁Y",
165
+ "▁O",
166
+ "▁M",
167
+ "pp",
168
+ "▁com",
169
+ "ess",
170
+ "▁ch",
171
+ "▁al",
172
+ "est",
173
+ "ate",
174
+ "qu",
175
+ "▁lo",
176
+ "▁ex",
177
+ "very",
178
+ "▁su",
179
+ "ain",
180
+ "▁one",
181
+ "ca",
182
+ "art",
183
+ "ist",
184
+ "if",
185
+ "ive",
186
+ "▁if",
187
+ "ink",
188
+ "nt",
189
+ "ab",
190
+ "▁about",
191
+ "▁going",
192
+ "▁v",
193
+ "▁wor",
194
+ "um",
195
+ "ok",
196
+ "▁your",
197
+ "▁my",
198
+ "ind",
199
+ "▁get",
200
+ "cause",
201
+ "▁from",
202
+ "▁don",
203
+ "ri",
204
+ "pe",
205
+ "un",
206
+ "ity",
207
+ "▁up",
208
+ "▁P",
209
+ "▁out",
210
+ "ort",
211
+ "▁L",
212
+ "ment",
213
+ "el",
214
+ "▁N",
215
+ "▁some",
216
+ "ich",
217
+ "and",
218
+ "▁think",
219
+ "em",
220
+ "oug",
221
+ "▁G",
222
+ "os",
223
+ "▁D",
224
+ "res",
225
+ "▁because",
226
+ "▁by",
227
+ "ake",
228
+ "▁int",
229
+ "ie",
230
+ "▁us",
231
+ "▁tr",
232
+ "▁then",
233
+ "ack",
234
+ "▁pl",
235
+ "▁here",
236
+ "▁pe",
237
+ "her",
238
+ "▁will",
239
+ "▁F",
240
+ "▁which",
241
+ "ard",
242
+ "▁right",
243
+ "▁thing",
244
+ "▁want",
245
+ "ies",
246
+ "ople",
247
+ "▁It",
248
+ "▁them",
249
+ "ame",
250
+ "▁We",
251
+ "our",
252
+ "▁say",
253
+ "▁R",
254
+ "▁people",
255
+ "▁see",
256
+ "▁who",
257
+ "ast",
258
+ "ure",
259
+ "ect",
260
+ "ear",
261
+ "▁tim",
262
+ "▁E",
263
+ "▁You",
264
+ "▁would",
265
+ "▁when",
266
+ "ven",
267
+ "▁our",
268
+ "ci",
269
+ "▁really",
270
+ "▁more",
271
+ "ound",
272
+ "ose",
273
+ "ak",
274
+ "▁co",
275
+ "ide",
276
+ "ough",
277
+ "▁had",
278
+ "so",
279
+ "▁qu",
280
+ "eah",
281
+ "▁were",
282
+ "ine",
283
+ "▁act",
284
+ "ther",
285
+ "▁these",
286
+ "▁how",
287
+ "▁now",
288
+ "▁sa",
289
+ "ud",
290
+ "▁Wh",
291
+ "▁man",
292
+ "ous",
293
+ "one",
294
+ "pt",
295
+ "ff",
296
+ "ong",
297
+ "▁has",
298
+ "▁any",
299
+ "▁very",
300
+ "▁But",
301
+ "▁look",
302
+ "iv",
303
+ "itt",
304
+ "▁time",
305
+ "▁mo",
306
+ "▁ar",
307
+ "hing",
308
+ "▁le",
309
+ "▁work",
310
+ "▁their",
311
+ "are",
312
+ "▁his",
313
+ "per",
314
+ "ions",
315
+ "▁im",
316
+ "▁ag",
317
+ "▁J",
318
+ "▁no",
319
+ "▁en",
320
+ "▁got",
321
+ "ag",
322
+ "▁sp",
323
+ "ans",
324
+ "act",
325
+ "▁te",
326
+ "▁also",
327
+ "iz",
328
+ "ice",
329
+ "▁That",
330
+ "▁cl",
331
+ "▁been",
332
+ "▁way",
333
+ "▁fe",
334
+ "▁did",
335
+ "ple",
336
+ "ually",
337
+ "▁other",
338
+ "▁U",
339
+ "ite",
340
+ "age",
341
+ "omet",
342
+ "ber",
343
+ "reat",
344
+ "ree",
345
+ "▁into",
346
+ "own",
347
+ "▁tw",
348
+ "▁part",
349
+ "alk",
350
+ "▁where",
351
+ "▁need",
352
+ "▁every",
353
+ "pl",
354
+ "▁ad",
355
+ "ry",
356
+ "▁over",
357
+ "ble",
358
+ "ap",
359
+ "ue",
360
+ "▁kind",
361
+ "▁po",
362
+ "▁back",
363
+ "▁cont",
364
+ "iff",
365
+ "▁somet",
366
+ "▁pr",
367
+ "nder",
368
+ "ire",
369
+ "▁good",
370
+ "▁than",
371
+ "ace",
372
+ "▁gu",
373
+ "ep",
374
+ "og",
375
+ "ick",
376
+ "way",
377
+ "▁lot",
378
+ "▁un",
379
+ "▁things",
380
+ "▁In",
381
+ "ish",
382
+ "kay",
383
+ "▁well",
384
+ "▁could",
385
+ "▁pre",
386
+ "▁two",
387
+ "irst",
388
+ "▁diff",
389
+ "ach",
390
+ "cc",
391
+ "ittle",
392
+ "int",
393
+ "▁He",
394
+ "▁those",
395
+ "ence",
396
+ "ip",
397
+ "ase",
398
+ "▁him",
399
+ "▁make",
400
+ "▁little",
401
+ "ical",
402
+ "▁gr",
403
+ "▁year",
404
+ "ass",
405
+ "▁thr",
406
+ "uch",
407
+ "ated",
408
+ "▁This",
409
+ "▁off",
410
+ "▁res",
411
+ "ac",
412
+ "ance",
413
+ "▁actually",
414
+ "▁talk",
415
+ "ult",
416
+ "able",
417
+ "orm",
418
+ "▁dis",
419
+ "▁first",
420
+ "ations",
421
+ "▁something",
422
+ "▁she",
423
+ "sel",
424
+ "▁let",
425
+ "ord",
426
+ "▁may",
427
+ "ia",
428
+ "▁am",
429
+ "▁her",
430
+ "▁said",
431
+ "▁bo",
432
+ "be",
433
+ "ount",
434
+ "▁much",
435
+ "▁per",
436
+ "▁even",
437
+ "▁differe",
438
+ "vel",
439
+ "ary",
440
+ "▁app",
441
+ "ving",
442
+ "▁comm",
443
+ "▁imp",
444
+ "ys",
445
+ "▁again",
446
+ "ress",
447
+ "▁yeah",
448
+ "▁down",
449
+ "ang",
450
+ "▁mean",
451
+ "na",
452
+ "ens",
453
+ "▁does",
454
+ "▁fo",
455
+ "▁comp",
456
+ "▁ro",
457
+ "▁bl",
458
+ "ody",
459
+ "▁K",
460
+ "▁through",
461
+ "▁start",
462
+ "uct",
463
+ "▁only",
464
+ "▁bet",
465
+ "▁under",
466
+ "▁br",
467
+ "▁take",
468
+ "ning",
469
+ "▁bu",
470
+ "▁use",
471
+ "▁Ch",
472
+ "xt",
473
+ "co",
474
+ "ory",
475
+ "ild",
476
+ "▁put",
477
+ "▁call",
478
+ "▁new",
479
+ "other",
480
+ "ting",
481
+ "▁happ",
482
+ "ater",
483
+ "▁inc",
484
+ "ition",
485
+ "▁different",
486
+ "▁should",
487
+ "ade",
488
+ "ign",
489
+ "thing",
490
+ "▁day",
491
+ "fore",
492
+ "▁Yeah",
493
+ "ark",
494
+ "ile",
495
+ "ial",
496
+ "▁come",
497
+ "▁They",
498
+ "▁being",
499
+ "▁try",
500
+ "ious",
501
+ "▁sc",
502
+ "▁bit",
503
+ "▁spe",
504
+ "ub",
505
+ "fe",
506
+ "▁doing",
507
+ "▁St",
508
+ "vers",
509
+ "av",
510
+ "ty",
511
+ "ian",
512
+ "onna",
513
+ "red",
514
+ "wn",
515
+ "▁ke",
516
+ "form",
517
+ "ors",
518
+ "▁fl",
519
+ "fter",
520
+ "ail",
521
+ "ents",
522
+ "▁gonna",
523
+ "▁point",
524
+ "ces",
525
+ "▁There",
526
+ "self",
527
+ "▁many",
528
+ "▁If",
529
+ "▁same",
530
+ "▁sy",
531
+ "▁quest",
532
+ "▁most",
533
+ "▁great",
534
+ "▁What",
535
+ "▁fu",
536
+ "ug",
537
+ "▁show",
538
+ "we",
539
+ "ual",
540
+ "ons",
541
+ "▁Be",
542
+ "ically",
543
+ "▁ser",
544
+ "▁rem",
545
+ "▁ind",
546
+ "▁pers",
547
+ "▁V",
548
+ "he",
549
+ "▁str",
550
+ "ved",
551
+ "▁still",
552
+ "ank",
553
+ "▁rec",
554
+ "▁wr",
555
+ "ought",
556
+ "day",
557
+ "ath",
558
+ "▁end",
559
+ "▁bas",
560
+ "ft",
561
+ "erm",
562
+ "body",
563
+ "ph",
564
+ "ject",
565
+ "ict",
566
+ "▁play",
567
+ "▁Is",
568
+ "ates",
569
+ "▁ph",
570
+ "oth",
571
+ "▁acc",
572
+ "get",
573
+ "▁years",
574
+ "▁em",
575
+ "▁id",
576
+ "▁Oh",
577
+ "ves",
578
+ "ever",
579
+ "▁inter",
580
+ "▁rel",
581
+ "▁before",
582
+ "▁feel",
583
+ "igh",
584
+ "▁three",
585
+ "iss",
586
+ "▁des",
587
+ "ne",
588
+ "▁why",
589
+ "▁uh",
590
+ "▁To",
591
+ "▁cons",
592
+ "▁hel",
593
+ "▁after",
594
+ "ower",
595
+ "urn",
596
+ "▁okay",
597
+ "▁long",
598
+ "▁bel",
599
+ "▁around",
600
+ "ful",
601
+ "te",
602
+ "ise",
603
+ "▁ob",
604
+ "▁supp",
605
+ "ady",
606
+ "ange",
607
+ "aking",
608
+ "▁pos",
609
+ "atch",
610
+ "▁tra",
611
+ "gr",
612
+ "▁might",
613
+ "ert",
614
+ "▁help",
615
+ "ost",
616
+ "▁too",
617
+ "cial",
618
+ "▁world",
619
+ "▁give",
620
+ "ike",
621
+ "▁Okay",
622
+ "ways",
623
+ "▁min",
624
+ "ward",
625
+ "ily",
626
+ "▁gen",
627
+ "▁find",
628
+ "▁dec",
629
+ "ular",
630
+ "ob",
631
+ "▁tell",
632
+ "▁Now",
633
+ "▁sm",
634
+ "▁cour",
635
+ "▁real",
636
+ "cess",
637
+ "nds",
638
+ "▁big",
639
+ "▁num",
640
+ "ction",
641
+ "▁add",
642
+ "▁set",
643
+ "▁um",
644
+ "ood",
645
+ "ible",
646
+ "▁own",
647
+ "▁life",
648
+ "ities",
649
+ "▁its",
650
+ "▁God",
651
+ "pect",
652
+ "▁didn",
653
+ "stem",
654
+ "les",
655
+ "uc",
656
+ "ib",
657
+ "ating",
658
+ "olog",
659
+ "▁person",
660
+ "▁inv",
661
+ "ably",
662
+ "▁sure",
663
+ "▁reg",
664
+ "lic",
665
+ "▁stu",
666
+ "▁cr",
667
+ "▁ev",
668
+ "ments",
669
+ "▁another",
670
+ "▁la",
671
+ "▁last",
672
+ "▁sub",
673
+ "▁att",
674
+ "▁op",
675
+ "▁inst",
676
+ "▁sl",
677
+ "▁happen",
678
+ "▁rep",
679
+ "▁import",
680
+ "ific",
681
+ "ix",
682
+ "▁made",
683
+ "▁ear",
684
+ "▁ac",
685
+ "▁def",
686
+ "ute",
687
+ "▁next",
688
+ "ative",
689
+ "▁form",
690
+ "▁guys",
691
+ "▁system",
692
+ "ew",
693
+ "▁able",
694
+ "ied",
695
+ "▁always",
696
+ "ren",
697
+ "erest",
698
+ "▁As",
699
+ "▁mod",
700
+ "▁done",
701
+ "ings",
702
+ "▁love",
703
+ "ism",
704
+ "▁ask",
705
+ "old",
706
+ "ered",
707
+ "▁trans",
708
+ "▁count",
709
+ "ility",
710
+ "▁high",
711
+ "▁fin",
712
+ "▁prob",
713
+ "▁pol",
714
+ "▁exam",
715
+ "▁pres",
716
+ "▁maybe",
717
+ "ell",
718
+ "▁stud",
719
+ "▁prod",
720
+ "▁car",
721
+ "ock",
722
+ "▁used",
723
+ "oy",
724
+ "stand",
725
+ "▁No",
726
+ "▁mon",
727
+ "ks",
728
+ "▁interest",
729
+ "▁ent",
730
+ "ited",
731
+ "▁sort",
732
+ "▁For",
733
+ "▁today",
734
+ "ics",
735
+ "▁vide",
736
+ "▁bec",
737
+ "▁Well",
738
+ "▁Al",
739
+ "▁important",
740
+ "▁such",
741
+ "▁run",
742
+ "▁keep",
743
+ "▁fact",
744
+ "ata",
745
+ "ss",
746
+ "▁never",
747
+ "ween",
748
+ "▁stuff",
749
+ "ract",
750
+ "▁question",
751
+ "als",
752
+ "▁sim",
753
+ "vern",
754
+ "ather",
755
+ "▁course",
756
+ "▁Of",
757
+ "oc",
758
+ "ness",
759
+ "arch",
760
+ "ize",
761
+ "▁All",
762
+ "ense",
763
+ "blem",
764
+ "▁probably",
765
+ "hip",
766
+ "▁number",
767
+ "ention",
768
+ "▁saying",
769
+ "▁commun",
770
+ "▁An",
771
+ "akes",
772
+ "▁belie",
773
+ "▁between",
774
+ "▁better",
775
+ "cus",
776
+ "▁place",
777
+ "▁gener",
778
+ "▁ca",
779
+ "▁ins",
780
+ "▁ass",
781
+ "cond",
782
+ "cept",
783
+ "ull",
784
+ "▁understand",
785
+ "▁fun",
786
+ "▁thought",
787
+ "gan",
788
+ "iew",
789
+ "cy",
790
+ "ution",
791
+ "ope",
792
+ "ason",
793
+ "▁problem",
794
+ "▁doesn",
795
+ "ational",
796
+ "▁read",
797
+ "▁trying",
798
+ "▁sch",
799
+ "▁el",
800
+ "ah",
801
+ "atter",
802
+ "▁exper",
803
+ "▁four",
804
+ "▁ele",
805
+ "▁cou",
806
+ "ont",
807
+ "▁called",
808
+ "▁partic",
809
+ "▁open",
810
+ "▁gl",
811
+ "▁everything",
812
+ "▁eff",
813
+ "▁getting",
814
+ "▁ty",
815
+ "▁Am",
816
+ "▁Because",
817
+ "ave",
818
+ "▁met",
819
+ "▁Like",
820
+ "oney",
821
+ "▁",
822
+ "e",
823
+ "t",
824
+ "o",
825
+ "a",
826
+ "n",
827
+ "i",
828
+ "s",
829
+ "h",
830
+ "r",
831
+ "l",
832
+ "d",
833
+ "u",
834
+ "c",
835
+ "y",
836
+ "m",
837
+ "g",
838
+ "w",
839
+ "f",
840
+ "p",
841
+ ",",
842
+ "b",
843
+ ".",
844
+ "k",
845
+ "v",
846
+ "'",
847
+ "I",
848
+ "T",
849
+ "A",
850
+ "S",
851
+ "j",
852
+ "x",
853
+ "W",
854
+ "B",
855
+ "C",
856
+ "?",
857
+ "0",
858
+ "O",
859
+ "-",
860
+ "M",
861
+ "H",
862
+ "Y",
863
+ "q",
864
+ "1",
865
+ "P",
866
+ "z",
867
+ "L",
868
+ "D",
869
+ "N",
870
+ "G",
871
+ "F",
872
+ "R",
873
+ "E",
874
+ "2",
875
+ "J",
876
+ "U",
877
+ ":",
878
+ "5",
879
+ "9",
880
+ "3",
881
+ "K",
882
+ "4",
883
+ "V",
884
+ "8",
885
+ "6",
886
+ "7",
887
+ "!",
888
+ "%",
889
+ "Q",
890
+ "$",
891
+ "Z",
892
+ "X",
893
+ "é",
894
+ "/",
895
+ "í",
896
+ "á",
897
+ "£",
898
+ "ó",
899
+ "ā",
900
+ "ü",
901
+ "ñ",
902
+ "ö",
903
+ "è",
904
+ "ç",
905
+ "à",
906
+ "¿",
907
+ "μ",
908
+ "π",
909
+ "ä",
910
+ "ú",
911
+ "θ",
912
+ "ã",
913
+ "φ",
914
+ "ī",
915
+ "σ",
916
+ "ê",
917
+ "ρ",
918
+ "â",
919
+ "ô",
920
+ "^",
921
+ "€",
922
+ "É",
923
+ "ū",
924
+ "Δ",
925
+ "λ",
926
+ "α",
927
+ "τ",
928
+ "æ",
929
+ "а",
930
+ "о",
931
+ "ν",
932
+ "î",
933
+ "γ",
934
+ "ψ",
935
+ "ē",
936
+ "т",
937
+ "ß",
938
+ "ω",
939
+ "ï",
940
+ "ć",
941
+ "č",
942
+ "ε",
943
+ "е",
944
+ "и",
945
+ "ò",
946
+ "р",
947
+ "β",
948
+ "ø",
949
+ "ł",
950
+ "δ",
951
+ "η",
952
+ "п",
953
+ "ë",
954
+ "н",
955
+ "с",
956
+ "š",
957
+ "Ü",
958
+ "å",
959
+ "ń",
960
+ "ś",
961
+ "я",
962
+ "đ",
963
+ "л",
964
+ "м",
965
+ "Ö",
966
+ "û",
967
+ "ș",
968
+ "в",
969
+ "Á",
970
+ "Ø",
971
+ "ù",
972
+ "ο",
973
+ "ч",
974
+ "ь",
975
+ "ž",
976
+ "Φ",
977
+ "у",
978
+ "ę",
979
+ "ι",
980
+ "б",
981
+ "г",
982
+ "к",
983
+ "ő",
984
+ "Ś",
985
+ "Ω",
986
+ "κ",
987
+ "υ",
988
+ "ì",
989
+ "Č",
990
+ "έ",
991
+ "х",
992
+ "ы",
993
+ "Å",
994
+ "Ç",
995
+ "ż",
996
+ "ί",
997
+ "ζ",
998
+ "χ",
999
+ "э",
1000
+ "Æ",
1001
+ "Í",
1002
+ "õ",
1003
+ "ě",
1004
+ "ħ",
1005
+ "Ł",
1006
+ "œ",
1007
+ "Ž",
1008
+ "ț",
1009
+ "Γ",
1010
+ "П",
1011
+ "д",
1012
+ "з",
1013
+ "ф",
1014
+ "¡",
1015
+ "À",
1016
+ "Î",
1017
+ "Ā",
1018
+ "ė",
1019
+ "Š",
1020
+ "ź",
1021
+ "Κ",
1022
+ "Ψ",
1023
+ "ά",
1024
+ "ξ",
1025
+ "ό"
1026
+ ]