Ghi công & giấy phép
OpenRead đứng trên công sức của nhiều người khác. Trang này liệt kê những gì làm nên ứng dụng, cùng các điều khoản đi kèm.
Model giọng đọc
VieNeu-TTS v3 Turbo (Pro engine) Phạm Nguyễn Ngọc Bảo (pnnbao97 / pnnbao-ump) · Apache-2.0
Engine tiếng Việt mở rộng, FP32 mặc định và INT8 tuỳ chọn, cùng 25 giọng mẫu của SDK; model tải rời, không nằm trong app.
Bản đang dùng: SDK 3.8.3 · 85344322b7258b4e25479b692e8e3396baf9db34 · model 61b85e3d937fbbacb387714180e8182823512523
OpenRead đã thay đổi gì
- Luồng suy luận native C++ theo SDK đã ghim, với frontend Rust. Port bộ chia câu và ghép khoảng lặng của SDK sang Swift; thêm adapter, huỷ, cache PCM và đặt QoS worker cho OpenRead.
- Đường FP32 dùng graph ONNX acoustic tự xuất từ trọng số gốc, backbone gốc và metadata chia sẻ initializer. INT8 dùng các graph SDK của tác giả. Không sửa trọng số; model được kiểm bằng SHA-256 trước khi nạp.
- 25 giọng mẫu được chép từ src/vieneu/assets/voices_v3_turbo.json sang một tệp JSON gọn nằm trong app (mã codec trải phẳng, giọng mặc định xếp đầu) — đổi cách lưu, không đổi giá trị. Giọng mặc định vẫn dùng anchor có sẵn trong gói model.
- Thêm tích hợp giọng cá nhân do người dùng tạo từ bản ghi xử lý ngay trên thiết bị; không thay đổi giọng mẫu của tác giả.
- OpenRead thêm tối đa hai hoặc ba lượt thử lại có giới hạn cho lựa chọn câu một hoặc hai âm tiết chưa có EOS, vẫn bắt buộc EOS thật và kiểm tra PCM. Reader ghép câu tiếng Việt dưới 5 từ với câu kề, tối đa 3 câu và 96 Unicode scalar (fallback giới hạn 112); không đổi trọng số hoặc giọng mẫu.
Ghi chú: Giấy phép này là bản lưu từ repo mã nguồn đã ghim, không phải giấy phép trọng số độc lập lấy từ checkpoint Hugging Face.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
MOSS-TTS-Nano (Pro engine) OpenMOSS Team · Apache-2.0
Bộ đọc quốc tế: tiếng Trung, Anh, Nhật và đọc chéo một số tiếng khác; model tải rời, không nằm trong app.
Bản đang dùng: code 8b7bcc9341b3b4ef3a3a58ba1338a7d85ff133eb · ONNX f52645cb467506d8e18e746ddd59482685b74e58 · PyTorch 44502f80dbf9743528fa921cc544d662c685ebec
OpenRead đã thay đổi gì
- Luồng suy luận native C++ chạy các graph ONNX của tác giả trên CPU, giữ prompt gốc và bộ lấy mẫu trong graph. Trọng số FP32 giữ nguyên, chỉ gom lại để các graph dùng chung bộ nhớ; thêm adapter, huỷ, cache PCM và đặt QoS worker cho OpenRead.
- Port bộ chuẩn hoá chữ và bộ chia đoạn 75 token của upstream sang Swift, cùng bộ mã hoá SentencePiece viết lại đọc thẳng tokenizer.model của tác giả. Trước khi chuẩn hoá, app bỏ các chuỗi token điều khiển khỏi chữ đầu vào và đổi chữ phồn thể sang giản thể.
- Bản INT8 do OpenRead tự lượng tử hoá (ORT dynamic QInt8 theo kênh) từ graph FP32 của tác giả và chỉ là lựa chọn tự bật. Giọng mẫu lấy nguyên từ preset của tác giả; 7 giọng tiếng Nhật hiện trên giao diện bằng tên khác. Model được kiểm SHA-256 trước khi nạp.
- Thêm tích hợp giọng cá nhân từ bản ghi của người dùng và bộ kiểm tra đầu ra có sinh lại giới hạn khi phát hiện khoảng lặng bất thường. Xử lý giọng và tổng hợp đều diễn ra trên thiết bị.
- OpenRead thêm giảm gain tuyến tính có điều kiện khi PCM vượt nhẹ giới hạn player: chỉ nhận đỉnh tối đa 1,6 cùng giới hạn mật độ overshoot, crest và DC. PCM đã hợp lệ và cache thô giữ nguyên; không cắt đỉnh hoặc đổi trọng số.
Ghi chú: Giấy phép này là bản lưu từ repo mã nguồn đã ghim. Bản model ONNX đã ghim trên Hugging Face không kèm tệp LICENSE; model card ghi Apache-2.0.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
VieNeu-TTS v3 Turbo Phạm Nguyễn Ngọc Bảo (pnnbao97 / pnnbao-ump) · Apache-2.0
Model tổng hợp giọng tiếng Việt chạy ngay trên máy, cùng 14 giọng mẫu đi kèm.
Bản đang dùng: SDK v3.2.3 · 452bf58485a37772d8963a7dfb9e13b0d8288a50 · model 75ff82a72f54d55ed389e1eeb12041d3c4bac7d4
OpenRead đã thay đổi gì
- Dùng đúng các đồ thị ONNX int8 do tác giả công bố ở bản model đã ghim — OpenRead không tự chuyển đổi và không thay đổi trọng số.
- Đóng lại thành gói giọng của OpenRead (chia khúc kèm checksum) để tải rời; nội dung từng tệp giữ nguyên từng byte.
- 14 giọng mẫu tách từ assets/voices_v3_turbo.json ra thành tệp .npy theo từng giọng — đổi cách lưu, không đổi giá trị.
- Luồng suy luận được viết lại bằng C++ cho iOS. Đây là bản cài đặt độc lập, không sao chép mã nguồn của tác giả.
- Thêm tuỳ chọn đặt worker ONNX Runtime theo QoS của làn tổng hợp để tiết kiệm năng lượng trong bản Pro; không đổi đồ thị, trọng số hay thuật toán tổng hợp.
Ghi chú: Bản model trên Hugging Face mà OpenRead ghim không kèm tệp LICENSE riêng. Apache-2.0 ở đây là giấy phép của repo gốc và của model card, không phải tệp lấy từ chính bản model đó.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
MOSS-Audio-Tokenizer-Nano OpenMOSS Team · Apache-2.0
Bộ codec âm thanh giải mã token do model sinh ra trở lại thành sóng âm, đồng thời mã hoá bản ghi để tạo giọng cá nhân trên thiết bị.
Bản đang dùng: ceff0d0749bfb3fa2d61149794ec6feef0d1e1ae
OpenRead đã thay đổi gì
- Dùng đúng đồ thị ONNX do tác giả công bố; chỉ đóng lại vào gói giọng của OpenRead, trọng số giữ nguyên. App giải mã bằng đồ thị streaming của tác giả theo từng cửa sổ 8 frame thay cho đồ thị giải mã một lần, để bộ nhớ không tăng theo độ dài câu; kết quả chỉ lệch ở mức làm tròn số thực.
Ghi chú: Bản đã ghim trên Hugging Face không kèm tệp LICENSE. Model card ghi Apache-2.0, nên bản Apache-2.0 nguyên văn ở đây là bản chuẩn của giấy phép đó — không phải tệp lấy từ bản model.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
Supertonic 3 Supertone Inc. · BigScience-OpenRAIL-M
Model tổng hợp giọng đa ngôn ngữ chạy ngay trên máy, dùng cho các tiếng ngoài tiếng Việt; tải rời, kèm 10 giọng mẫu.
Bản đang dùng: model 3cadd1ee6394adea1bd021217a0e650ede09a323 · gói supertonic-int8w-v1
OpenRead đã thay đổi gì
- Trọng số của text encoder, vector estimator và vocoder được lưu lại dạng int8 (một hệ số cho mỗi kênh ra) và giải về fp32 lúc chạy. duration predictor, cấu hình và 10 giọng mẫu giữ nguyên từng byte.
- Đóng lại thành gói giọng của OpenRead (nén, chia khúc kèm checksum) để tải rời.
- Luồng suy luận được viết lại bằng C++ cho iOS; với tiếng Việt, thời lượng model dự đoán được nhân 0,7 lúc chạy (không đổi trọng số).
- Ngoài 10 giọng mẫu, OpenRead phát thêm giọng do chính OpenRead tạo (vector giọng, tải rời qua catalog); trọng số model không đổi. Xem mục Common Voice.
- Với chunk tiếng Việt một từ gần như im lặng, OpenRead thử lại một lần với hệ số thời lượng 1,0 rồi kiểm tra tín hiệu và huỷ. Đầu ra ban đầu đã có tiếng giữ nguyên; không thay trọng số, giọng hoặc hệ số thời lượng mặc định cho các câu khác.
Ghi chú: Tải rời trong app (Cài đặt → Bộ giọng → Đa ngôn ngữ nâng cao); người dùng phải đồng ý Điều khoản bộ giọng đa ngôn ngữ trước khi tải: giấy phép OpenRAIL-M (§4a, §5) buộc các hạn chế sử dụng ở Phụ lục A phải thành điều khoản ràng buộc người dùng. Giấy phép không có dòng Copyright; bản quyền theo model card là Supertone Inc. Nguồn dữ liệu huấn luyện không được công bố. OpenRead không liên kết với Supertone Inc.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
Mozilla Common Voice (Supertonic voices) Mozilla Common Voice contributors · CC0-1.0
Bản ghi giọng nói dùng để tạo các giọng Supertonic PRO của OpenRead; giọng tải rời qua catalog, không nằm trong app.
Bản đang dùng: Common Voice Corpus 17.0 · cs
OpenRead đã thay đổi gì
- OpenRead tối ưu vector giọng (style_ttl) của Supertonic 3 cho giống khoảng 2 phút bản ghi của một người đóng góp; style_dp lấy nguyên của giọng mẫu xuất phát. Không phát hành lại bản ghi nào. Tên giọng là tên hư cấu, không gắn với người đóng góp.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
Bộ chạy model
ONNX Runtime 1.23.0 Microsoft Corporation · MIT
Chạy các model ngay trên máy.
Bản đang dùng: iOS 1.23.0 · be835efc56aca19b8e810538ec93c8e150e0fc61
OpenRead đã thay đổi gì
- Dùng bản dựng sẵn của Microsoft, không sửa gì.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
Thư viện
sea-g2p 0.9.1 Phạm Nguyễn Ngọc Bảo (pnnbao97) · Apache-2.0
Chuẩn hoá chữ và chuyển âm vị riêng cho engine Pro.
Bản đang dùng: 0.9.1 · dictionary 4346e690d0711ebc5231e7a42c5c88aaf6e40377e894b4617c018fd81c6f4096
OpenRead đã thay đổi gì
- Biên dịch nguồn Rust vendored cho iOS và thêm C ABI giữ tag cảm xúc, chuẩn hoá theo câu, giới hạn frame theo SDK; không dùng các sửa phát âm của engine miễn phí.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
sea-g2p 0.7.20 Phạm Nguyễn Ngọc Bảo (pnnbao97) · Apache-2.0
Chuyển chữ viết sang âm vị cho tiếng Việt, kèm từ điển sea_g2p.bin.
Bản đang dùng: v0.7.20 · 1b9be32f47e3d63919daf2025be586b621f81e02
OpenRead đã thay đổi gì
- Biên dịch chéo cho iOS (aarch64) thành xcframework.
- Thêm một bước sau tra từ điển: từ viết bằng "tr" đổi phụ âm đầu từ tʃ sang tɹ, để bộ đọc phân biệt "tr" với "ch". sea-g2p gốc gộp hai phụ âm này làm một. Đặt biến môi trường SEAG2P_UPSTREAM_ONSETS để tắt và lấy lại đúng đầu ra của tác giả.
- Từ điển sea_g2p.bin dùng đúng bản v0.7.20 của tác giả, không tạo lại.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
seag2p_ffi 0.1.0 OpenRead · Apache-2.0
Lớp bọc C do OpenRead viết để gọi sea-g2p từ Swift/C++.
OpenRead đã thay đổi gì
- Lớp bọc C và phần ghép nối là do OpenRead tự viết, phát hành cùng giấy phép Apache-2.0. Crate này cũng mang theo mã sea-g2p đã vendor; mọi thay đổi đối với phần mã đó được ghi ở mục sea-g2p 0.7.20.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
Supertonic sample code Copyright (c) 2025 Supertone Inc · MIT
Quy tắc chuẩn hoá văn bản trước khi đưa vào model (bảng thay ký tự, bỏ emoji, sửa khoảng trắng quanh dấu câu).
Bản đang dùng: 1e9799e964ea4c0dad7cde993b65c3c813a7b373 (repo đã archive)
OpenRead đã thay đổi gì
- Chuyển từ Python sang Swift; kết quả khớp bản gốc trên bộ câu kiểm thử.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
Thư viện Rust
aho-corasick 1.1.4 / 1.1.5 Copyright (c) 2015 Andrew Gallant · MIT OR Unlicense
Bản đang dùng: Legacy and Pro frontend versions; license files byte-identical.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
bit-set 0.5.3 Copyright (c) 2016 The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
bit-vec 0.6.3 Copyright (c) 2015 The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
crossbeam-deque 0.8.7 / 0.8.8 Copyright (c) 2019 The Crossbeam Project Developers · Apache-2.0 OR MIT
Bản đang dùng: Legacy and Pro frontend versions; license files byte-identical.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
crossbeam-epoch 0.9.20 / 0.9.21 Copyright (c) 2019 The Crossbeam Project Developers · Apache-2.0 OR MIT
Bản đang dùng: Legacy and Pro frontend versions; license files byte-identical.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
crossbeam-utils 0.8.22 / 0.8.23 Copyright (c) 2019 The Crossbeam Project Developers · Apache-2.0 OR MIT
Bản đang dùng: Legacy and Pro frontend versions; license files byte-identical.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
either 1.16.0 / 1.18.0 Copyright (c) 2015 · Apache-2.0 OR MIT
Bản đang dùng: Legacy and Pro frontend versions; license files byte-identical.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
fancy-regex 0.13.0 Copyright 2015 The Fancy Regex Authors · MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
itoa 1.0.18 David Tolnay · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
libc 0.2.189 Copyright (c) The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
memchr 2.8.3 Copyright (c) 2015 Andrew Gallant · MIT OR Unlicense
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
memmap2 0.9.11 Copyright [2015] [Dan Burkert] · Copyright (c) 2020 Yevhenii Reizner · Copyright (c) 2015 Dan Burkert · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
once_cell 1.21.4 Aleksey Kladov · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
proc-macro2 1.0.107 David Tolnay; Alex Crichton · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
quote 1.0.47 David Tolnay · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
rayon 1.12.0 Copyright (c) 2010 The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
rayon-core 1.13.0 Copyright (c) 2010 The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
regex 1.13.1 Copyright (c) 2014 The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
regex-automata 0.4.16 / 0.4.18 Copyright (c) 2014 The Rust Project Developers · Apache-2.0 OR MIT
Bản đang dùng: Legacy and Pro frontend versions; license files byte-identical.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
regex-syntax 0.8.11 Copyright (c) 2014 The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
serde 1.0.229 Erick Tryzelaar; David Tolnay · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
serde_core 1.0.229 Erick Tryzelaar; David Tolnay · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
serde_derive 1.0.229 Erick Tryzelaar; David Tolnay · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
serde_json 1.0.151 Erick Tryzelaar; David Tolnay · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
syn 3.0.3 David Tolnay · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
tinyvec 1.12.0 / 1.13.3 Copyright (c) 2019 Daniel "Lokathor" Gee · Apache-2.0 OR MIT OR Zlib
Bản đang dùng: Legacy and Pro frontend versions; license files byte-identical.
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
tinyvec_macros 0.1.1 Copyright 2020 Tomasz "Soveu" Marx · Copyright (c) 2020 Soveu · Apache-2.0 OR MIT OR Zlib
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
unicode-ident 1.0.24 Copyright © 1991-2023 Unicode, Inc · (Apache-2.0 OR MIT) AND Unicode-3.0
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
unicode-normalization 0.1.25 Copyright (c) 2015 The Rust Project Developers · Apache-2.0 OR MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
zmij 1.0.23 David Tolnay · MIT
Giữ nguyên bản tiếng Anh. Bản dịch giấy phép không có giá trị pháp lý.
Mỗi thành phần đều đi kèm đầy đủ tệp giấy phép và thông báo của đúng bản phát hành được dùng. Nếu bạn thấy chỗ nào ghi công chưa đúng, xin báo cho chúng tôi.