Thư viện để phát hiện hoạt động bằng giọng nói (Không nhận dạng giọng nói)


18

Theo câu hỏi trước đây của tôi, tôi đã tự hỏi nếu có bất kỳ thư viện phát hiện giọng nói nào đang tồn tại. Bằng cách phát hiện giọng nói, tôi có nghĩa là chuyển vào bộ đệm âm thanh và lấy lại chỉ mục nơi lời nói bắt đầu và dừng lại. Vì vậy, nếu tôi có 10 giây lấy mẫu âm thanh ở 44kHz, tôi sẽ mong đợi một loạt các số như:

44000
88000
123000
190334
...

Điều này cho thấy ví dụ rằng bài phát biểu bắt đầu một giây và sau đó kết thúc tại hai điểm thứ hai, v.v.

Điều tôi không tìm kiếm là nhận dạng giọng nói viết ra văn bản từ lời nói. Thật không may, đây là điều tôi thấy rất nhiều khi tôi google 'phát hiện giọng nói'.

Sẽ thật tuyệt nếu thư viện ở dạng C, C ++ hoặc thậm chí là Objective-C khi tôi đang viết một ứng dụng cho iPhone.

Cảm ơn!


1
Bạn có thể tìm thấy câu trả lời của mình trong một trong những câu trả lời sau: dsp.stackexchange.com/questions/912/iêu
Geerten

1
Điều này rất giống nhau, ngoại trừ hát thay vì lời nói: dsp.stackexchange.com/q/2367/29
endolith

1
Cũng có liên quan: dsp.stackexchange.com/a/1543/29 "phát hiện hoạt động bằng giọng nói"
endolith

1
Bạn nên xem xét phát hiện khởi phát / bù. Đây là một lĩnh vực hoạt động với nhiều ứng dụng trong xử lý tín hiệu âm nhạc, lời nói và radar.
CyberMen

Câu trả lời:


13

Trong câu trả lời của tôi cho câu hỏi đó của bạn, tôi đã đề cập rằng Phát hiện hoạt động bằng giọng nói là một tính năng tiêu chuẩn cho các codec như G.729 và các loại khác.

Bạn nên tìm kiếm các bộ mã hóa và giải mã tham chiếu cho các thuật toán áp dụng điều này.

Một ví dụ như vậy là - http://www.voiceage.com/openinit_g729.php

Một nguồn có thể khác là Speex codec. Mà thực hiện VAD

BTW: Bạn nên google "Phát hiện hoạt động giọng nói" hoặc "Nói chuyện bằng giọng nói" thay vì "Phát hiện giọng nói".


6

Có các triển khai nguồn mở trong các dự án Sphinx và Freeswitch. Tôi nghĩ rằng tất cả chúng là các máy dò dựa trên năng lượng sẽ không cần bất kỳ mô hình loại nào.

Sphinx 4 (Java nhưng nên dễ dàng chuyển sang C / C ++)

PocketSphinx

Freeswitch

Trả lời lấy từ câu hỏi Stackoverflow .


4

Phát hiện hoạt động bằng giọng nói bằng Ngưỡng thích ứng rất dễ dàng và tiện dụng để thực hiện trên mọi nền tảng

Ở đây bạn có thể có một thuật toán dựa trên Năng lượng Thích ứng

Một bổ sung nhỏ cho thuật toán trên khi bạn đang tính toán lần đầu tiên, hãy lấy Nghĩa năng lượng và đánh dấu là Emin

trong trường hợp này, khung bạn vượt qua được chia thành các khung phụ và hơn nữa bạn có thể kiểm tra từng khung phụ cho hoạt động của nó

bạn có thể khắc phục các vấn đề khác với các khung chồng chéo


Tôi đang cố gắng thực hiện phương pháp trong bài báo nhưng bị lạc khi Min_E bằng 0 do triệt tiêu nhiễu. Trong trường hợp đó, Thresh_E sẽ là -INF từ phương trình. Ngay cả khi lấy log1p (Min_E), Thresh_E sẽ bằng 0 do đó rất dễ phân loại sai các khung có tiếng vì năng lượng khác không. Bất kỳ đề nghị tốt hoặc tôi hiểu lầm nó? Phương trình: Thresh _ E Energy _ Pr imThresh * log (Min _ E)
Farley

3

LibVAD thì sao?

Có vẻ như đó chính xác là những gì bạn đang mô tả.

Tiết lộ: Tôi là nhà phát triển đằng sau LibVAD


Làm thế nào để có được libVAD?
chập chững

Bằng cách mua nó. Tuy nhiên, trang web không tiết lộ giá cho đến khi bạn điền vào một biểu mẫu.
Camille Goudeseune

2
Liên kết bây giờ đi đến một trang web phần mềm độc hại muốn khách truy cập cập nhật flash.
Steve Severance
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.