LocalVocal: Giải pháp nhận dạng giọng nói thời gian thực không cần kết nối Internet

Công nghệ và Kiến trúc

LocalVocal là một plugin OBS hoàn toàn chạy trên máy tính cá nhân, sử dụng Whisper.cpp để cung cấp dịch vụ nhận dạng giọng nói và tạo phụ đề mà không cần tới các dịch vụ đám mây. Dự án này dựa trên mô hình Whisper của OpenAI, được tối ưu hóa cho việc xử lý trực tiếp trên CPU hoặc GPU, đảm bảo chất lượng phụ đề ngay cả khi không có kết nối mạng.

  • Nhận dạng giọng nói: Whisper.cpp hỗ trợ hơn 100 ngôn ngữ.
  • Tăng tốc phần cứng: Hỗ trợ CUDA, Metal, Vulkan, ROCm.
  • Dịch thuật: CTranslate2 giúp dịch thuật đa ngôn ngữ.
  • Xử lý âm thanh: Silero VAD giúp phát hiện hoạt động giọng nói chính xác.

Cài đặt và Triển khai

Windows

Đối với người dùng Windows, LocalVocal cung cấp ba phiên bản: thông thường, tối ưu cho NVIDIA GPU, và AMD GPU. Việc cài đặt đơn giản chỉ cần tải và chạy file cài đặt tương ứng.

Linux

Người dùng Linux có thể cài đặt thông qua Flatpak:

git clone https://gitcode.com/gh_mirrors/ob/obs-localvocal
cd obs-localvocal/flatpak
flatpak-builder --user --install build-dir com.obsproject.Studio.Plugin.LocalVocal.yaml

Để tùy chỉnh hiệu suất, bạn có thể biên dịch từ mã nguồn:

export ACCELERATION="cuda"  # Hoặc "amd", "generic"
cmake -B build_x86_64 --preset linux-x86_64 -DCMAKE_INSTALL_PREFIX=./release
cmake --build build_x86_64 --target install

macOS

Người dùng macOS có thể chọn phiên bản phù hợp với chip của mình, với Metal acceleration cung cấp hiệu suất tốt nhất cho chip M series. Dự án hỗ trợ từ macOS 12 đến macOS 15.

Phân tích Chi Tiết Các Tính Năng

Mô-đun Nhận Dạng Giọng Nói Thời Gian Thực

Mô-đun này nằm trong src/whisper-utils/whisper-processing.cpp, sử dụng thiết kế buffer đa luồng để giảm độ trễ. Hệ thống sử dụng bộ đệm âm thanh 3000ms với cửa sổ chồng lấp 125ms.

#define DEFAULT_BUFFER_SIZE_MSEC 3000
#define DEFAULT_OVERLAP_SIZE_MSEC 125

Xác Định Hoạt Động Giọng Nói Thông Minh

LocalVocal sử dụng mô hình Silero VAD trong src/whisper-utils/vad-processing.cpp để phát hiện chính xác ranh giới của giọng nói, giúp loại bỏ nhiễu và cải thiện chất lượng phụ đề.

Hệ Thống Dịch Thuật Đa Ngôn Ngữ

Hệ thống dịch thuật hỗ trợ nhiều công cụ như dịch thuật tích hợp, API dịch vụ đám mây, và mô hình NMT cục bộ. Mã ngôn ngữ được định nghĩa trong src/translation/language_codes.cpp, hỗ trợ hơn 99 ngôn ngữ.

Chiến Lược Tối Ưu Hóa Hiệu Suất

Cấu Hình Tăng Tốc Phần Cứng

  • NVIDIA GPU: Sử dụng CUDA.
  • AMD GPU: Sử dụng hipBLAS trong ROCm.
  • Apple: Sử dụng Metal.
  • Chung: Sử dụng Vulkan.

Lời Khuyên Về Mô Hình

  • Tiny (75MB): Phù hợp cho môi trường tài nguyên hạn chế, hiệu suất thời gian thực tốt nhất.
  • Small (465MB): Cân bằng giữa độ chính xác và hiệu suất, khuyến nghị sử dụng.
  • Medium (1.5GB): Độ chính xác cao nhất.

Tối Ưu Hóa Xử Lý Âm Thanh

Độ phân giải âm thanh cố định ở 16000Hz, giảm chi phí tái lấy mẫu. Với tăng tốc phần cứng, độ trễ có thể duy trì dưới 500ms, phù hợp cho các cuộc truyền hình trực tiếp.

Ứng Dụng Thực Tế

  • Giáo dục trực tuyến: Phụ đề thực tế giúp học sinh khiếm thính hiểu bài giảng.
  • Truyền hình đa ngôn ngữ: Dịch thuật thời gian thực giúp mở rộng đối tượng xem.
  • Xử lý nội dung nhạy cảm: Đảm bảo dữ liệu giọng nói được xử lý cục bộ, tránh rò rỉ thông tin.
  • Tạo nội dung dễ tiếp cận: Cải thiện khả năng tiếp cận và SEO.

Điểm Sáng Kỹ Thuật

Mechanism Nạp Động

LocalVocal sử dụng kiến trúc plugin, tự động chọn backend phù hợp khi khởi động.

Kiến Trúc Dịch Thuật Mô-đun

Hệ thống dịch thuật cho phép thay đổi công cụ dịch thuật một cách linh hoạt.

Đồng Bộ Phụ Đề Thời Gian Thực

Mechanism đồng bộ thời gian trong src/transcription-filter.cpp đảm bảo phụ đề khớp chính xác với dòng thời gian ghi của OBS.

Thư Viện và Khả Năng Mở Rộng

LocalVocal là dự án nguồn mở, hỗ trợ tải mô hình từ HuggingFace, cung cấp API chuẩn cho các plugin và quản lý cấu hình bằng JSON.

Hướng Phát Triển Tương Lai

  • Tối ưu hóa mô hình: Nghiên cứu kỹ thuật quantization và distillation.
  • Hỗ trợ thiết bị cạnh: Tích hợp với Raspberry Pi.
  • Tích hợp đa phương thức: Kết hợp thông tin thị giác.
  • Từ điển tùy chỉnh: Hỗ trợ từ điển chuyên ngành.

Thẻ: Whisper.cpp OBS Speech Recognition Captioning Local AI

Đăng vào ngày 8 tháng 6 lúc 17:07