- Ứng dụng nhận dạng giọng nói cục bộ trên macOS, giữ phím Control và nói để tự động chuyển thành văn bản rồi dán vào
- Toàn bộ quá trình nhận dạng giọng nói và làm sạch văn bản đều chỉ được thực hiện cục bộ, đảm bảo bảo vệ quyền riêng tư mà không cần truyền dữ liệu lên đám mây
- Dựa trên WhisperKit và LLM.swift, tự động tải xuống mô hình Hugging Face và lưu vào bộ nhớ đệm
- Tính năng làm sạch thông minh loại bỏ lời nói thừa và chỉnh lại các biểu đạt tự sửa, chạy nền dưới dạng ứng dụng thanh menu
- Được phát hành dưới dạng mã nguồn mở giấy phép MIT, hoạt động trên Apple Silicon macOS 14 trở lên
Tổng quan
- Ghost Pepper là ứng dụng chuyển giọng nói thành văn bản hoàn toàn cục bộ cho macOS, cung cấp tính năng giữ phím Control, nói rồi thả ra để tự động chuyển thành văn bản và dán vào
- Không sử dụng cloud API, mọi dữ liệu và mô hình đều được xử lý hoàn toàn trên máy cục bộ
- Hoạt động trên macOS 14.0 trở lên chạy Apple Silicon (M1 trở lên)
- Chạy dưới dạng ứng dụng thanh menu, có thể tự khởi động khi đăng nhập
- Là dự án mã nguồn mở phát hành theo giấy phép MIT
Tính năng chính
- Giữ phím Control và nói → khi thả phím sẽ tự động chuyển thành văn bản và dán vào
- Kiến trúc chạy cục bộ, cả mô hình nhận dạng giọng nói và hậu xử lý đều chạy bên trong máy Mac
- Tính năng làm sạch thông minh loại bỏ lời nói thừa (uh, um, v.v.) và tự động chỉnh các biểu đạt tự sửa
- Giao diện chỉ trên thanh menu nên hoạt động nền mà không có biểu tượng Dock
- Hỗ trợ tùy chỉnh người dùng: có thể sửa prompt làm sạch, chọn micro, bật/tắt tính năng
Cách hoạt động
- Tất cả mô hình đều dựa trên mã nguồn mở; khi chạy lần đầu sẽ tự động tải xuống rồi lưu vào bộ nhớ đệm cục bộ
- Nhận dạng giọng nói được thực hiện bằng WhisperKit, làm sạch văn bản bằng LLM.swift
- Các tệp mô hình được cung cấp qua Hugging Face
-
Mô hình nhận dạng giọng nói
- Whisper tiny.en (~75MB): mô hình chỉ tiếng Anh nhanh nhất
- Whisper small.en (~466MB): mặc định, mô hình chỉ tiếng Anh có độ chính xác cao
- Whisper small (multilingual): hỗ trợ đa ngôn ngữ
- Parakeet v3 (~1.4GB): hỗ trợ 25 ngôn ngữ, dựa trên FluidAudio
-
Mô hình làm sạch văn bản
- Qwen 3.5 0.8B (~535MB): mặc định, xử lý trong khoảng 1–2 giây
- Qwen 3.5 2B (~1.3GB): tốc độ xử lý nhanh (khoảng 4–5 giây)
- Qwen 3.5 4B (~2.8GB): chất lượng tốt nhất (khoảng 5–7 giây)
Cài đặt và chạy
-
Cài đặt ứng dụng
- Tải GhostPepper.dmg
- Mở DMG rồi kéo vào thư mục Applications
- Cho phép quyền truy cập micro và Trợ năng
- Bắt đầu sử dụng bằng cách giữ phím Control và nói
-
Build từ mã nguồn
- Clone kho lưu trữ
- Mở
GhostPepper.xcodeproj trong Xcode
- Cmd+R để build và chạy
Yêu cầu quyền
| Quyền |
Mục đích |
| Microphone |
Ghi âm giọng nói |
| Accessibility |
Thực hiện phím tắt toàn cục và tự động dán |
Thông tin bổ sung
- Tự khởi động khi đăng nhập được bật mặc định và có thể tắt trong phần cài đặt
- Không lưu log trên đĩa — văn bản đã chuyển đổi không được ghi thành tệp, còn log debug chỉ được giữ trong bộ nhớ rồi bị xóa khi ứng dụng thoát
Cấu trúc kỹ thuật và phụ thuộc
- WhisperKit: engine nhận dạng giọng nói
- LLM.swift: LLM cục bộ để làm sạch văn bản
- Hugging Face: nơi lưu trữ mô hình
- Sparkle: quản lý cập nhật ứng dụng macOS
Ý nghĩa tên gọi
- Tất cả mô hình đều chỉ chạy cục bộ, nên dữ liệu cá nhân không bị gửi ra bên ngoài
- Tên Ghost Pepper tượng trưng cho tính năng mạnh mẽ được cung cấp miễn phí
Hỗ trợ doanh nghiệp và thiết bị được quản lý
- Ứng dụng cần quyền Trợ năng (Accessibility), và thông thường sẽ yêu cầu quyền quản trị viên
- Trong môi trường MDM (Jamf, Kandji, Mosaic, v.v.), có thể phê duyệt trước thông qua profile PPPC (Privacy Preferences Policy Control)
- Bundle ID:
com.github.matthartman.ghostpepper
- Team ID:
BBVMGXR9AY
- Permission: Accessibility (
com.apple.security.accessibility)
1 bình luận
Ý kiến trên Hacker News
Ứng dụng này thật sự rất tuyệt. Nhưng mỗi lần nhìn thấy nó tôi lại nhớ đến Pixel 6 của mình
Đó là mẫu máy năm 2021, nhưng vẫn có thể chuyển giọng nói thành văn bản ngay cả khi ngoại tuyến và tự động chỉnh sửa theo ngữ cảnh. Thậm chí nếu tôi tiếp tục nói, nó còn sửa lại cả những câu trước đó.
Thật ngạc nhiên khi Google đã tích hợp công nghệ như thế này từ sớm hơn tới 5 năm so với Whisper hay Qwen. Nhưng tôi thắc mắc vì sao bây giờ lại cần tới mô hình transformer 1GB trên những nền tảng mạnh hơn
Google đã hỗ trợ huấn luyện mô hình này khoảng 10 năm trước, và tới giờ nó vẫn khá xuất sắc.
Nó được tích hợp trong các trình duyệt dựa trên Webkit hoặc Blink, nên nhiều website đang dùng nó như một frontend đơn giản.
Nhưng bản thân mô hình tồn tại dưới dạng blob độc quyền, nên Firefox không hỗ trợ
Tài liệu MDN / Demo Chrome
Tôi ở trong nhóm lúc đó, và vì không có nhân sự bảo trì nên chúng tôi bỏ mô hình ngoại tuyến và chuyển sang chỉ dùng trực tuyến.
Lý do không phải kỹ thuật, mà đơn giản là thiếu người bảo trì
Trên Android tôi dùng Futo, trên macOS thì dùng MacWhisper. Cả hai đều tốt hơn nhiều so với mô hình mặc định của Apple
Trong khi đó các mô hình STT cục bộ mã nguồn mở như Whisper hay Parakeet mạnh hơn hẳn.
Chúng cũng ít bị ảnh hưởng hơn bởi tiếng ồn nền hay giọng lầm bầm.
Tôi làm trong mảng Voice AI, nên dùng các mô hình như thế này hằng ngày, và sự khác biệt cảm nhận được là rất lớn
Ứng dụng được làm rất tốt. Nếu góp ý thì,
thứ nhất, nhất định cần có tính năng tự động dán vào clipboard. Sẽ tốt hơn nếu không cần bấm phím tắt hoặc có thể cấu hình được
thứ hai, tốc độ hơi chậm hơn một chút so với các giải pháp khác. Điều này ảnh hưởng lớn đến trải nghiệm sử dụng
thứ ba, sẽ tốt nếu có tính năng điều khiển định dạng. Ví dụ khi nói “new line” thì nó nên được hiểu là xuống dòng thật
Chủ đề này giống như một nhóm hỗ trợ cho những người tự làm ứng dụng chuyển giọng nói → văn bản cho macOS
Gần đây tôi cũng đã thêm Ghost Pepper, và bạn còn có thể tự xây ứng dụng bằng cách tạo file skill.md chứa các tính năng mình cần
Trong một danh mục đã bão hòa như vậy, cần giải thích rõ điểm khác biệt so với các ứng dụng hiện có
Bài viết liên quan
KeyVox GitHub
Hiệu năng gần như ngang với Wispr Flow, và chạy hoàn toàn cục bộ
Là người dùng Linux, tôi đã phát triển Hyprwhspr
Nếu chạy mô hình Cohere Transcribe mới nhất bằng GPU thì hiệu năng rất tốt.
Tôi muốn biết liệu bạn đã so sánh WhisperKit với faster-whisper hay turbov3 chưa.
Tôi cũng đang mong Apple sớm ra mắt STT native
Tôi cũng muốn biết vì sao bạn không cải tiến dự án hiện có mà lại làm mới từ đầu
Độ chính xác đủ tốt nên tôi không cần mô hình dọn dẹp.
Tuy vậy với audio dài hơn 30 giây thì tôi bắt đầu thấy độ trễ. Tôi tò mò WhisperKit xử lý audio dài như thế nào
Không biết bạn đã từng cân nhắc tính năng foot pedal PTT (Push-To-Talk) chưa?
Apple cũng đã có STT, nhưng chất lượng mô hình vẫn còn hơi đáng tiếc
Speech-to-text là phần cốt lõi trong quy trình phát triển của tôi.
Nó đặc biệt hữu ích khi đọc prompt cho LLM hoặc coding agent.
Tôi đã tổng hợp các công cụ nhập liệu bằng giọng nói mã nguồn mở tốt nhất theo từng nền tảng trong repo GitHub này
Tôi gõ được 120 từ mỗi phút nên nhanh hơn nói rất nhiều.
Ngoài mục đích trợ năng, tôi thật sự muốn biết liệu đây là dành cho người gõ chậm hay để nằm trên sofa viết code
Chẳng phải đã có sẵn ứng dụng như Handy rồi sao?
Cảm ơn vì đã chia sẻ. Tôi thích việc nó tập trung vào tốc độ cục bộ và quyền riêng tư
Tôi đang dùng Hex với mục tiêu tương tự, nên muốn nghe suy nghĩ của bạn về sự khác biệt giữa hai ứng dụng
Gần đây, khi LLM local-first ngày càng nhỏ hơn, tôi nghĩ chúng sẽ trở thành hạ tầng cốt lõi cho phát triển ứng dụng
Giống như Electron trước đây đã giúp việc làm app đẹp trở nên dễ dàng, giờ chỉ cần hy sinh thêm một ít RAM là được
Blog liên quan
Có rất nhiều dự án liên quan đến Whisper, nên tôi tò mò không biết đây là mô hình OpenAI cũ hay là phiên bản đã cập nhật
Tôi đang dùng Parakeet v3, nó nhỏ gọn và rất tốt. Nhưng tôi thắc mắc vì sao Whisper vẫn còn nhiều đến vậy
Nó ít bị ảo giác hơn các mô hình mới hơn, và cũng dễ chạy trên GPU AMD.
Tôi đã tự port Parakeet, nhưng cuối cùng lại quay về với Whisper
Nhưng tôi dùng nhiều tiếng Ba Lan và thuật ngữ chuyên ngành, nên Whisper v3 phù hợp hơn
Vì vậy điểm mạnh của nó là có thể điều chỉnh theo môi trường hệ thống
Tôi cũng kết nối máy chủ Parakeet với điện thoại GrapheneOS
Bài viết liên quan
Tôi thật sự thích dự án này và muốn tích hợp nó vào workflow của mình.
Tuy vậy, câu kiểu “miễn phí trong khi bị so sánh với các AI lab lớn gọi vốn 80 triệu USD” hơi khiến tôi khó chịu.
Công việc này không hẳn mang tính nổi loạn, mà đúng hơn là phần nối dài của nghiên cứu hiện có.
Gọi nó là “spicy” thì có cảm giác hơi cường điệu