Chuyển tới nội dung chính

Cách cải thiện hiệu suất

Plugin sử dụng các phương pháp tăng tốc GPU khác nhau tùy theo nền tảng: Vulkan trên Windows và Linux, Metal trên Mac và iOS, giúp tăng tốc đáng kể quá trình nhận dạng. Trên các nền tảng khác, plugin sử dụng CPU + intrinsics để tăng tốc. Tuy nhiên, bạn có thể cải thiện thêm hiệu suất của plugin bằng cách làm theo các khuyến nghị dưới đây:

  1. Sử dụng Phát hiện Hoạt động Giọng nói (VAD)

    Rất khuyến khích sử dụng Phát hiện Hoạt động Giọng nói để cải thiện khả năng phản hồi của bộ nhận dạng bằng cách gửi giọng nói đi nhận dạng ngay khi người dùng ngừng nói, thay vì chờ đợi các khoảng thời gian cố định. Silero VAD đặc biệt được khuyến nghị cho mục đích này. Để biết hướng dẫn triển khai chi tiết, hãy xem tài liệu Phát hiện Hoạt động Giọng nói.

  2. Giảm Kích thước Bước

    Theo mặc định, kích thước bước là 5000 ms (5 giây), nghĩa là dữ liệu âm thanh được nhận dạng mỗi 5 giây trong quá trình thu âm. Nếu bạn muốn nhận dạng dữ liệu âm thanh thường xuyên hơn, bạn có thể giảm kích thước bước, chẳng hạn như xuống 500 ms (0,5 giây). Tuy nhiên, nếu VAD đang hoạt động (thường được khuyến nghị trừ khi bạn có yêu cầu cụ thể cần khoảng thời gian cố định), thì không nên dựa vào việc giảm kích thước bước. Khi sử dụng VAD trong các thiết lập điển hình như Nhận dạng Lệnh Kích hoạt bằng Giọng nói hoặc Nhận dạng Giọng nói Tự động Khởi tạo với Xử lý Bộ đệm Cuối cùng, giọng nói sẽ được nhận dạng ngay khi người dùng ngừng nói.

  3. Sử dụng Mô hình Ngôn ngữ Nhỏ hơn

    Bạn có thể cân nhắc sử dụng một mô hình ngôn ngữ nhỏ hơn, chẳng hạn như Tiny Quantized (Q5_1), để giảm kích thước mô hình và cải thiện hiệu suất. Hướng dẫn về cách chọn mô hình ngôn ngữ có thể được tìm thấy tại đây.

  4. Tối ưu hóa Quản lý Trạng thái Nhận dạng

    Khi làm việc với đầu vào micrô, hãy tránh dừng và khởi động lại bộ nhận dạng giọng nói không cần thiết. Thay vì gọi StopSpeechRecognitionStartSpeechRecognition thường xuyên, điều này yêu cầu cấp phát lại tài nguyên, hãy cân nhắc kiểm soát trực tiếp luồng âm thanh. Ví dụ, với một sóng âm có thể thu, hãy sử dụng StopCaptureStartCapture để quản lý luồng âm thanh trong khi vẫn giữ luồng nhận dạng hoạt động.